Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=gateway.gloo.solo.io
Index ¶
- Constants
- Variables
- type AIExtensionTracing
- type AIExtensionTracingGrpc
- 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
- func (in *AiExtension) GetTracing() *AIExtensionTracing
- 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
- func (in *Pod) GetTopologySpreadConstraints() []corev1.TopologySpreadConstraint
- type Port
- 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
- func (in *Service) DeepCopy() *Service
- func (in *Service) DeepCopyInto(out *Service)
- func (in *Service) GetClusterIP() *string
- func (in *Service) GetExternalTrafficPolicy() *corev1.ServiceExternalTrafficPolicy
- func (in *Service) GetExtraAnnotations() map[string]string
- func (in *Service) GetExtraLabels() map[string]string
- func (in *Service) GetPorts() []*Port
- func (in *Service) GetType() *corev1.ServiceType
- 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 AIExtensionTracing ¶ added in v1.18.4
type AIExtensionTracing struct {
// gRPC Config for the OTLP collector.
// Set this to use gRPC streaming of traces to the OTLP collector.
// +optional
Grpc *AIExtensionTracingGrpc `json:"grpc,omitempty"`
// Whether to use insecure connection to the OTLP endpoint.
// This will be false by defautl as HTTPS is recommended.
// +optional
Insecure bool `json:"insecure,omitempty"`
}
func (*AIExtensionTracing) DeepCopy ¶ added in v1.18.4
func (in *AIExtensionTracing) DeepCopy() *AIExtensionTracing
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AIExtensionTracing.
func (*AIExtensionTracing) DeepCopyInto ¶ added in v1.18.4
func (in *AIExtensionTracing) DeepCopyInto(out *AIExtensionTracing)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AIExtensionTracing) GetGrpc ¶ added in v1.18.4
func (in *AIExtensionTracing) GetGrpc() *AIExtensionTracingGrpc
func (*AIExtensionTracing) GetInsecure ¶ added in v1.18.4
func (in *AIExtensionTracing) GetInsecure() bool
type AIExtensionTracingGrpc ¶ added in v1.18.4
type AIExtensionTracingGrpc struct {
// The gRPC endpoint for the OTLP collector.
// +kubebuilder:validation:MinLength=1
Host string `json:"host"`
// The port for the OTLP collector.
// +kubebuilder:validation:Minimum=1
Port uint32 `json:"port"`
}
func (*AIExtensionTracingGrpc) DeepCopy ¶ added in v1.18.4
func (in *AIExtensionTracingGrpc) DeepCopy() *AIExtensionTracingGrpc
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AIExtensionTracingGrpc.
func (*AIExtensionTracingGrpc) DeepCopyInto ¶ added in v1.18.4
func (in *AIExtensionTracingGrpc) DeepCopyInto(out *AIExtensionTracingGrpc)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AIExtensionTracingGrpc) GetHost ¶ added in v1.18.4
func (in *AIExtensionTracingGrpc) GetHost() string
func (*AIExtensionTracingGrpc) GetPort ¶ added in v1.18.4
func (in *AIExtensionTracingGrpc) GetPort() uint32
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"`
// Tracing configuration for the AI Extension.
// +optional
// Example:
// “`yaml
// tracing:
// grpc:
// host: "otel-collector.otel-system.svc"
// port: 4317
// insecure: true
// “`
Tracing *AIExtensionTracing `json:"tracing,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
func (*AiExtension) GetTracing ¶ added in v1.18.4
func (in *AiExtension) GetTracing() *AIExtensionTracing
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.
func (*GatewayParametersSpec) GetKube ¶ added in v1.18.4
func (in *GatewayParametersSpec) GetKube() *KubernetesProxyConfig
func (*GatewayParametersSpec) GetSelfManaged ¶ added in v1.18.4
func (in *GatewayParametersSpec) GetSelfManaged() *SelfManagedGateway
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"`
// If specified, this sets pod's topology spread constrains. Controls how Pods are spread
// across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains.
// See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#topologyspreadconstraint-v1-core
// for further details.
//
// +kubebuilder:validation:Optional
TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,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
func (*Pod) GetTopologySpreadConstraints ¶ added in v1.19.0
func (in *Pod) GetTopologySpreadConstraints() []corev1.TopologySpreadConstraint
type Port ¶ added in v1.18.4
type Port struct {
// The port number to match on the Gateway
//
// +kubebuilder:validation:Required
Port uint16 `json:"port"`
// The NodePort to be used for the service. If not specified, a random port
// will be assigned by the Kubernetes API server.
//
// +kubebuilder:validation:Optional
NodePort *uint16 `json:"nodePort,omitempty"`
}
func (*Port) DeepCopy ¶ added in v1.18.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Port.
func (*Port) DeepCopyInto ¶ added in v1.18.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Port) GetNodePort ¶ added in v1.18.4
type ProxyDeployment ¶
type ProxyDeployment struct {
// The number of desired pods.
// If omitted, the Deployment's replicas field will not be set, letting the
// Kubernetes control plane manage it (default: 1). This allows an external
// HPA to control scaling without conflict. If set, the value must be > 0.
//
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Minimum=1
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"`
// Additional configuration for the service ports.
// The actual port numbers are specified in the Gateway resource.
//
// +optional
// +kubebuilder:validation:MaxItems=8
Ports []*Port `json:"ports"`
// External Traffic Policy on the Service object.
//
// +kubebuilder:validation:Optional
ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicy `json:"externalTrafficPolicy,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) GetExternalTrafficPolicy ¶ added in v1.18.4
func (in *Service) GetExternalTrafficPolicy() *corev1.ServiceExternalTrafficPolicy
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