Documentation ¶
Overview ¶
+kubebuilder:object:generate=true +groupName=gateway.gloo.solo.io
Index ¶
- Constants
- Variables
- type AiExtension
- func (in *AiExtension) DeepCopy() *AiExtension
- func (in *AiExtension) DeepCopyInto(out *AiExtension)
- func (in *AiExtension) GetEnabled() *bool
- func (in *AiExtension) GetEnv() []*corev1.EnvVar
- func (in *AiExtension) GetImage() *Image
- func (in *AiExtension) GetPorts() []*corev1.ContainerPort
- func (in *AiExtension) GetResources() *corev1.ResourceRequirements
- func (in *AiExtension) GetSecurityContext() *corev1.SecurityContext
- func (in *AiExtension) GetStats() *AiExtensionStats
- type AiExtensionStats
- type CustomLabel
- type DirectResponse
- type DirectResponseList
- type DirectResponseSpec
- type DirectResponseStatus
- type EnvoyBootstrap
- type EnvoyContainer
- func (in *EnvoyContainer) DeepCopy() *EnvoyContainer
- func (in *EnvoyContainer) DeepCopyInto(out *EnvoyContainer)
- func (in *EnvoyContainer) GetBootstrap() *EnvoyBootstrap
- func (in *EnvoyContainer) GetImage() *Image
- func (in *EnvoyContainer) GetResources() *corev1.ResourceRequirements
- func (in *EnvoyContainer) GetSecurityContext() *corev1.SecurityContext
- type GatewayParameters
- type GatewayParametersList
- type GatewayParametersSpec
- type GatewayParametersStatus
- type GracefulShutdownSpec
- type Image
- type IstioContainer
- func (in *IstioContainer) DeepCopy() *IstioContainer
- func (in *IstioContainer) DeepCopyInto(out *IstioContainer)
- func (in *IstioContainer) GetImage() *Image
- func (in *IstioContainer) GetIstioDiscoveryAddress() *string
- func (in *IstioContainer) GetIstioMetaClusterId() *string
- func (in *IstioContainer) GetIstioMetaMeshId() *string
- func (in *IstioContainer) GetLogLevel() *string
- func (in *IstioContainer) GetResources() *corev1.ResourceRequirements
- func (in *IstioContainer) GetSecurityContext() *corev1.SecurityContext
- type IstioIntegration
- type KubernetesProxyConfig
- func (in *KubernetesProxyConfig) DeepCopy() *KubernetesProxyConfig
- func (in *KubernetesProxyConfig) DeepCopyInto(out *KubernetesProxyConfig)
- func (in *KubernetesProxyConfig) GetAiExtension() *AiExtension
- func (in *KubernetesProxyConfig) GetDeployment() *ProxyDeployment
- func (in *KubernetesProxyConfig) GetEnvoyContainer() *EnvoyContainer
- func (in *KubernetesProxyConfig) GetFloatingUserId() *bool
- func (in *KubernetesProxyConfig) GetIstio() *IstioIntegration
- func (in *KubernetesProxyConfig) GetPodTemplate() *Pod
- func (in *KubernetesProxyConfig) GetSdsContainer() *SdsContainer
- func (in *KubernetesProxyConfig) GetService() *Service
- func (in *KubernetesProxyConfig) GetServiceAccount() *ServiceAccount
- func (in *KubernetesProxyConfig) GetStats() *StatsConfig
- type Pod
- func (in *Pod) DeepCopy() *Pod
- func (in *Pod) DeepCopyInto(out *Pod)
- func (in *Pod) GetAffinity() *corev1.Affinity
- func (in *Pod) GetExtraAnnotations() map[string]string
- func (in *Pod) GetExtraLabels() map[string]string
- func (in *Pod) GetGracefulShutdown() *GracefulShutdownSpec
- func (in *Pod) GetImagePullSecrets() []corev1.LocalObjectReference
- func (in *Pod) GetLivenessProbe() *corev1.Probe
- func (in *Pod) GetNodeSelector() map[string]string
- func (in *Pod) GetReadinessProbe() *corev1.Probe
- func (in *Pod) GetSecurityContext() *corev1.PodSecurityContext
- func (in *Pod) GetTerminationGracePeriodSeconds() *int
- func (in *Pod) GetTolerations() []*corev1.Toleration
- type ProxyDeployment
- type SdsBootstrap
- type SdsContainer
- func (in *SdsContainer) DeepCopy() *SdsContainer
- func (in *SdsContainer) DeepCopyInto(out *SdsContainer)
- func (in *SdsContainer) GetBootstrap() *SdsBootstrap
- func (in *SdsContainer) GetImage() *Image
- func (in *SdsContainer) GetResources() *corev1.ResourceRequirements
- func (in *SdsContainer) GetSecurityContext() *corev1.SecurityContext
- type SelfManagedGateway
- type Service
- type ServiceAccount
- type StatsConfig
- func (in *StatsConfig) DeepCopy() *StatsConfig
- func (in *StatsConfig) DeepCopyInto(out *StatsConfig)
- func (in *StatsConfig) GetEnableStatsRoute() *bool
- func (in *StatsConfig) GetEnabled() *bool
- func (in *StatsConfig) GetRoutePrefixRewrite() *string
- func (in *StatsConfig) GetStatsRoutePrefixRewrite() *string
Constants ¶
const ( Group = "gateway.gloo.solo.io" Version = "v1alpha1" // GatewayParametersKind is the kind for the GatewayParameters CRD. GatewayParametersKind = "GatewayParameters" // DirectResponseKind is the kind for the DirectResponse CRD. DirectResponseKind = "DirectResponse" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: Group, Version: Version} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme GatewayParametersGVK = schema.GroupVersionKind{ Group: Group, Version: Version, Kind: GatewayParametersKind, } DirectResponseGVK = schema.GroupVersionKind{ Group: Group, Version: Version, Kind: DirectResponseKind, } )
Functions ¶
This section is empty.
Types ¶
type AiExtension ¶ added in v1.18.0
type AiExtension struct { // Whether to enable the extension. // // +kubebuilder:validation:Optional Enabled *bool `json:"enabled,omitempty"` // The extension's container image. See // https://kubernetes.io/docs/concepts/containers/images // for details. // // +kubebuilder:validation:Optional Image *Image `json:"image,omitempty"` // The security context for this container. See // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core // for details. // // +kubebuilder:validation:Optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` // The compute resources required by this container. See // https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // for details. // // +kubebuilder:validation:Optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // The extension's container environment variables. // // +kubebuilder:validation:Optional Env []*corev1.EnvVar `json:"env,omitempty"` // The extensions's container ports. // // +kubebuilder:validation:Optional Ports []*corev1.ContainerPort `json:"ports,omitempty"` // Additional stats config for AI Extension. // This config can be useful for adding custom labels to the request metrics. // +optional // // Example: // “`yaml // stats: // customLabels: // - name: "subject" // metadataNamespace: "envoy.filters.http.jwt_authn" // metadataKey: "principal:sub" // - name: "issuer" // metadataNamespace: "envoy.filters.http.jwt_authn" // metadataKey: "principal:iss" // “` Stats *AiExtensionStats `json:"stats,omitempty"` }
Configuration for the AI extension.
func (*AiExtension) DeepCopy ¶ added in v1.18.0
func (in *AiExtension) DeepCopy() *AiExtension
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiExtension.
func (*AiExtension) DeepCopyInto ¶ added in v1.18.0
func (in *AiExtension) DeepCopyInto(out *AiExtension)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AiExtension) GetEnabled ¶ added in v1.18.0
func (in *AiExtension) GetEnabled() *bool
func (*AiExtension) GetEnv ¶ added in v1.18.0
func (in *AiExtension) GetEnv() []*corev1.EnvVar
func (*AiExtension) GetImage ¶ added in v1.18.0
func (in *AiExtension) GetImage() *Image
func (*AiExtension) GetPorts ¶ added in v1.18.0
func (in *AiExtension) GetPorts() []*corev1.ContainerPort
func (*AiExtension) GetResources ¶ added in v1.18.0
func (in *AiExtension) GetResources() *corev1.ResourceRequirements
func (*AiExtension) GetSecurityContext ¶ added in v1.18.0
func (in *AiExtension) GetSecurityContext() *corev1.SecurityContext
func (*AiExtension) GetStats ¶ added in v1.18.0
func (in *AiExtension) GetStats() *AiExtensionStats
type AiExtensionStats ¶ added in v1.18.0
type AiExtensionStats struct { // Set of custom labels to be added to the request metrics. // These will be added on each request which goes through the AI Extension. // +optional CustomLabels []*CustomLabel `json:"customLabels,omitempty"` }
func (*AiExtensionStats) DeepCopy ¶ added in v1.18.0
func (in *AiExtensionStats) DeepCopy() *AiExtensionStats
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiExtensionStats.
func (*AiExtensionStats) DeepCopyInto ¶ added in v1.18.0
func (in *AiExtensionStats) DeepCopyInto(out *AiExtensionStats)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AiExtensionStats) GetCustomLabels ¶ added in v1.18.0
func (in *AiExtensionStats) GetCustomLabels() []*CustomLabel
type CustomLabel ¶ added in v1.18.0
type CustomLabel struct { // Name of the label to use in the prometheus metrics // // +kubebuilder:validation:MinLength=1 Name string `json:"name"` // The dynamic metadata namespace to get the data from. If not specified, the default namespace will be // the envoy JWT filter namespace. // This can also be used in combination with early_transformations to insert custom data. // +optional // // +kubebuilder:validation:Enum=envoy.filters.http.jwt_authn;io.solo.transformation MetadataNamespace *string `json:"metadataNamespace,omitempty"` // The key to use to get the data from the metadata namespace. // If using a JWT data please see the following envoy docs: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/jwt_authn/v3/config.proto#envoy-v3-api-field-extensions-filters-http-jwt-authn-v3-jwtprovider-payload-in-metadata // This key follows the same format as the envoy access logging for dynamic metadata. // Examples can be found here: https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage // // +kubebuilder:validation:MinLength=1 MetdataKey string `json:"metadataKey"` // The key delimiter to use, by default this is set to `:`. // This allows for keys with `.` in them to be used. // For example, if you have keys in your path with `:` in them, (e.g. `key1:key2:value`) // you can instead set this to `~` to be able to split those keys properly. // +optional KeyDelimiter *string `json:"keyDelimiter,omitempty"` }
func (*CustomLabel) DeepCopy ¶ added in v1.18.0
func (in *CustomLabel) DeepCopy() *CustomLabel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomLabel.
func (*CustomLabel) DeepCopyInto ¶ added in v1.18.0
func (in *CustomLabel) DeepCopyInto(out *CustomLabel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CustomLabel) GetKeyDelimiter ¶ added in v1.18.0
func (in *CustomLabel) GetKeyDelimiter() *string
func (*CustomLabel) GetMetadataNamespace ¶ added in v1.18.0
func (in *CustomLabel) GetMetadataNamespace() *string
func (*CustomLabel) GetMetdataKey ¶ added in v1.18.0
func (in *CustomLabel) GetMetdataKey() string
func (*CustomLabel) GetName ¶ added in v1.18.0
func (in *CustomLabel) GetName() string
type DirectResponse ¶ added in v1.18.0
type DirectResponse struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DirectResponseSpec `json:"spec,omitempty"` Status DirectResponseStatus `json:"status,omitempty"` }
DirectResponse contains configuration for defining direct response routes.
+kubebuilder:object:root=true +kubebuilder:metadata:labels={app=gloo-gateway,app.kubernetes.io/name=gloo-gateway} +kubebuilder:resource:categories=gloo-gateway,shortName=dr +kubebuilder:subresource:status
func (*DirectResponse) DeepCopy ¶ added in v1.18.0
func (in *DirectResponse) DeepCopy() *DirectResponse
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectResponse.
func (*DirectResponse) DeepCopyInto ¶ added in v1.18.0
func (in *DirectResponse) DeepCopyInto(out *DirectResponse)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DirectResponse) DeepCopyObject ¶ added in v1.18.0
func (in *DirectResponse) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DirectResponse) GetBody ¶ added in v1.18.0
func (in *DirectResponse) GetBody() string
GetBody returns the content to be returned in the HTTP response body.
func (*DirectResponse) GetStatusCode ¶ added in v1.18.0
func (in *DirectResponse) GetStatusCode() uint32
GetStatus returns the HTTP status code to return for this route.
type DirectResponseList ¶ added in v1.18.0
type DirectResponseList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DirectResponse `json:"items"` }
+kubebuilder:object:root=true
func (*DirectResponseList) DeepCopy ¶ added in v1.18.0
func (in *DirectResponseList) DeepCopy() *DirectResponseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectResponseList.
func (*DirectResponseList) DeepCopyInto ¶ added in v1.18.0
func (in *DirectResponseList) DeepCopyInto(out *DirectResponseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DirectResponseList) DeepCopyObject ¶ added in v1.18.0
func (in *DirectResponseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DirectResponseSpec ¶ added in v1.18.0
type DirectResponseSpec struct { // StatusCode defines the HTTP status code to return for this route. // // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=200 // +kubebuilder:validation:Maximum=599 StatusCode uint32 `json:"status"` // Body defines the content to be returned in the HTTP response body. // The maximum length of the body is restricted to prevent excessively large responses. // // +kubebuilder:validation:MaxLength=4096 // +kubebuilder:validation:Optional Body string `json:"body,omitempty"` }
DirectResponseSpec describes the desired state of a DirectResponse.
func (*DirectResponseSpec) DeepCopy ¶ added in v1.18.0
func (in *DirectResponseSpec) DeepCopy() *DirectResponseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectResponseSpec.
func (*DirectResponseSpec) DeepCopyInto ¶ added in v1.18.0
func (in *DirectResponseSpec) DeepCopyInto(out *DirectResponseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DirectResponseStatus ¶ added in v1.18.0
type DirectResponseStatus struct{}
DirectResponseStatus defines the observed state of a DirectResponse.
func (*DirectResponseStatus) DeepCopy ¶ added in v1.18.0
func (in *DirectResponseStatus) DeepCopy() *DirectResponseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectResponseStatus.
func (*DirectResponseStatus) DeepCopyInto ¶ added in v1.18.0
func (in *DirectResponseStatus) DeepCopyInto(out *DirectResponseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyBootstrap ¶
type EnvoyBootstrap struct { // Envoy log level. Options include "trace", "debug", "info", "warn", "error", // "critical" and "off". Defaults to "info". See // https://www.envoyproxy.io/docs/envoy/latest/start/quick-start/run-envoy#debugging-envoy // for more information. // // +kubebuilder:validation:Optional LogLevel *string `json:"logLevel,omitempty"` // Envoy log levels for specific components. The keys are component names and // the values are one of "trace", "debug", "info", "warn", "error", // "critical", or "off", e.g. // // “`yaml // componentLogLevels: // upstream: debug // connection: trace // “` // // These will be converted to the `--component-log-level` Envoy argument // value. See // https://www.envoyproxy.io/docs/envoy/latest/start/quick-start/run-envoy#debugging-envoy // for more information. // // Note: the keys and values cannot be empty, but they are not otherwise validated. // // +kubebuilder:validation:Optional ComponentLogLevels map[string]string `json:"componentLogLevels,omitempty"` }
Configuration for the Envoy proxy instance that is provisioned from a Kubernetes Gateway.
func (*EnvoyBootstrap) DeepCopy ¶
func (in *EnvoyBootstrap) DeepCopy() *EnvoyBootstrap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyBootstrap.
func (*EnvoyBootstrap) DeepCopyInto ¶
func (in *EnvoyBootstrap) DeepCopyInto(out *EnvoyBootstrap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyBootstrap) GetComponentLogLevels ¶
func (in *EnvoyBootstrap) GetComponentLogLevels() map[string]string
func (*EnvoyBootstrap) GetLogLevel ¶
func (in *EnvoyBootstrap) GetLogLevel() *string
type EnvoyContainer ¶
type EnvoyContainer struct { // Initial envoy configuration. // // +kubebuilder:validation:Optional Bootstrap *EnvoyBootstrap `json:"bootstrap,omitempty"` // The envoy container image. See // https://kubernetes.io/docs/concepts/containers/images // for details. // // Default values, which may be overridden individually: // // registry: quay.io/solo-io // repository: gloo-envoy-wrapper (OSS) / gloo-ee-envoy-wrapper (EE) // tag: <gloo version> (OSS) / <gloo-ee version> (EE) // pullPolicy: IfNotPresent // // +kubebuilder:validation:Optional Image *Image `json:"image,omitempty"` // The security context for this container. See // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core // for details. // // +kubebuilder:validation:Optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` // The compute resources required by this container. See // https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // for details. // // +kubebuilder:validation:Optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` }
Configuration for the container running Envoy.
func (*EnvoyContainer) DeepCopy ¶
func (in *EnvoyContainer) DeepCopy() *EnvoyContainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyContainer.
func (*EnvoyContainer) DeepCopyInto ¶
func (in *EnvoyContainer) DeepCopyInto(out *EnvoyContainer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyContainer) GetBootstrap ¶
func (in *EnvoyContainer) GetBootstrap() *EnvoyBootstrap
func (*EnvoyContainer) GetImage ¶
func (in *EnvoyContainer) GetImage() *Image
func (*EnvoyContainer) GetResources ¶
func (in *EnvoyContainer) GetResources() *corev1.ResourceRequirements
func (*EnvoyContainer) GetSecurityContext ¶
func (in *EnvoyContainer) GetSecurityContext() *corev1.SecurityContext
type GatewayParameters ¶
type GatewayParameters struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GatewayParametersSpec `json:"spec,omitempty"` Status GatewayParametersStatus `json:"status,omitempty"` }
A GatewayParameters contains configuration that is used to dynamically provision Gloo Gateway's data plane (Envoy proxy instance), based on a Kubernetes Gateway.
+kubebuilder:object:root=true +kubebuilder:metadata:labels={app=gloo-gateway,app.kubernetes.io/name=gloo-gateway} +kubebuilder:resource:categories=gloo-gateway,shortName=gwp +kubebuilder:subresource:status
func (*GatewayParameters) DeepCopy ¶
func (in *GatewayParameters) DeepCopy() *GatewayParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayParameters.
func (*GatewayParameters) DeepCopyInto ¶
func (in *GatewayParameters) DeepCopyInto(out *GatewayParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GatewayParameters) DeepCopyObject ¶
func (in *GatewayParameters) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GatewayParametersList ¶
type GatewayParametersList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GatewayParameters `json:"items"` }
+kubebuilder:object:root=true
func (*GatewayParametersList) DeepCopy ¶
func (in *GatewayParametersList) DeepCopy() *GatewayParametersList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayParametersList.
func (*GatewayParametersList) DeepCopyInto ¶
func (in *GatewayParametersList) DeepCopyInto(out *GatewayParametersList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GatewayParametersList) DeepCopyObject ¶
func (in *GatewayParametersList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GatewayParametersSpec ¶
type GatewayParametersSpec struct { // The proxy will be deployed on Kubernetes. // // +kubebuilder:validation:Optional Kube *KubernetesProxyConfig `json:"kube,omitempty"` // The proxy will be self-managed and not auto-provisioned. // // +kubebuilder:validation:Optional // +kubebuilder:pruning:PreserveUnknownFields SelfManaged *SelfManagedGateway `json:"selfManaged,omitempty"` }
A GatewayParametersSpec describes the type of environment/platform in which the proxy will be provisioned.
+kubebuilder:validation:XValidation:message="only one of 'kube' or 'selfManaged' may be set",rule="(has(self.kube) && !has(self.selfManaged)) || (!has(self.kube) && has(self.selfManaged))"
func (*GatewayParametersSpec) DeepCopy ¶
func (in *GatewayParametersSpec) DeepCopy() *GatewayParametersSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayParametersSpec.
func (*GatewayParametersSpec) DeepCopyInto ¶
func (in *GatewayParametersSpec) DeepCopyInto(out *GatewayParametersSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GatewayParametersStatus ¶
type GatewayParametersStatus struct { }
The current conditions of the GatewayParameters. This is not currently implemented.
func (*GatewayParametersStatus) DeepCopy ¶
func (in *GatewayParametersStatus) DeepCopy() *GatewayParametersStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayParametersStatus.
func (*GatewayParametersStatus) DeepCopyInto ¶
func (in *GatewayParametersStatus) DeepCopyInto(out *GatewayParametersStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GracefulShutdownSpec ¶ added in v1.18.0
type GracefulShutdownSpec struct { // Enable grace period before shutdown to finish current requests while Envoy health checks fail to e.g. notify external load balancers. *NOTE:* This will not have any effect if you have not defined health checks via the health check filter // // +kubebuilder:validation:Optional Enabled *bool `json:"enabled,omitempty"` // Time (in seconds) for the preStop hook to wait before allowing Envoy to terminate // // +kubebuilder:validation:Optional SleepTimeSeconds *int `json:"sleepTimeSeconds,omitempty"` }
func (*GracefulShutdownSpec) DeepCopy ¶ added in v1.18.0
func (in *GracefulShutdownSpec) DeepCopy() *GracefulShutdownSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GracefulShutdownSpec.
func (*GracefulShutdownSpec) DeepCopyInto ¶ added in v1.18.0
func (in *GracefulShutdownSpec) DeepCopyInto(out *GracefulShutdownSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GracefulShutdownSpec) GetEnabled ¶ added in v1.18.0
func (in *GracefulShutdownSpec) GetEnabled() *bool
func (*GracefulShutdownSpec) GetSleepTimeSeconds ¶ added in v1.18.0
func (in *GracefulShutdownSpec) GetSleepTimeSeconds() *int
type Image ¶
type Image struct { // The image registry. // // +kubebuilder:validation:Optional Registry *string `json:"registry,omitempty"` // The image repository (name). // // +kubebuilder:validation:Optional Repository *string `json:"repository,omitempty"` // The image tag. // // +kubebuilder:validation:Optional Tag *string `json:"tag,omitempty"` // The hash digest of the image, e.g. `sha256:12345...` // // +kubebuilder:validation:Optional Digest *string `json:"digest,omitempty"` // The image pull policy for the container. See // https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy // for details. // // +kubebuilder:validation:Optional PullPolicy *corev1.PullPolicy `json:"pullPolicy,omitempty"` }
A container image. See https://kubernetes.io/docs/concepts/containers/images for details.
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Image) GetPullPolicy ¶
func (in *Image) GetPullPolicy() *corev1.PullPolicy
func (*Image) GetRegistry ¶
func (*Image) GetRepository ¶
type IstioContainer ¶
type IstioContainer struct { // The envoy container image. See // https://kubernetes.io/docs/concepts/containers/images // for details. // // +kubebuilder:validation:Optional Image *Image `json:"image,omitempty"` // The security context for this container. See // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core // for details. // // +kubebuilder:validation:Optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` // The compute resources required by this container. See // https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // for details. // // +kubebuilder:validation:Optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Log level for istio-proxy. Options include "info", "debug", "warning", and "error". // Default level is info Default is "warning". // // +kubebuilder:validation:Optional LogLevel *string `json:"logLevel,omitempty"` // The address of the istio discovery service. Defaults to "istiod.istio-system.svc:15012". // // +kubebuilder:validation:Optional IstioDiscoveryAddress *string `json:"istioDiscoveryAddress,omitempty"` // The mesh id of the istio mesh. Defaults to "cluster.local". // // +kubebuilder:validation:Optional IstioMetaMeshId *string `json:"istioMetaMeshId,omitempty"` // The cluster id of the istio cluster. Defaults to "Kubernetes". // // +kubebuilder:validation:Optional IstioMetaClusterId *string `json:"istioMetaClusterId,omitempty"` }
Configuration for the container running the istio-proxy.
func (*IstioContainer) DeepCopy ¶
func (in *IstioContainer) DeepCopy() *IstioContainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioContainer.
func (*IstioContainer) DeepCopyInto ¶
func (in *IstioContainer) DeepCopyInto(out *IstioContainer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IstioContainer) GetImage ¶
func (in *IstioContainer) GetImage() *Image
func (*IstioContainer) GetIstioDiscoveryAddress ¶
func (in *IstioContainer) GetIstioDiscoveryAddress() *string
func (*IstioContainer) GetIstioMetaClusterId ¶
func (in *IstioContainer) GetIstioMetaClusterId() *string
func (*IstioContainer) GetIstioMetaMeshId ¶
func (in *IstioContainer) GetIstioMetaMeshId() *string
func (*IstioContainer) GetLogLevel ¶
func (in *IstioContainer) GetLogLevel() *string
func (*IstioContainer) GetResources ¶
func (in *IstioContainer) GetResources() *corev1.ResourceRequirements
func (*IstioContainer) GetSecurityContext ¶
func (in *IstioContainer) GetSecurityContext() *corev1.SecurityContext
type IstioIntegration ¶
type IstioIntegration struct { // Configuration for the container running istio-proxy. // Note that if Istio integration is not enabled, the istio container will not be injected // into the gateway proxy deployment. // // +kubebuilder:validation:Optional IstioProxyContainer *IstioContainer `json:"istioProxyContainer,omitempty"` // Override the default Istio sidecar in gateway-proxy with a custom container. // // +kubebuilder:validation:Optional CustomSidecars []*corev1.Container `json:"customSidecars,omitempty"` }
Configuration for the Istio integration settings used by a Gloo Gateway's data plane (Envoy proxy instance)
func (*IstioIntegration) DeepCopy ¶
func (in *IstioIntegration) DeepCopy() *IstioIntegration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioIntegration.
func (*IstioIntegration) DeepCopyInto ¶
func (in *IstioIntegration) DeepCopyInto(out *IstioIntegration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IstioIntegration) GetCustomSidecars ¶
func (in *IstioIntegration) GetCustomSidecars() []*corev1.Container
func (*IstioIntegration) GetIstioProxyContainer ¶
func (in *IstioIntegration) GetIstioProxyContainer() *IstioContainer
type KubernetesProxyConfig ¶
type KubernetesProxyConfig struct { // Use a Kubernetes deployment as the proxy workload type. Currently, this is the only // supported workload type. // // +kubebuilder:validation:Optional Deployment *ProxyDeployment `json:"deployment,omitempty"` // Configuration for the container running Envoy. // // +kubebuilder:validation:Optional EnvoyContainer *EnvoyContainer `json:"envoyContainer,omitempty"` // Configuration for the container running the Secret Discovery Service (SDS). // // +kubebuilder:validation:Optional SdsContainer *SdsContainer `json:"sdsContainer,omitempty"` // Configuration for the pods that will be created. // // +kubebuilder:validation:Optional PodTemplate *Pod `json:"podTemplate,omitempty"` // Configuration for the Kubernetes Service that exposes the Envoy proxy over // the network. // // +kubebuilder:validation:Optional Service *Service `json:"service,omitempty"` // Configuration for the Kubernetes ServiceAccount used by the Envoy pod. // // +kubebuilder:validation:Optional ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"` // Configuration for the Istio integration. // // +kubebuilder:validation:Optional Istio *IstioIntegration `json:"istio,omitempty"` // Configuration for the stats server. // // +kubebuilder:validation:Optional Stats *StatsConfig `json:"stats,omitempty"` // Configuration for the AI extension. // // +kubebuilder:validation:Optional AiExtension *AiExtension `json:"aiExtension,omitempty"` // Used to unset the `runAsUser` values in security contexts. FloatingUserId *bool `json:"floatingUserId,omitempty"` }
Configuration for the set of Kubernetes resources that will be provisioned for a given Gateway.
func (*KubernetesProxyConfig) DeepCopy ¶
func (in *KubernetesProxyConfig) DeepCopy() *KubernetesProxyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesProxyConfig.
func (*KubernetesProxyConfig) DeepCopyInto ¶
func (in *KubernetesProxyConfig) DeepCopyInto(out *KubernetesProxyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubernetesProxyConfig) GetAiExtension ¶ added in v1.18.0
func (in *KubernetesProxyConfig) GetAiExtension() *AiExtension
func (*KubernetesProxyConfig) GetDeployment ¶
func (in *KubernetesProxyConfig) GetDeployment() *ProxyDeployment
func (*KubernetesProxyConfig) GetEnvoyContainer ¶
func (in *KubernetesProxyConfig) GetEnvoyContainer() *EnvoyContainer
func (*KubernetesProxyConfig) GetFloatingUserId ¶ added in v1.17.3
func (in *KubernetesProxyConfig) GetFloatingUserId() *bool
func (*KubernetesProxyConfig) GetIstio ¶
func (in *KubernetesProxyConfig) GetIstio() *IstioIntegration
func (*KubernetesProxyConfig) GetPodTemplate ¶
func (in *KubernetesProxyConfig) GetPodTemplate() *Pod
func (*KubernetesProxyConfig) GetSdsContainer ¶
func (in *KubernetesProxyConfig) GetSdsContainer() *SdsContainer
func (*KubernetesProxyConfig) GetService ¶
func (in *KubernetesProxyConfig) GetService() *Service
func (*KubernetesProxyConfig) GetServiceAccount ¶ added in v1.17.16
func (in *KubernetesProxyConfig) GetServiceAccount() *ServiceAccount
func (*KubernetesProxyConfig) GetStats ¶
func (in *KubernetesProxyConfig) GetStats() *StatsConfig
type Pod ¶
type Pod struct { // Additional labels to add to the Pod object metadata. // // +kubebuilder:validation:Optional ExtraLabels map[string]string `json:"extraLabels,omitempty"` // Additional annotations to add to the Pod object metadata. // // +kubebuilder:validation:Optional ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty"` // The pod security context. See // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#podsecuritycontext-v1-core // for details. // // +kubebuilder:validation:Optional SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"` // An optional list of references to secrets in the same namespace to use for // pulling any of the images used by this Pod spec. See // https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod // for details. // // +kubebuilder:validation:Optional ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // A selector which must be true for the pod to fit on a node. See // https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ for // details. // // +kubebuilder:validation:Optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // If specified, the pod's scheduling constraints. See // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#affinity-v1-core // for details. // // +kubebuilder:validation:Optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // If specified, the pod's tolerations. See // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#toleration-v1-core // for details. // // +kubebuilder:validation:Optional Tolerations []*corev1.Toleration `json:"tolerations,omitempty"` // If specified, the pod's graceful shutdown spec. // // +kubebuilder:validation:Optional GracefulShutdown *GracefulShutdownSpec `json:"gracefulShutdown,omitempty"` // If specified, the pod's termination grace period in seconds. See // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#pod-v1-core // for details // // +kubebuilder:validation:Optional TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"` // If specified, the pod's readiness probe. Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. See // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#probe-v1-core // for details. // // +kubebuilder:validation:Optional ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"` // If specified, the pod's liveness probe. Periodic probe of container service readiness. // Container will be restarted if the probe fails. See // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#probe-v1-core // for details. // // +kubebuilder:validation:Optional LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"` }
Configuration for a Kubernetes Pod template.
func (*Pod) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.
func (*Pod) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Pod) GetAffinity ¶
func (*Pod) GetExtraAnnotations ¶
func (*Pod) GetExtraLabels ¶
func (*Pod) GetGracefulShutdown ¶ added in v1.18.0
func (in *Pod) GetGracefulShutdown() *GracefulShutdownSpec
func (*Pod) GetImagePullSecrets ¶
func (in *Pod) GetImagePullSecrets() []corev1.LocalObjectReference
func (*Pod) GetLivenessProbe ¶ added in v1.18.0
func (*Pod) GetNodeSelector ¶
func (*Pod) GetReadinessProbe ¶ added in v1.18.0
func (*Pod) GetSecurityContext ¶
func (in *Pod) GetSecurityContext() *corev1.PodSecurityContext
func (*Pod) GetTerminationGracePeriodSeconds ¶ added in v1.18.0
func (*Pod) GetTolerations ¶
func (in *Pod) GetTolerations() []*corev1.Toleration
type ProxyDeployment ¶
type ProxyDeployment struct { // The number of desired pods. Defaults to 1. // // +kubebuilder:validation:Optional Replicas *uint32 `json:"replicas,omitempty"` }
Configuration for the Proxy deployment in Kubernetes.
func (*ProxyDeployment) DeepCopy ¶
func (in *ProxyDeployment) DeepCopy() *ProxyDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyDeployment.
func (*ProxyDeployment) DeepCopyInto ¶
func (in *ProxyDeployment) DeepCopyInto(out *ProxyDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxyDeployment) GetReplicas ¶
func (in *ProxyDeployment) GetReplicas() *uint32
type SdsBootstrap ¶
type SdsBootstrap struct { // Log level for SDS. Options include "info", "debug", "warn", "error", "panic" and "fatal". // Default level is "info". // // +kubebuilder:validation:Optional LogLevel *string `json:"logLevel,omitempty"` }
Configuration for the SDS instance that is provisioned from a Kubernetes Gateway.
func (*SdsBootstrap) DeepCopy ¶
func (in *SdsBootstrap) DeepCopy() *SdsBootstrap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SdsBootstrap.
func (*SdsBootstrap) DeepCopyInto ¶
func (in *SdsBootstrap) DeepCopyInto(out *SdsBootstrap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SdsBootstrap) GetLogLevel ¶
func (in *SdsBootstrap) GetLogLevel() *string
type SdsContainer ¶
type SdsContainer struct { // The SDS container image. See // https://kubernetes.io/docs/concepts/containers/images // for details. // // +kubebuilder:validation:Optional Image *Image `json:"image,omitempty"` // The security context for this container. See // https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core // for details. // // +kubebuilder:validation:Optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` // The compute resources required by this container. See // https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ // for details. // // +kubebuilder:validation:Optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Initial SDS container configuration. // // +kubebuilder:validation:Optional Bootstrap *SdsBootstrap `json:"bootstrap,omitempty"` }
Configuration for the container running Gloo SDS.
func (*SdsContainer) DeepCopy ¶
func (in *SdsContainer) DeepCopy() *SdsContainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SdsContainer.
func (*SdsContainer) DeepCopyInto ¶
func (in *SdsContainer) DeepCopyInto(out *SdsContainer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SdsContainer) GetBootstrap ¶
func (in *SdsContainer) GetBootstrap() *SdsBootstrap
func (*SdsContainer) GetImage ¶
func (in *SdsContainer) GetImage() *Image
func (*SdsContainer) GetResources ¶
func (in *SdsContainer) GetResources() *corev1.ResourceRequirements
func (*SdsContainer) GetSecurityContext ¶
func (in *SdsContainer) GetSecurityContext() *corev1.SecurityContext
type SelfManagedGateway ¶
type SelfManagedGateway struct { }
func (*SelfManagedGateway) DeepCopy ¶
func (in *SelfManagedGateway) DeepCopy() *SelfManagedGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelfManagedGateway.
func (*SelfManagedGateway) DeepCopyInto ¶
func (in *SelfManagedGateway) DeepCopyInto(out *SelfManagedGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Service ¶
type Service struct { // The Kubernetes Service type. // // +kubebuilder:validation:Optional Type *corev1.ServiceType `json:"type,omitempty"` // The manually specified IP address of the service, if a randomly assigned // IP is not desired. See // https://kubernetes.io/docs/concepts/services-networking/service/#choosing-your-own-ip-address // and // https://kubernetes.io/docs/concepts/services-networking/service/#headless-services // on the implications of setting `clusterIP`. // // +kubebuilder:validation:Optional ClusterIP *string `json:"clusterIP,omitempty"` // Additional labels to add to the Service object metadata. // // +kubebuilder:validation:Optional ExtraLabels map[string]string `json:"extraLabels,omitempty"` // Additional annotations to add to the Service object metadata. // // +kubebuilder:validation:Optional ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty"` }
Configuration for a Kubernetes Service.
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Service) GetClusterIP ¶
func (*Service) GetExtraAnnotations ¶
func (*Service) GetExtraLabels ¶
func (*Service) GetType ¶
func (in *Service) GetType() *corev1.ServiceType
type ServiceAccount ¶ added in v1.17.16
type ServiceAccount struct { // Additional labels to add to the ServiceAccount object metadata. // // +kubebuilder:validation:Optional ExtraLabels map[string]string `json:"extraLabels,omitempty"` // Additional annotations to add to the ServiceAccount object metadata. // // +kubebuilder:validation:Optional ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty"` }
func (*ServiceAccount) DeepCopy ¶ added in v1.17.16
func (in *ServiceAccount) DeepCopy() *ServiceAccount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccount.
func (*ServiceAccount) DeepCopyInto ¶ added in v1.17.16
func (in *ServiceAccount) DeepCopyInto(out *ServiceAccount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceAccount) GetExtraAnnotations ¶ added in v1.17.16
func (in *ServiceAccount) GetExtraAnnotations() map[string]string
func (*ServiceAccount) GetExtraLabels ¶ added in v1.17.16
func (in *ServiceAccount) GetExtraLabels() map[string]string
type StatsConfig ¶
type StatsConfig struct { // Whether to expose metrics annotations and ports for scraping metrics. // // +kubebuilder:validation:Optional Enabled *bool `json:"enabled,omitempty"` // The Envoy stats endpoint to which the metrics are written // // +kubebuilder:validation:Optional RoutePrefixRewrite *string `json:"routePrefixRewrite,omitempty"` // Enables an additional route to the stats cluster defaulting to /stats // // +kubebuilder:validation:Optional EnableStatsRoute *bool `json:"enableStatsRoute,omitempty"` // The Envoy stats endpoint with general metrics for the additional stats route // // +kubebuilder:validation:Optional StatsRoutePrefixRewrite *string `json:"statsRoutePrefixRewrite,omitempty"` }
Configuration for the stats server.
func (*StatsConfig) DeepCopy ¶
func (in *StatsConfig) DeepCopy() *StatsConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatsConfig.
func (*StatsConfig) DeepCopyInto ¶
func (in *StatsConfig) DeepCopyInto(out *StatsConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StatsConfig) GetEnableStatsRoute ¶
func (in *StatsConfig) GetEnableStatsRoute() *bool
func (*StatsConfig) GetEnabled ¶
func (in *StatsConfig) GetEnabled() *bool
func (*StatsConfig) GetRoutePrefixRewrite ¶
func (in *StatsConfig) GetRoutePrefixRewrite() *string
func (*StatsConfig) GetStatsRoutePrefixRewrite ¶
func (in *StatsConfig) GetStatsRoutePrefixRewrite() *string