Documentation
¶
Overview ¶
Package v1alpha1 contains API schema definitions for the config.gateway.envoyproxy.io API group.
+kubebuilder:object:generate=true +groupName=config.gateway.envoyproxy.io
Index ¶
- Constants
- Variables
- func DefaultKubernetesContainerImage(image string) *string
- func DefaultKubernetesDeploymentReplicas() *int32
- func DefaultKubernetesDeploymentStrategy() *appv1.DeploymentStrategy
- func DefaultResourceRequirements() *corev1.ResourceRequirements
- type CustomTag
- type CustomTagType
- type EnvironmentCustomTag
- type EnvoyGateway
- func (in *EnvoyGateway) DeepCopy() *EnvoyGateway
- func (in *EnvoyGateway) DeepCopyInto(out *EnvoyGateway)
- func (in *EnvoyGateway) DeepCopyObject() runtime.Object
- func (e *EnvoyGateway) GetEnvoyGatewayAdmin() *EnvoyGatewayAdmin
- func (e *EnvoyGateway) GetEnvoyGatewayProvider() *EnvoyGatewayProvider
- func (e *EnvoyGateway) SetEnvoyGatewayDefaults()
- type EnvoyGatewayAdmin
- type EnvoyGatewayAdminAddress
- type EnvoyGatewayCustomProvider
- type EnvoyGatewayFileResourceProvider
- type EnvoyGatewayHostInfrastructureProvider
- type EnvoyGatewayInfrastructureProvider
- type EnvoyGatewayKubernetesProvider
- type EnvoyGatewayLogComponent
- type EnvoyGatewayLogging
- type EnvoyGatewayProvider
- type EnvoyGatewayResourceProvider
- type EnvoyGatewaySpec
- type EnvoyProxy
- type EnvoyProxyKubernetesProvider
- type EnvoyProxyList
- type EnvoyProxyProvider
- type EnvoyProxySpec
- type EnvoyProxyStatus
- type ExtensionAPISettings
- type ExtensionHooks
- type ExtensionManager
- type ExtensionService
- type ExtensionTLS
- type FileEnvoyProxyAccessLog
- type Gateway
- type GroupVersionKind
- type InfrastructureProviderType
- type KubernetesContainerSpec
- type KubernetesDeployMode
- type KubernetesDeploymentSpec
- type KubernetesPodSpec
- type KubernetesServiceSpec
- type KubernetesWatchMode
- type LiteralCustomTag
- type LogComponent
- type LogLevel
- type MetricSink
- type MetricSinkType
- type OpenTelemetryEnvoyProxyAccessLog
- type OpenTelemetrySink
- type PrometheusProvider
- type ProviderType
- type ProxyAccessLog
- type ProxyAccessLogFormat
- type ProxyAccessLogFormatType
- type ProxyAccessLogSetting
- type ProxyAccessLogSink
- type ProxyAccessLogSinkType
- type ProxyLogging
- type ProxyMetrics
- type ProxyTelemetry
- type ProxyTracing
- type RateLimit
- type RateLimitDatabaseBackend
- type RateLimitDatabaseBackendType
- type RateLimitRedisSettings
- type RedisTLSSettings
- type RequestHeaderCustomTag
- type ResourceProviderType
- type ServiceType
- type TracingProvider
- type TracingProviderType
- type XDSTranslatorHook
- type XDSTranslatorHooks
Constants ¶
const ( // KindEnvoyGateway is the name of the EnvoyGateway kind. KindEnvoyGateway = "EnvoyGateway" // GatewayControllerName is the name of the GatewayClass controller. GatewayControllerName = "gateway.envoyproxy.io/gatewayclass-controller" // GatewayAdminPort is the port which envoy gateway admin server is listening on. GatewayAdminPort = 19000 // GatewayAdminHost is the host of envoy gateway admin server. GatewayAdminHost = "127.0.0.1" )
const ( // DefaultDeploymentReplicas is the default number of deployment replicas. DefaultDeploymentReplicas = 1 // DefaultDeploymentCPUResourceRequests for deployment cpu resource DefaultDeploymentCPUResourceRequests = "100m" // DefaultDeploymentMemoryResourceRequests for deployment memory resource DefaultDeploymentMemoryResourceRequests = "512Mi" // DefaultEnvoyProxyImage is the default image used by envoyproxy DefaultEnvoyProxyImage = "envoyproxy/envoy:v1.27-latest" // DefaultRateLimitImage is the default image used by ratelimit. DefaultRateLimitImage = "envoyproxy/ratelimit:e059638d" )
const (
// KindEnvoyProxy is the name of the EnvoyProxy kind.
KindEnvoyProxy = "EnvoyProxy"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "config.gateway.envoyproxy.io", Version: "v1alpha1"} // 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 )
Functions ¶
func DefaultKubernetesContainerImage ¶ added in v0.4.0
DefaultKubernetesContainerImage returns the default envoyproxy image.
func DefaultKubernetesDeploymentReplicas ¶ added in v0.4.0
func DefaultKubernetesDeploymentReplicas() *int32
DefaultKubernetesDeploymentReplicas returns the default replica settings.
func DefaultKubernetesDeploymentStrategy ¶ added in v0.5.0
func DefaultKubernetesDeploymentStrategy() *appv1.DeploymentStrategy
DefaultKubernetesDeploymentStrategy returns the default deployment strategy settings.
func DefaultResourceRequirements ¶ added in v0.4.0
func DefaultResourceRequirements() *corev1.ResourceRequirements
DefaultResourceRequirements returns a new ResourceRequirements with default settings.
Types ¶
type CustomTag ¶ added in v0.5.0
type CustomTag struct {
// Type defines the type of custom tag.
// +kubebuilder:validation:Enum=Literal;Environment;RequestHeader
// +unionDiscriminator
// +kubebuilder:default=Literal
Type CustomTagType `json:"type"`
// Literal adds hard-coded value to each span.
// It's required when the type is "Literal".
Literal *LiteralCustomTag `json:"literal,omitempty"`
// Environment adds value from environment variable to each span.
// It's required when the type is "Environment".
Environment *EnvironmentCustomTag `json:"environment,omitempty"`
// RequestHeader adds value from request header to each span.
// It's required when the type is "RequestHeader".
RequestHeader *RequestHeaderCustomTag `json:"requestHeader,omitempty"`
}
func (*CustomTag) DeepCopy ¶ added in v0.5.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomTag.
func (*CustomTag) DeepCopyInto ¶ added in v0.5.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomTagType ¶ added in v0.5.0
type CustomTagType string
const ( // CustomTagTypeLiteral adds hard-coded value to each span. CustomTagTypeLiteral CustomTagType = "Literal" // CustomTagTypeEnvironment adds value from environment variable to each span. CustomTagTypeEnvironment CustomTagType = "Environment" // CustomTagTypeRequestHeader adds value from request header to each span. CustomTagTypeRequestHeader CustomTagType = "RequestHeader" )
type EnvironmentCustomTag ¶ added in v0.5.0
type EnvironmentCustomTag struct {
// Name defines the name of the environment variable which to extract the value from.
Name string `json:"name"`
// DefaultValue defines the default value to use if the environment variable is not set.
// +optional
DefaultValue *string `json:"defaultValue,omitempty"`
}
EnvironmentCustomTag adds value from environment variable to each span.
func (*EnvironmentCustomTag) DeepCopy ¶ added in v0.5.0
func (in *EnvironmentCustomTag) DeepCopy() *EnvironmentCustomTag
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentCustomTag.
func (*EnvironmentCustomTag) DeepCopyInto ¶ added in v0.5.0
func (in *EnvironmentCustomTag) DeepCopyInto(out *EnvironmentCustomTag)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGateway ¶
type EnvoyGateway struct {
metav1.TypeMeta `json:",inline"`
// EnvoyGatewaySpec defines the desired state of EnvoyGateway.
EnvoyGatewaySpec `json:",inline"`
}
EnvoyGateway is the schema for the envoygateways API.
func DefaultEnvoyGateway ¶
func DefaultEnvoyGateway() *EnvoyGateway
DefaultEnvoyGateway returns a new EnvoyGateway with default configuration parameters.
func (*EnvoyGateway) DeepCopy ¶
func (in *EnvoyGateway) DeepCopy() *EnvoyGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGateway.
func (*EnvoyGateway) DeepCopyInto ¶
func (in *EnvoyGateway) DeepCopyInto(out *EnvoyGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyGateway) DeepCopyObject ¶
func (in *EnvoyGateway) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*EnvoyGateway) GetEnvoyGatewayAdmin ¶ added in v0.5.0
func (e *EnvoyGateway) GetEnvoyGatewayAdmin() *EnvoyGatewayAdmin
GetEnvoyGatewayAdmin returns the EnvoyGatewayAdmin of EnvoyGateway or a default EnvoyGatewayAdmin if unspecified.
func (*EnvoyGateway) GetEnvoyGatewayProvider ¶ added in v0.4.0
func (e *EnvoyGateway) GetEnvoyGatewayProvider() *EnvoyGatewayProvider
GetEnvoyGatewayProvider returns the EnvoyGatewayProvider of EnvoyGateway or a default EnvoyGatewayProvider if unspecified.
func (*EnvoyGateway) SetEnvoyGatewayDefaults ¶ added in v0.4.0
func (e *EnvoyGateway) SetEnvoyGatewayDefaults()
SetEnvoyGatewayDefaults sets default EnvoyGateway configuration parameters.
type EnvoyGatewayAdmin ¶ added in v0.5.0
type EnvoyGatewayAdmin struct {
// Address defines the address of Envoy Gateway Admin Server.
//
// +optional
Address *EnvoyGatewayAdminAddress `json:"address,omitempty"`
// Debug defines if enable the /debug endpoint of Envoy Gateway.
//
// +optional
Debug bool `json:"debug,omitempty"`
}
EnvoyGatewayAdmin defines the Envoy Gateway Admin configuration.
func DefaultEnvoyGatewayAdmin ¶ added in v0.5.0
func DefaultEnvoyGatewayAdmin() *EnvoyGatewayAdmin
DefaultEnvoyGatewayAdmin returns a new EnvoyGatewayAdmin with default configuration parameters.
func (*EnvoyGatewayAdmin) DeepCopy ¶ added in v0.5.0
func (in *EnvoyGatewayAdmin) DeepCopy() *EnvoyGatewayAdmin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayAdmin.
func (*EnvoyGatewayAdmin) DeepCopyInto ¶ added in v0.5.0
func (in *EnvoyGatewayAdmin) DeepCopyInto(out *EnvoyGatewayAdmin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGatewayAdminAddress ¶ added in v0.5.0
type EnvoyGatewayAdminAddress struct {
// Port defines the port the admin server is exposed on.
//
// +optional
// +kubebuilder:validation:Minimum=0
// +kubebuilder:default=19000
Port int `json:"port,omitempty"`
// Host defines the admin server hostname.
//
// +optional
// +kubebuilder:default="127.0.0.1"
Host string `json:"host,omitempty"`
}
EnvoyGatewayAdminAddress defines the Envoy Gateway Admin Address configuration.
func DefaultEnvoyGatewayAdminAddress ¶ added in v0.5.0
func DefaultEnvoyGatewayAdminAddress() *EnvoyGatewayAdminAddress
DefaultEnvoyGatewayAdminAddress returns a new EnvoyGatewayAdminAddress with default configuration parameters.
func (*EnvoyGatewayAdminAddress) DeepCopy ¶ added in v0.5.0
func (in *EnvoyGatewayAdminAddress) DeepCopy() *EnvoyGatewayAdminAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayAdminAddress.
func (*EnvoyGatewayAdminAddress) DeepCopyInto ¶ added in v0.5.0
func (in *EnvoyGatewayAdminAddress) DeepCopyInto(out *EnvoyGatewayAdminAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGatewayCustomProvider ¶ added in v0.5.0
type EnvoyGatewayCustomProvider struct {
// Resource defines the desired resource provider.
// This provider is used to specify the provider to be used
// to retrieve the resource configurations such as Gateway API
// resources
Resource EnvoyGatewayResourceProvider `json:"resource"`
// Infrastructure defines the desired infrastructure provider.
// This provider is used to specify the provider to be used
// to provide an environment to deploy the out resources like
// the Envoy Proxy data plane.
Infrastructure EnvoyGatewayInfrastructureProvider `json:"infrastructure"`
}
EnvoyGatewayCustomProvider defines configuration for the Custom provider.
func (*EnvoyGatewayCustomProvider) DeepCopy ¶ added in v0.5.0
func (in *EnvoyGatewayCustomProvider) DeepCopy() *EnvoyGatewayCustomProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayCustomProvider.
func (*EnvoyGatewayCustomProvider) DeepCopyInto ¶ added in v0.5.0
func (in *EnvoyGatewayCustomProvider) DeepCopyInto(out *EnvoyGatewayCustomProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGatewayFileResourceProvider ¶ added in v0.5.0
type EnvoyGatewayFileResourceProvider struct {
// Paths are the paths to a directory or file containing the resource configuration.
// Recursive sub directories are not currently supported.
Paths []string `json:"paths"`
}
EnvoyGatewayFileResourceProvider defines configuration for the File Resource provider.
func (*EnvoyGatewayFileResourceProvider) DeepCopy ¶ added in v0.5.0
func (in *EnvoyGatewayFileResourceProvider) DeepCopy() *EnvoyGatewayFileResourceProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayFileResourceProvider.
func (*EnvoyGatewayFileResourceProvider) DeepCopyInto ¶ added in v0.5.0
func (in *EnvoyGatewayFileResourceProvider) DeepCopyInto(out *EnvoyGatewayFileResourceProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGatewayHostInfrastructureProvider ¶ added in v0.5.0
type EnvoyGatewayHostInfrastructureProvider struct {
}
EnvoyGatewayHostInfrastructureProvider defines configuration for the Host Infrastructure provider.
func (*EnvoyGatewayHostInfrastructureProvider) DeepCopy ¶ added in v0.5.0
func (in *EnvoyGatewayHostInfrastructureProvider) DeepCopy() *EnvoyGatewayHostInfrastructureProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayHostInfrastructureProvider.
func (*EnvoyGatewayHostInfrastructureProvider) DeepCopyInto ¶ added in v0.5.0
func (in *EnvoyGatewayHostInfrastructureProvider) DeepCopyInto(out *EnvoyGatewayHostInfrastructureProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGatewayInfrastructureProvider ¶ added in v0.5.0
type EnvoyGatewayInfrastructureProvider struct {
// Type is the type of infrastructure providers to use. Supported types are "Host".
//
// +unionDiscriminator
Type InfrastructureProviderType `json:"type"`
// Host defines the configuration of the Host provider. Host provides runtime
// deployment of the data plane as a child process on the host environment.
//
// +optional
Host *EnvoyGatewayHostInfrastructureProvider `json:"host,omitempty"`
}
EnvoyGatewayInfrastructureProvider defines configuration for the Custom Infrastructure provider.
func (*EnvoyGatewayInfrastructureProvider) DeepCopy ¶ added in v0.5.0
func (in *EnvoyGatewayInfrastructureProvider) DeepCopy() *EnvoyGatewayInfrastructureProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayInfrastructureProvider.
func (*EnvoyGatewayInfrastructureProvider) DeepCopyInto ¶ added in v0.5.0
func (in *EnvoyGatewayInfrastructureProvider) DeepCopyInto(out *EnvoyGatewayInfrastructureProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGatewayKubernetesProvider ¶ added in v0.4.0
type EnvoyGatewayKubernetesProvider struct {
// RateLimitDeployment defines the desired state of the Envoy ratelimit deployment resource.
// If unspecified, default settings for the manged Envoy ratelimit deployment resource
// are applied.
//
// +optional
RateLimitDeployment *KubernetesDeploymentSpec `json:"rateLimitDeployment,omitempty"`
// Watch holds configuration of which input resources should be watched and reconciled.
// +optional
Watch *KubernetesWatchMode `json:"watch,omitempty"`
// Deploy holds configuration of how output managed resources such as the Envoy Proxy data plane
// should be deployed
// +optional
Deploy *KubernetesDeployMode `json:"deploy,omitempty"`
// OverwriteControlPlaneCerts updates the secrets containing the control plane certs, when set.
OverwriteControlPlaneCerts bool `json:"overwrite_control_plane_certs,omitempty"`
}
EnvoyGatewayKubernetesProvider defines configuration for the Kubernetes provider.
func DefaultEnvoyGatewayKubeProvider ¶ added in v0.4.0
func DefaultEnvoyGatewayKubeProvider() *EnvoyGatewayKubernetesProvider
DefaultEnvoyGatewayKubeProvider returns a new EnvoyGatewayKubernetesProvider with default settings.
func (*EnvoyGatewayKubernetesProvider) DeepCopy ¶ added in v0.4.0
func (in *EnvoyGatewayKubernetesProvider) DeepCopy() *EnvoyGatewayKubernetesProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayKubernetesProvider.
func (*EnvoyGatewayKubernetesProvider) DeepCopyInto ¶ added in v0.4.0
func (in *EnvoyGatewayKubernetesProvider) DeepCopyInto(out *EnvoyGatewayKubernetesProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGatewayLogComponent ¶ added in v0.5.0
type EnvoyGatewayLogComponent string
EnvoyGatewayLogComponent defines a component that supports a configured logging level. +kubebuilder:validation:Enum=default;provider;gateway-api;xds-translator;xds-server;infrastructure;global-ratelimit
const ( // LogComponentGatewayDefault defines the "default"-wide logging component. When specified, // all other logging components are ignored. LogComponentGatewayDefault EnvoyGatewayLogComponent = "default" // LogComponentProviderRunner defines the "provider" runner component. LogComponentProviderRunner EnvoyGatewayLogComponent = "provider" // LogComponentGatewayAPIRunner defines the "gateway-api" runner component. LogComponentGatewayAPIRunner EnvoyGatewayLogComponent = "gateway-api" // LogComponentXdsTranslatorRunner defines the "xds-translator" runner component. LogComponentXdsTranslatorRunner EnvoyGatewayLogComponent = "xds-translator" // LogComponentXdsServerRunner defines the "xds-server" runner component. LogComponentXdsServerRunner EnvoyGatewayLogComponent = "xds-server" // LogComponentInfrastructureRunner defines the "infrastructure" runner component. LogComponentInfrastructureRunner EnvoyGatewayLogComponent = "infrastructure" // LogComponentGlobalRateLimitRunner defines the "global-ratelimit" runner component. LogComponentGlobalRateLimitRunner EnvoyGatewayLogComponent = "global-ratelimit" )
type EnvoyGatewayLogging ¶ added in v0.5.0
type EnvoyGatewayLogging struct {
// Level is the logging level. If unspecified, defaults to "info".
// EnvoyGatewayLogComponent options: default/provider/gateway-api/xds-translator/xds-server/infrastructure/global-ratelimit.
// LogLevel options: debug/info/error/warn.
//
// +kubebuilder:default={default: info}
Level map[EnvoyGatewayLogComponent]LogLevel `json:"level,omitempty"`
}
EnvoyGatewayLogging defines logging for Envoy Gateway.
func DefaultEnvoyGatewayLogging ¶ added in v0.5.0
func DefaultEnvoyGatewayLogging() *EnvoyGatewayLogging
DefaultEnvoyGatewayLogging returns a new EnvoyGatewayLogging with default configuration parameters.
func (*EnvoyGatewayLogging) DeepCopy ¶ added in v0.5.0
func (in *EnvoyGatewayLogging) DeepCopy() *EnvoyGatewayLogging
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayLogging.
func (*EnvoyGatewayLogging) DeepCopyInto ¶ added in v0.5.0
func (in *EnvoyGatewayLogging) DeepCopyInto(out *EnvoyGatewayLogging)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyGatewayLogging) DefaultEnvoyGatewayLoggingLevel ¶ added in v0.5.0
func (logging *EnvoyGatewayLogging) DefaultEnvoyGatewayLoggingLevel(level LogLevel) LogLevel
DefaultEnvoyGatewayLoggingLevel returns a new EnvoyGatewayLogging with default configuration parameters. When v1alpha1.LogComponentGatewayDefault specified, all other logging components are ignored.
func (*EnvoyGatewayLogging) SetEnvoyGatewayLoggingDefaults ¶ added in v0.5.0
func (logging *EnvoyGatewayLogging) SetEnvoyGatewayLoggingDefaults()
SetEnvoyGatewayLoggingDefaults sets default EnvoyGatewayLogging configuration parameters.
type EnvoyGatewayProvider ¶ added in v0.4.0
type EnvoyGatewayProvider struct {
// Type is the type of provider to use. Supported types are "Kubernetes".
//
// +unionDiscriminator
Type ProviderType `json:"type"`
// Kubernetes defines the configuration of the Kubernetes provider. Kubernetes
// provides runtime configuration via the Kubernetes API.
//
// +optional
Kubernetes *EnvoyGatewayKubernetesProvider `json:"kubernetes,omitempty"`
// Custom defines the configuration for the Custom provider. This provider
// allows you to define a specific resource provider and a infrastructure
// provider.
//
// +optional
Custom *EnvoyGatewayCustomProvider `json:"custom,omitempty"`
}
EnvoyGatewayProvider defines the desired configuration of a provider. +union
func DefaultEnvoyGatewayProvider ¶ added in v0.4.0
func DefaultEnvoyGatewayProvider() *EnvoyGatewayProvider
DefaultEnvoyGatewayProvider returns a new EnvoyGatewayProvider with default configuration parameters.
func (*EnvoyGatewayProvider) DeepCopy ¶ added in v0.4.0
func (in *EnvoyGatewayProvider) DeepCopy() *EnvoyGatewayProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayProvider.
func (*EnvoyGatewayProvider) DeepCopyInto ¶ added in v0.4.0
func (in *EnvoyGatewayProvider) DeepCopyInto(out *EnvoyGatewayProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyGatewayProvider) GetEnvoyGatewayKubeProvider ¶ added in v0.4.0
func (r *EnvoyGatewayProvider) GetEnvoyGatewayKubeProvider() *EnvoyGatewayKubernetesProvider
GetEnvoyGatewayKubeProvider returns the EnvoyGatewayKubernetesProvider of Provider or a default EnvoyGatewayKubernetesProvider if unspecified. If EnvoyGatewayProvider is not of type "Kubernetes", a nil EnvoyGatewayKubernetesProvider is returned.
type EnvoyGatewayResourceProvider ¶ added in v0.5.0
type EnvoyGatewayResourceProvider struct {
// Type is the type of resource provider to use. Supported types are "File".
//
// +unionDiscriminator
Type ResourceProviderType `json:"type"`
// File defines the configuration of the File provider. File provides runtime
// configuration defined by one or more files.
//
// +optional
File *EnvoyGatewayFileResourceProvider `json:"file,omitempty"`
}
EnvoyGatewayResourceProvider defines configuration for the Custom Resource provider.
func (*EnvoyGatewayResourceProvider) DeepCopy ¶ added in v0.5.0
func (in *EnvoyGatewayResourceProvider) DeepCopy() *EnvoyGatewayResourceProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayResourceProvider.
func (*EnvoyGatewayResourceProvider) DeepCopyInto ¶ added in v0.5.0
func (in *EnvoyGatewayResourceProvider) DeepCopyInto(out *EnvoyGatewayResourceProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyGatewaySpec ¶
type EnvoyGatewaySpec struct {
// Gateway defines desired Gateway API specific configuration. If unset,
// default configuration parameters will apply.
//
// +optional
Gateway *Gateway `json:"gateway,omitempty"`
// Provider defines the desired provider and provider-specific configuration.
// If unspecified, the Kubernetes provider is used with default configuration
// parameters.
//
// +optional
Provider *EnvoyGatewayProvider `json:"provider,omitempty"`
// Logging defines logging parameters for Envoy Gateway.
//
// +optional
// +kubebuilder:default={default: info}
Logging *EnvoyGatewayLogging `json:"logging,omitempty"`
// Admin defines the desired admin related abilities.
// If unspecified, the Admin is used with default configuration
// parameters.
//
// +optional
Admin *EnvoyGatewayAdmin `json:"admin,omitempty"`
// RateLimit defines the configuration associated with the Rate Limit service
// deployed by Envoy Gateway required to implement the Global Rate limiting
// functionality. The specific rate limit service used here is the reference
// implementation in Envoy. For more details visit https://github.com/envoyproxy/ratelimit.
// This configuration is unneeded for "Local" rate limiting.
//
// +optional
RateLimit *RateLimit `json:"rateLimit,omitempty"`
// ExtensionManager defines an extension manager to register for the Envoy Gateway Control Plane.
//
// +optional
ExtensionManager *ExtensionManager `json:"extensionManager,omitempty"`
// ExtensionAPIs defines the settings related to specific Gateway API Extensions
// implemented by Envoy Gateway
//
// +optional
ExtensionAPIs *ExtensionAPISettings `json:"extensionApis,omitempty"`
}
EnvoyGatewaySpec defines the desired state of Envoy Gateway.
func (*EnvoyGatewaySpec) DeepCopy ¶
func (in *EnvoyGatewaySpec) DeepCopy() *EnvoyGatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewaySpec.
func (*EnvoyGatewaySpec) DeepCopyInto ¶
func (in *EnvoyGatewaySpec) DeepCopyInto(out *EnvoyGatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyProxy ¶
type EnvoyProxy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// EnvoyProxySpec defines the desired state of EnvoyProxy.
Spec EnvoyProxySpec `json:"spec,omitempty"`
// EnvoyProxyStatus defines the actual state of EnvoyProxy.
Status EnvoyProxyStatus `json:"status,omitempty"`
}
EnvoyProxy is the schema for the envoyproxies API.
func (*EnvoyProxy) DeepCopy ¶
func (in *EnvoyProxy) DeepCopy() *EnvoyProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyProxy.
func (*EnvoyProxy) DeepCopyInto ¶
func (in *EnvoyProxy) DeepCopyInto(out *EnvoyProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyProxy) DeepCopyObject ¶
func (in *EnvoyProxy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*EnvoyProxy) GetEnvoyProxyProvider ¶ added in v0.4.0
func (e *EnvoyProxy) GetEnvoyProxyProvider() *EnvoyProxyProvider
GetEnvoyProxyProvider returns the EnvoyProxyProvider of EnvoyProxy or a default EnvoyProxyProvider if unspecified.
type EnvoyProxyKubernetesProvider ¶ added in v0.4.0
type EnvoyProxyKubernetesProvider struct {
// EnvoyDeployment defines the desired state of the Envoy deployment resource.
// If unspecified, default settings for the manged Envoy deployment resource
// are applied.
//
// +optional
EnvoyDeployment *KubernetesDeploymentSpec `json:"envoyDeployment,omitempty"`
// EnvoyService defines the desired state of the Envoy service resource.
// If unspecified, default settings for the manged Envoy service resource
// are applied.
//
// +optional
EnvoyService *KubernetesServiceSpec `json:"envoyService,omitempty"`
}
EnvoyProxyKubernetesProvider defines configuration for the Kubernetes resource provider.
func DefaultEnvoyProxyKubeProvider ¶ added in v0.4.0
func DefaultEnvoyProxyKubeProvider() *EnvoyProxyKubernetesProvider
DefaultEnvoyProxyKubeProvider returns a new EnvoyProxyKubernetesProvider with default settings.
func (*EnvoyProxyKubernetesProvider) DeepCopy ¶ added in v0.4.0
func (in *EnvoyProxyKubernetesProvider) DeepCopy() *EnvoyProxyKubernetesProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyProxyKubernetesProvider.
func (*EnvoyProxyKubernetesProvider) DeepCopyInto ¶ added in v0.4.0
func (in *EnvoyProxyKubernetesProvider) DeepCopyInto(out *EnvoyProxyKubernetesProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyProxyList ¶
type EnvoyProxyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []EnvoyProxy `json:"items"`
}
EnvoyProxyList contains a list of EnvoyProxy
func (*EnvoyProxyList) DeepCopy ¶
func (in *EnvoyProxyList) DeepCopy() *EnvoyProxyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyProxyList.
func (*EnvoyProxyList) DeepCopyInto ¶
func (in *EnvoyProxyList) DeepCopyInto(out *EnvoyProxyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyProxyList) DeepCopyObject ¶
func (in *EnvoyProxyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnvoyProxyProvider ¶ added in v0.4.0
type EnvoyProxyProvider struct {
// Type is the type of resource provider to use. A resource provider provides
// infrastructure resources for running the data plane, e.g. Envoy proxy, and
// optional auxiliary control planes. Supported types are "Kubernetes".
//
// +unionDiscriminator
Type ProviderType `json:"type"`
// Kubernetes defines the desired state of the Kubernetes resource provider.
// Kubernetes provides infrastructure resources for running the data plane,
// e.g. Envoy proxy. If unspecified and type is "Kubernetes", default settings
// for managed Kubernetes resources are applied.
//
// +optional
Kubernetes *EnvoyProxyKubernetesProvider `json:"kubernetes,omitempty"`
}
EnvoyProxyProvider defines the desired state of a resource provider. +union
func DefaultEnvoyProxyProvider ¶ added in v0.4.0
func DefaultEnvoyProxyProvider() *EnvoyProxyProvider
DefaultEnvoyProxyProvider returns a new EnvoyProxyProvider with default settings.
func (*EnvoyProxyProvider) DeepCopy ¶ added in v0.4.0
func (in *EnvoyProxyProvider) DeepCopy() *EnvoyProxyProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyProxyProvider.
func (*EnvoyProxyProvider) DeepCopyInto ¶ added in v0.4.0
func (in *EnvoyProxyProvider) DeepCopyInto(out *EnvoyProxyProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyProxyProvider) GetEnvoyProxyKubeProvider ¶ added in v0.4.0
func (r *EnvoyProxyProvider) GetEnvoyProxyKubeProvider() *EnvoyProxyKubernetesProvider
GetEnvoyProxyKubeProvider returns the EnvoyProxyKubernetesProvider of EnvoyProxyProvider or a default EnvoyProxyKubernetesProvider if unspecified. If EnvoyProxyProvider is not of type "Kubernetes", a nil EnvoyProxyKubernetesProvider is returned.
type EnvoyProxySpec ¶
type EnvoyProxySpec struct {
// Provider defines the desired resource provider and provider-specific configuration.
// If unspecified, the "Kubernetes" resource provider is used with default configuration
// parameters.
//
// +optional
Provider *EnvoyProxyProvider `json:"provider,omitempty"`
// Logging defines logging parameters for managed proxies.
// +kubebuilder:default={level: {default: warn}}
Logging ProxyLogging `json:"logging,omitempty"`
// Telemetry defines telemetry parameters for managed proxies.
Telemetry ProxyTelemetry `json:"telemetry,omitempty"`
// Bootstrap defines the Envoy Bootstrap as a YAML string.
// Visit https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/bootstrap/v3/bootstrap.proto#envoy-v3-api-msg-config-bootstrap-v3-bootstrap
// to learn more about the syntax.
// If set, this is the Bootstrap configuration used for the managed Envoy Proxy fleet instead of the default Bootstrap configuration
// set by Envoy Gateway.
// Some fields within the Bootstrap that are required to communicate with the xDS Server (Envoy Gateway) and receive xDS resources
// from it are not configurable and will result in the `EnvoyProxy` resource being rejected.
// Backward compatibility across minor versions is not guaranteed.
// We strongly recommend using `egctl x translate` to generate a `EnvoyProxy` resource with the `Bootstrap` field set to the default
// Bootstrap configuration used. You can edit this configuration, and rerun `egctl x translate` to ensure there are no validation errors.
//
// +optional
Bootstrap *string `json:"bootstrap,omitempty"`
}
EnvoyProxySpec defines the desired state of EnvoyProxy.
func (*EnvoyProxySpec) DeepCopy ¶
func (in *EnvoyProxySpec) DeepCopy() *EnvoyProxySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyProxySpec.
func (*EnvoyProxySpec) DeepCopyInto ¶
func (in *EnvoyProxySpec) DeepCopyInto(out *EnvoyProxySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyProxyStatus ¶
type EnvoyProxyStatus struct {
}
EnvoyProxyStatus defines the observed state of EnvoyProxy. This type is not implemented until https://github.com/envoyproxy/gateway/issues/1007 is fixed.
func (*EnvoyProxyStatus) DeepCopy ¶
func (in *EnvoyProxyStatus) DeepCopy() *EnvoyProxyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyProxyStatus.
func (*EnvoyProxyStatus) DeepCopyInto ¶
func (in *EnvoyProxyStatus) DeepCopyInto(out *EnvoyProxyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtensionAPISettings ¶ added in v0.5.0
type ExtensionAPISettings struct {
// EnableEnvoyPatchPolicy enables Envoy Gateway to
// reconcile and implement the EnvoyPatchPolicy resources.
EnableEnvoyPatchPolicy bool `json:"enableEnvoyPatchPolicy"`
}
ExtensionAPISettings defines the settings specific to Gateway API Extensions.
func (*ExtensionAPISettings) DeepCopy ¶ added in v0.5.0
func (in *ExtensionAPISettings) DeepCopy() *ExtensionAPISettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionAPISettings.
func (*ExtensionAPISettings) DeepCopyInto ¶ added in v0.5.0
func (in *ExtensionAPISettings) DeepCopyInto(out *ExtensionAPISettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtensionHooks ¶ added in v0.4.0
type ExtensionHooks struct {
// XDSTranslator defines all the supported extension hooks for the xds-translator runner
XDSTranslator *XDSTranslatorHooks `json:"xdsTranslator,omitempty"`
}
ExtensionHooks defines extension hooks across all supported runners
func (*ExtensionHooks) DeepCopy ¶ added in v0.4.0
func (in *ExtensionHooks) DeepCopy() *ExtensionHooks
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionHooks.
func (*ExtensionHooks) DeepCopyInto ¶ added in v0.4.0
func (in *ExtensionHooks) DeepCopyInto(out *ExtensionHooks)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtensionManager ¶ added in v0.5.0
type ExtensionManager struct {
// Resources defines the set of K8s resources the extension will handle.
//
// +optional
Resources []GroupVersionKind `json:"resources,omitempty"`
// Hooks defines the set of hooks the extension supports
//
// +kubebuilder:validation:Required
Hooks *ExtensionHooks `json:"hooks,omitempty"`
// Service defines the configuration of the extension service that the Envoy
// Gateway Control Plane will call through extension hooks.
//
// +kubebuilder:validation:Required
Service *ExtensionService `json:"service,omitempty"`
}
ExtensionManager defines the configuration for registering an extension manager to the Envoy Gateway control plane.
func (*ExtensionManager) DeepCopy ¶ added in v0.5.0
func (in *ExtensionManager) DeepCopy() *ExtensionManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionManager.
func (*ExtensionManager) DeepCopyInto ¶ added in v0.5.0
func (in *ExtensionManager) DeepCopyInto(out *ExtensionManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtensionService ¶ added in v0.4.0
type ExtensionService struct {
// Host define the extension service hostname.
Host string `json:"host"`
// Port defines the port the extension service is exposed on.
//
// +optional
// +kubebuilder:validation:Minimum=0
// +kubebuilder:default=80
Port int32 `json:"port,omitempty"`
// TLS defines TLS configuration for communication between Envoy Gateway and
// the extension service.
//
// +optional
TLS *ExtensionTLS `json:"tls,omitempty"`
}
ExtensionService defines the configuration for connecting to a registered extension service.
func (*ExtensionService) DeepCopy ¶ added in v0.4.0
func (in *ExtensionService) DeepCopy() *ExtensionService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionService.
func (*ExtensionService) DeepCopyInto ¶ added in v0.4.0
func (in *ExtensionService) DeepCopyInto(out *ExtensionService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtensionTLS ¶ added in v0.4.0
type ExtensionTLS struct {
// CertificateRef contains a references to objects (Kubernetes objects or otherwise) that
// contains a TLS certificate and private keys. These certificates are used to
// establish a TLS handshake to the extension server.
//
// CertificateRef can only reference a Kubernetes Secret at this time.
//
// +kubebuilder:validation:Required
CertificateRef gwapiv1b1.SecretObjectReference `json:"certificateRef"`
}
ExtensionTLS defines the TLS configuration when connecting to an extension service
func (*ExtensionTLS) DeepCopy ¶ added in v0.4.0
func (in *ExtensionTLS) DeepCopy() *ExtensionTLS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionTLS.
func (*ExtensionTLS) DeepCopyInto ¶ added in v0.4.0
func (in *ExtensionTLS) DeepCopyInto(out *ExtensionTLS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileEnvoyProxyAccessLog ¶ added in v0.5.0
type FileEnvoyProxyAccessLog struct {
// Path defines the file path used to expose envoy access log(e.g. /dev/stdout).
// Empty value disables accesslog.
Path string `json:"path,omitempty"`
}
func (*FileEnvoyProxyAccessLog) DeepCopy ¶ added in v0.5.0
func (in *FileEnvoyProxyAccessLog) DeepCopy() *FileEnvoyProxyAccessLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileEnvoyProxyAccessLog.
func (*FileEnvoyProxyAccessLog) DeepCopyInto ¶ added in v0.5.0
func (in *FileEnvoyProxyAccessLog) DeepCopyInto(out *FileEnvoyProxyAccessLog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Gateway ¶
type Gateway struct {
// ControllerName defines the name of the Gateway API controller. If unspecified,
// defaults to "gateway.envoyproxy.io/gatewayclass-controller". See the following
// for additional details:
// https://gateway-api.sigs.k8s.io/v1alpha2/references/spec/#gateway.networking.k8s.io/v1alpha2.GatewayClass
//
// +optional
ControllerName string `json:"controllerName,omitempty"`
}
Gateway defines the desired Gateway API configuration of Envoy Gateway.
func DefaultGateway ¶
func DefaultGateway() *Gateway
DefaultGateway returns a new Gateway with default configuration parameters.
func (*Gateway) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gateway.
func (*Gateway) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GroupVersionKind ¶ added in v0.4.0
type GroupVersionKind struct {
Group string `json:"group"`
Version string `json:"version"`
Kind string `json:"kind"`
}
GroupVersionKind unambiguously identifies a Kind. It can be converted to k8s.io/apimachinery/pkg/runtime/schema.GroupVersionKind
func (*GroupVersionKind) DeepCopy ¶ added in v0.4.0
func (in *GroupVersionKind) DeepCopy() *GroupVersionKind
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupVersionKind.
func (*GroupVersionKind) DeepCopyInto ¶ added in v0.4.0
func (in *GroupVersionKind) DeepCopyInto(out *GroupVersionKind)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InfrastructureProviderType ¶ added in v0.5.0
type InfrastructureProviderType string
InfrastructureProviderType defines the types of custom infrastructure providers supported by Envoy Gateway.
+kubebuilder:validation:Enum=Host
const ( // InfrastructureProviderTypeHost defines the "Host" provider. InfrastructureProviderTypeHost InfrastructureProviderType = "Host" )
type KubernetesContainerSpec ¶ added in v0.4.0
type KubernetesContainerSpec struct {
// List of environment variables to set in the container.
//
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// Resources required by this container.
// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
//
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// SecurityContext defines the security options the container should be run with.
// If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
//
// +optional
SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`
// Image specifies the EnvoyProxy container image to be used, instead of the default image.
//
// +optional
Image *string `json:"image,omitempty"`
// VolumeMounts are volumes to mount into the container's filesystem.
// Cannot be updated.
//
// +optional
VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
}
KubernetesContainerSpec defines the desired state of the Kubernetes container resource.
func DefaultKubernetesContainer ¶ added in v0.4.0
func DefaultKubernetesContainer(image string) *KubernetesContainerSpec
DefaultKubernetesContainer returns a new KubernetesContainerSpec with default settings.
func (*KubernetesContainerSpec) DeepCopy ¶ added in v0.4.0
func (in *KubernetesContainerSpec) DeepCopy() *KubernetesContainerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesContainerSpec.
func (*KubernetesContainerSpec) DeepCopyInto ¶ added in v0.4.0
func (in *KubernetesContainerSpec) DeepCopyInto(out *KubernetesContainerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesDeployMode ¶ added in v0.5.0
type KubernetesDeployMode struct {
}
KubernetesDeployMode holds configuration for how to deploy managed resources such as the Envoy Proxy data plane fleet.
func (*KubernetesDeployMode) DeepCopy ¶ added in v0.5.0
func (in *KubernetesDeployMode) DeepCopy() *KubernetesDeployMode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesDeployMode.
func (*KubernetesDeployMode) DeepCopyInto ¶ added in v0.5.0
func (in *KubernetesDeployMode) DeepCopyInto(out *KubernetesDeployMode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesDeploymentSpec ¶ added in v0.3.0
type KubernetesDeploymentSpec struct {
// Replicas is the number of desired pods. Defaults to 1.
//
// +optional
Replicas *int32 `json:"replicas,omitempty"`
// The deployment strategy to use to replace existing pods with new ones.
// +optional
Strategy *appv1.DeploymentStrategy `json:"strategy,omitempty"`
// Pod defines the desired annotations and securityContext of container.
//
// +optional
Pod *KubernetesPodSpec `json:"pod,omitempty"`
// Container defines the resources and securityContext of container.
//
// +optional
Container *KubernetesContainerSpec `json:"container,omitempty"`
}
KubernetesDeploymentSpec defines the desired state of the Kubernetes deployment resource.
func DefaultKubernetesDeployment ¶ added in v0.3.0
func DefaultKubernetesDeployment(image string) *KubernetesDeploymentSpec
DefaultKubernetesDeployment returns a new KubernetesDeploymentSpec with default settings.
func (*KubernetesDeploymentSpec) DeepCopy ¶ added in v0.3.0
func (in *KubernetesDeploymentSpec) DeepCopy() *KubernetesDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesDeploymentSpec.
func (*KubernetesDeploymentSpec) DeepCopyInto ¶ added in v0.3.0
func (in *KubernetesDeploymentSpec) DeepCopyInto(out *KubernetesDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesPodSpec ¶ added in v0.4.0
type KubernetesPodSpec struct {
// Annotations are the annotations that should be appended to the pods.
// By default, no pod annotations are appended.
//
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Labels are the additional labels that should be tagged to the pods.
// By default, no additional pod labels are tagged.
//
// +optional
Labels map[string]string `json:"labels,omitempty"`
// SecurityContext holds pod-level security attributes and common container settings.
// Optional: Defaults to empty. See type description for default values of each field.
//
// +optional
SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`
// If specified, the pod's scheduling constraints.
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// If specified, the pod's tolerations.
// +optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// Volumes that can be mounted by containers belonging to the pod.
// More info: https://kubernetes.io/docs/concepts/storage/volumes
//
// +optional
Volumes []corev1.Volume `json:"volumes,omitempty"`
}
KubernetesPodSpec defines the desired state of the Kubernetes pod resource.
func DefaultKubernetesPod ¶ added in v0.4.0
func DefaultKubernetesPod() *KubernetesPodSpec
DefaultKubernetesPod returns a new KubernetesPodSpec with default settings.
func (*KubernetesPodSpec) DeepCopy ¶ added in v0.4.0
func (in *KubernetesPodSpec) DeepCopy() *KubernetesPodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesPodSpec.
func (*KubernetesPodSpec) DeepCopyInto ¶ added in v0.4.0
func (in *KubernetesPodSpec) DeepCopyInto(out *KubernetesPodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesServiceSpec ¶ added in v0.4.0
type KubernetesServiceSpec struct {
// Annotations that should be appended to the service.
// By default, no annotations are appended.
//
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Type determines how the Service is exposed. Defaults to LoadBalancer.
// Valid options are ClusterIP, LoadBalancer and NodePort.
// "LoadBalancer" means a service will be exposed via an external load balancer (if the cloud provider supports it).
// "ClusterIP" means a service will only be accessible inside the cluster, via the cluster IP.
// "NodePort" means a service will be exposed on a static Port on all Nodes of the cluster.
// +kubebuilder:default:="LoadBalancer"
// +optional
Type *ServiceType `json:"type,omitempty"`
}
KubernetesServiceSpec defines the desired state of the Kubernetes service resource.
func DefaultKubernetesService ¶ added in v0.4.0
func DefaultKubernetesService() *KubernetesServiceSpec
DefaultKubernetesService returns a new KubernetesServiceSpec with default settings.
func (*KubernetesServiceSpec) DeepCopy ¶ added in v0.4.0
func (in *KubernetesServiceSpec) DeepCopy() *KubernetesServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesServiceSpec.
func (*KubernetesServiceSpec) DeepCopyInto ¶ added in v0.4.0
func (in *KubernetesServiceSpec) DeepCopyInto(out *KubernetesServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesWatchMode ¶ added in v0.5.0
type KubernetesWatchMode struct {
// Namespaces holds the list of namespaces that Envoy Gateway will watch for namespaced scoped
// resources such as Gateway, HTTPRoute and Service.
// Note that Envoy Gateway will continue to reconcile relevant cluster scoped resources such as
// GatewayClass that it is linked to.
// By default, when this field is unset or empty, Envoy Gateway will watch for input namespaced resources
// from all namespaces.
Namespaces []string
}
KubernetesWatchMode holds the configuration for which input resources to watch and reconcile.
func (*KubernetesWatchMode) DeepCopy ¶ added in v0.5.0
func (in *KubernetesWatchMode) DeepCopy() *KubernetesWatchMode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesWatchMode.
func (*KubernetesWatchMode) DeepCopyInto ¶ added in v0.5.0
func (in *KubernetesWatchMode) DeepCopyInto(out *KubernetesWatchMode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LiteralCustomTag ¶ added in v0.5.0
type LiteralCustomTag struct {
// Value defines the hard-coded value to add to each span.
Value string `json:"value"`
}
LiteralCustomTag adds hard-coded value to each span.
func (*LiteralCustomTag) DeepCopy ¶ added in v0.5.0
func (in *LiteralCustomTag) DeepCopy() *LiteralCustomTag
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteralCustomTag.
func (*LiteralCustomTag) DeepCopyInto ¶ added in v0.5.0
func (in *LiteralCustomTag) DeepCopyInto(out *LiteralCustomTag)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LogComponent ¶ added in v0.3.0
type LogComponent string
LogComponent defines a component that supports a configured logging level. +kubebuilder:validation:Enum=system;upstream;http;connection;admin;client;filter;main;router;runtime
const ( // LogComponentDefault defines the default logging component. // See more details: https://www.envoyproxy.io/docs/envoy/latest/operations/cli#cmdoption-l LogComponentDefault LogComponent = "default" // LogComponentUpstream defines the "upstream" logging component. LogComponentUpstream LogComponent = "upstream" // LogComponentHTTP defines the "http" logging component. LogComponentHTTP LogComponent = "http" // LogComponentConnection defines the "connection" logging component. LogComponentConnection LogComponent = "connection" // LogComponentAdmin defines the "admin" logging component. LogComponentAdmin LogComponent = "admin" // LogComponentClient defines the "client" logging component. LogComponentClient LogComponent = "client" // LogComponentFilter defines the "filter" logging component. LogComponentFilter LogComponent = "filter" // LogComponentMain defines the "main" logging component. LogComponentMain LogComponent = "main" // LogComponentRouter defines the "router" logging component. LogComponentRouter LogComponent = "router" // LogComponentRuntime defines the "runtime" logging component. LogComponentRuntime LogComponent = "runtime" )
type LogLevel ¶ added in v0.3.0
type LogLevel string
LogLevel defines a log level for Envoy Gateway and EnvoyProxy system logs. This type is not implemented for EnvoyProxy until https://github.com/envoyproxy/gateway/issues/280 is fixed. +kubebuilder:validation:Enum=debug;info;error;warn
const ( // LogLevelDebug defines the "debug" logging level. LogLevelDebug LogLevel = "debug" // LogLevelInfo defines the "Info" logging level. LogLevelInfo LogLevel = "info" // LogLevelWarn defines the "Warn" logging level. LogLevelWarn LogLevel = "warn" // LogLevelError defines the "Error" logging level. LogLevelError LogLevel = "error" )
type MetricSink ¶ added in v0.5.0
type MetricSink struct {
// Type defines the metric sink type.
// EG currently only supports OpenTelemetry.
// +kubebuilder:validation:Enum=OpenTelemetry
// +kubebuilder:default=OpenTelemetry
Type MetricSinkType `json:"type"`
// OpenTelemetry defines the configuration for OpenTelemetry sink.
// It's required if the sink type is OpenTelemetry.
OpenTelemetry *OpenTelemetrySink `json:"openTelemetry,omitempty"`
}
func (*MetricSink) DeepCopy ¶ added in v0.5.0
func (in *MetricSink) DeepCopy() *MetricSink
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSink.
func (*MetricSink) DeepCopyInto ¶ added in v0.5.0
func (in *MetricSink) DeepCopyInto(out *MetricSink)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricSinkType ¶ added in v0.5.0
type MetricSinkType string
const (
MetricSinkTypeOpenTelemetry MetricSinkType = "OpenTelemetry"
)
type OpenTelemetryEnvoyProxyAccessLog ¶ added in v0.5.0
type OpenTelemetryEnvoyProxyAccessLog struct {
// Host define the extension service hostname.
Host string `json:"host"`
// Port defines the port the extension service is exposed on.
//
// +optional
// +kubebuilder:validation:Minimum=0
// +kubebuilder:default=4317
Port int32 `json:"port,omitempty"`
// Resources is a set of labels that describe the source of a log entry, including envoy node info.
// It's recommended to follow [semantic conventions](https://opentelemetry.io/docs/reference/specification/resource/semantic_conventions/).
// +optional
Resources map[string]string `json:"resources,omitempty"`
}
TODO: consider reuse ExtensionService?
func (*OpenTelemetryEnvoyProxyAccessLog) DeepCopy ¶ added in v0.5.0
func (in *OpenTelemetryEnvoyProxyAccessLog) DeepCopy() *OpenTelemetryEnvoyProxyAccessLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetryEnvoyProxyAccessLog.
func (*OpenTelemetryEnvoyProxyAccessLog) DeepCopyInto ¶ added in v0.5.0
func (in *OpenTelemetryEnvoyProxyAccessLog) DeepCopyInto(out *OpenTelemetryEnvoyProxyAccessLog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenTelemetrySink ¶ added in v0.5.0
type OpenTelemetrySink struct {
// Host define the service hostname.
Host string `json:"host"`
// Port defines the port the service is exposed on.
//
// +optional
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
// +kubebuilder:default=4317
Port int32 `json:"port,omitempty"`
}
func (*OpenTelemetrySink) DeepCopy ¶ added in v0.5.0
func (in *OpenTelemetrySink) DeepCopy() *OpenTelemetrySink
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetrySink.
func (*OpenTelemetrySink) DeepCopyInto ¶ added in v0.5.0
func (in *OpenTelemetrySink) DeepCopyInto(out *OpenTelemetrySink)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusProvider ¶ added in v0.5.0
type PrometheusProvider struct {
}
func (*PrometheusProvider) DeepCopy ¶ added in v0.5.0
func (in *PrometheusProvider) DeepCopy() *PrometheusProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusProvider.
func (*PrometheusProvider) DeepCopyInto ¶ added in v0.5.0
func (in *PrometheusProvider) DeepCopyInto(out *PrometheusProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderType ¶
type ProviderType string
ProviderType defines the types of providers supported by Envoy Gateway.
+kubebuilder:validation:Enum=Kubernetes
const ( // ProviderTypeKubernetes defines the "Kubernetes" provider. ProviderTypeKubernetes ProviderType = "Kubernetes" // ProviderTypeFile defines the "File" provider. This type is not implemented // until https://github.com/envoyproxy/gateway/issues/1001 is fixed. ProviderTypeFile ProviderType = "File" )
type ProxyAccessLog ¶ added in v0.5.0
type ProxyAccessLog struct {
// Disable disables access logging for managed proxies if set to true.
Disable bool `json:"disable,omitempty"`
// Settings defines accesslog settings for managed proxies.
// If unspecified, will send default format to stdout.
// +optional
Settings []ProxyAccessLogSetting `json:"settings,omitempty"`
}
func (*ProxyAccessLog) DeepCopy ¶ added in v0.5.0
func (in *ProxyAccessLog) DeepCopy() *ProxyAccessLog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyAccessLog.
func (*ProxyAccessLog) DeepCopyInto ¶ added in v0.5.0
func (in *ProxyAccessLog) DeepCopyInto(out *ProxyAccessLog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyAccessLogFormat ¶ added in v0.5.0
type ProxyAccessLogFormat struct {
// Type defines the type of accesslog format.
// +kubebuilder:validation:Enum=Text;JSON
// +unionDiscriminator
Type ProxyAccessLogFormatType `json:"type,omitempty"`
// Text defines the text accesslog format, following Envoy accesslog formatting,
// empty value results in proxy's default access log format.
// It's required when the format type is "Text".
// Envoy [command operators](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators) may be used in the format.
// The [format string documentation](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#config-access-log-format-strings) provides more information.
// +optional
Text *string `json:"text,omitempty"`
// JSON is additional attributes that describe the specific event occurrence.
// Structured format for the envoy access logs. Envoy [command operators](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators)
// can be used as values for fields within the Struct.
// It's required when the format type is "JSON".
// +optional
JSON map[string]string `json:"json,omitempty"`
}
ProxyAccessLogFormat defines the format of accesslog. +union
func (*ProxyAccessLogFormat) DeepCopy ¶ added in v0.5.0
func (in *ProxyAccessLogFormat) DeepCopy() *ProxyAccessLogFormat
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyAccessLogFormat.
func (*ProxyAccessLogFormat) DeepCopyInto ¶ added in v0.5.0
func (in *ProxyAccessLogFormat) DeepCopyInto(out *ProxyAccessLogFormat)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyAccessLogFormatType ¶ added in v0.5.0
type ProxyAccessLogFormatType string
const ( // ProxyAccessLogFormatTypeText defines the text accesslog format. ProxyAccessLogFormatTypeText ProxyAccessLogFormatType = "Text" // ProxyAccessLogFormatTypeJSON defines the JSON accesslog format. ProxyAccessLogFormatTypeJSON ProxyAccessLogFormatType = "JSON" )
type ProxyAccessLogSetting ¶ added in v0.5.0
type ProxyAccessLogSetting struct {
// Format defines the format of accesslog.
Format ProxyAccessLogFormat `json:"format"`
// Sinks defines the sinks of accesslog.
// +kubebuilder:validation:MinItems=1
Sinks []ProxyAccessLogSink `json:"sinks"`
}
func (*ProxyAccessLogSetting) DeepCopy ¶ added in v0.5.0
func (in *ProxyAccessLogSetting) DeepCopy() *ProxyAccessLogSetting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyAccessLogSetting.
func (*ProxyAccessLogSetting) DeepCopyInto ¶ added in v0.5.0
func (in *ProxyAccessLogSetting) DeepCopyInto(out *ProxyAccessLogSetting)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyAccessLogSink ¶ added in v0.5.0
type ProxyAccessLogSink struct {
// Type defines the type of accesslog sink.
// +kubebuilder:validation:Enum=File;OpenTelemetry
Type ProxyAccessLogSinkType `json:"type,omitempty"`
// File defines the file accesslog sink.
// +optional
File *FileEnvoyProxyAccessLog `json:"file,omitempty"`
// OpenTelemetry defines the OpenTelemetry accesslog sink.
// +optional
OpenTelemetry *OpenTelemetryEnvoyProxyAccessLog `json:"openTelemetry,omitempty"`
}
func (*ProxyAccessLogSink) DeepCopy ¶ added in v0.5.0
func (in *ProxyAccessLogSink) DeepCopy() *ProxyAccessLogSink
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyAccessLogSink.
func (*ProxyAccessLogSink) DeepCopyInto ¶ added in v0.5.0
func (in *ProxyAccessLogSink) DeepCopyInto(out *ProxyAccessLogSink)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyAccessLogSinkType ¶ added in v0.5.0
type ProxyAccessLogSinkType string
const ( // ProxyAccessLogSinkTypeFile defines the file accesslog sink. ProxyAccessLogSinkTypeFile ProxyAccessLogSinkType = "File" // ProxyAccessLogSinkTypeOpenTelemetry defines the OpenTelemetry accesslog sink. // When the provider is Kubernetes, EnvoyGateway always sends `k8s.namespace.name` // and `k8s.pod.name` as additional attributes. ProxyAccessLogSinkTypeOpenTelemetry ProxyAccessLogSinkType = "OpenTelemetry" )
type ProxyLogging ¶ added in v0.3.0
type ProxyLogging struct {
// Level is a map of logging level per component, where the component is the key
// and the log level is the value. If unspecified, defaults to "default: warn".
//
// +kubebuilder:default={default: warn}
Level map[LogComponent]LogLevel `json:"level,omitempty"`
}
ProxyLogging defines logging parameters for managed proxies.
func (*ProxyLogging) DeepCopy ¶ added in v0.3.0
func (in *ProxyLogging) DeepCopy() *ProxyLogging
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyLogging.
func (*ProxyLogging) DeepCopyInto ¶ added in v0.3.0
func (in *ProxyLogging) DeepCopyInto(out *ProxyLogging)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyMetrics ¶ added in v0.5.0
type ProxyMetrics struct {
// Prometheus defines the configuration for Admin endpoint `/stats/prometheus`.
Prometheus *PrometheusProvider `json:"prometheus,omitempty"`
// Sinks defines the metric sinks where metrics are sent to.
Sinks []MetricSink `json:"sinks,omitempty"`
}
func (*ProxyMetrics) DeepCopy ¶ added in v0.5.0
func (in *ProxyMetrics) DeepCopy() *ProxyMetrics
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyMetrics.
func (*ProxyMetrics) DeepCopyInto ¶ added in v0.5.0
func (in *ProxyMetrics) DeepCopyInto(out *ProxyMetrics)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyTelemetry ¶ added in v0.5.0
type ProxyTelemetry struct {
// AccessLogs defines accesslog parameters for managed proxies.
// If unspecified, will send default format to stdout.
// +optional
AccessLog *ProxyAccessLog `json:"accessLog,omitempty"`
// Tracing defines tracing configuration for managed proxies.
// If unspecified, will not send tracing data.
// +optional
Tracing *ProxyTracing `json:"tracing,omitempty"`
// Metrics defines metrics configuration for managed proxies.
Metrics *ProxyMetrics `json:"metrics,omitempty"`
}
func (*ProxyTelemetry) DeepCopy ¶ added in v0.5.0
func (in *ProxyTelemetry) DeepCopy() *ProxyTelemetry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTelemetry.
func (*ProxyTelemetry) DeepCopyInto ¶ added in v0.5.0
func (in *ProxyTelemetry) DeepCopyInto(out *ProxyTelemetry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyTracing ¶ added in v0.5.0
type ProxyTracing struct {
// SamplingRate controls the rate at which traffic will be
// selected for tracing if no prior sampling decision has been made.
// Defaults to 100, valid values [0-100]. 100 indicates 100% sampling.
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=100
// +kubebuilder:default=100
// +optional
SamplingRate *uint32 `json:"samplingRate,omitempty"`
// CustomTags defines the custom tags to add to each span.
// If provider is kubernetes, pod name and namespace are added by default.
CustomTags map[string]CustomTag `json:"customTags,omitempty"`
// Provider defines the tracing provider.
// Only OpenTelemetry is supported currently.
Provider TracingProvider `json:"provider"`
}
func (*ProxyTracing) DeepCopy ¶ added in v0.5.0
func (in *ProxyTracing) DeepCopy() *ProxyTracing
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyTracing.
func (*ProxyTracing) DeepCopyInto ¶ added in v0.5.0
func (in *ProxyTracing) DeepCopyInto(out *ProxyTracing)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimit ¶ added in v0.3.0
type RateLimit struct {
// Backend holds the configuration associated with the
// database backend used by the rate limit service to store
// state associated with global ratelimiting.
Backend RateLimitDatabaseBackend `json:"backend"`
}
RateLimit defines the configuration associated with the Rate Limit Service used for Global Rate Limiting.
func (*RateLimit) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit.
func (*RateLimit) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitDatabaseBackend ¶ added in v0.3.0
type RateLimitDatabaseBackend struct {
// Type is the type of database backend to use. Supported types are:
// * Redis: Connects to a Redis database.
//
// +unionDiscriminator
Type RateLimitDatabaseBackendType `json:"type"`
// Redis defines the settings needed to connect to a Redis database.
//
// +optional
Redis *RateLimitRedisSettings `json:"redis,omitempty"`
}
RateLimitDatabaseBackend defines the configuration associated with the database backend used by the rate limit service. +union
func (*RateLimitDatabaseBackend) DeepCopy ¶ added in v0.3.0
func (in *RateLimitDatabaseBackend) DeepCopy() *RateLimitDatabaseBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitDatabaseBackend.
func (*RateLimitDatabaseBackend) DeepCopyInto ¶ added in v0.3.0
func (in *RateLimitDatabaseBackend) DeepCopyInto(out *RateLimitDatabaseBackend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitDatabaseBackendType ¶ added in v0.3.0
type RateLimitDatabaseBackendType string
RateLimitDatabaseBackendType specifies the types of database backend to be used by the rate limit service. +kubebuilder:validation:Enum=Redis
const ( // RedisBackendType uses a redis database for the rate limit service. RedisBackendType RateLimitDatabaseBackendType = "Redis" )
type RateLimitRedisSettings ¶ added in v0.3.0
type RateLimitRedisSettings struct {
// URL of the Redis Database.
URL string `json:"url"`
// TLS defines TLS configuration for connecting to redis database.
//
// +optional
TLS *RedisTLSSettings `json:"tls,omitempty"`
}
RateLimitRedisSettings defines the configuration for connecting to redis database.
func (*RateLimitRedisSettings) DeepCopy ¶ added in v0.3.0
func (in *RateLimitRedisSettings) DeepCopy() *RateLimitRedisSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitRedisSettings.
func (*RateLimitRedisSettings) DeepCopyInto ¶ added in v0.3.0
func (in *RateLimitRedisSettings) DeepCopyInto(out *RateLimitRedisSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RedisTLSSettings ¶ added in v0.5.0
type RedisTLSSettings struct {
// CertificateRef defines the client certificate reference for TLS connections.
// Currently only a Kubernetes Secret of type TLS is supported.
// +optional
CertificateRef *gwapiv1b1.SecretObjectReference `json:"certificateRef,omitempty"`
}
RedisTLSSettings defines the TLS configuration for connecting to redis database.
func (*RedisTLSSettings) DeepCopy ¶ added in v0.5.0
func (in *RedisTLSSettings) DeepCopy() *RedisTLSSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisTLSSettings.
func (*RedisTLSSettings) DeepCopyInto ¶ added in v0.5.0
func (in *RedisTLSSettings) DeepCopyInto(out *RedisTLSSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequestHeaderCustomTag ¶ added in v0.5.0
type RequestHeaderCustomTag struct {
// Name defines the name of the request header which to extract the value from.
Name string `json:"name"`
// DefaultValue defines the default value to use if the request header is not set.
// +optional
DefaultValue *string `json:"defaultValue,omitempty"`
}
RequestHeaderCustomTag adds value from request header to each span.
func (*RequestHeaderCustomTag) DeepCopy ¶ added in v0.5.0
func (in *RequestHeaderCustomTag) DeepCopy() *RequestHeaderCustomTag
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderCustomTag.
func (*RequestHeaderCustomTag) DeepCopyInto ¶ added in v0.5.0
func (in *RequestHeaderCustomTag) DeepCopyInto(out *RequestHeaderCustomTag)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceProviderType ¶ added in v0.5.0
type ResourceProviderType string
ResourceProviderType defines the types of custom resource providers supported by Envoy Gateway.
+kubebuilder:validation:Enum=File
const ( // ResourceProviderTypeFile defines the "File" provider. ResourceProviderTypeFile ResourceProviderType = "File" )
type ServiceType ¶ added in v0.4.0
type ServiceType string
ServiceType string describes ingress methods for a service +enum +kubebuilder:validation:Enum=ClusterIP;LoadBalancer;NodePort
const ( // ServiceTypeClusterIP means a service will only be accessible inside the // cluster, via the cluster IP. ServiceTypeClusterIP ServiceType = "ClusterIP" // ServiceTypeLoadBalancer means a service will be exposed via an // external load balancer (if the cloud provider supports it). ServiceTypeLoadBalancer ServiceType = "LoadBalancer" // ServiceTypeNodePort means a service will be exposed on each Kubernetes Node // at a static Port, common across all Nodes. ServiceTypeNodePort ServiceType = "NodePort" )
func DefaultKubernetesServiceType ¶ added in v0.4.0
func DefaultKubernetesServiceType() *ServiceType
DefaultKubernetesServiceType returns a new KubernetesServiceType with default settings.
func GetKubernetesServiceType ¶ added in v0.4.0
func GetKubernetesServiceType(serviceType ServiceType) *ServiceType
GetKubernetesServiceType returns the KubernetesServiceType pointer.
type TracingProvider ¶ added in v0.5.0
type TracingProvider struct {
// Type defines the tracing provider type.
// EG currently only supports OpenTelemetry.
// +kubebuilder:validation:Enum=OpenTelemetry
// +kubebuilder:default=OpenTelemetry
Type TracingProviderType `json:"type"`
// Host define the provider service hostname.
Host string `json:"host"`
// Port defines the port the provider service is exposed on.
//
// +optional
// +kubebuilder:validation:Minimum=0
// +kubebuilder:default=4317
Port int32 `json:"port,omitempty"`
}
func (*TracingProvider) DeepCopy ¶ added in v0.5.0
func (in *TracingProvider) DeepCopy() *TracingProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TracingProvider.
func (*TracingProvider) DeepCopyInto ¶ added in v0.5.0
func (in *TracingProvider) DeepCopyInto(out *TracingProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TracingProviderType ¶ added in v0.5.0
type TracingProviderType string
const (
TracingProviderTypeOpenTelemetry TracingProviderType = "OpenTelemetry"
)
type XDSTranslatorHook ¶ added in v0.4.0
type XDSTranslatorHook string
XDSTranslatorHook defines the types of hooks that an Envoy Gateway extension may support for the xds-translator
+kubebuilder:validation:Enum=VirtualHost;Route;HTTPListener;Translation
const ( XDSVirtualHost XDSTranslatorHook = "VirtualHost" XDSRoute XDSTranslatorHook = "Route" XDSHTTPListener XDSTranslatorHook = "HTTPListener" XDSTranslation XDSTranslatorHook = "Translation" )
type XDSTranslatorHooks ¶ added in v0.4.0
type XDSTranslatorHooks struct {
Pre []XDSTranslatorHook `json:"pre,omitempty"`
Post []XDSTranslatorHook `json:"post,omitempty"`
}
XDSTranslatorHooks contains all the pre and post hooks for the xds-translator runner.
func (*XDSTranslatorHooks) DeepCopy ¶ added in v0.4.0
func (in *XDSTranslatorHooks) DeepCopy() *XDSTranslatorHooks
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XDSTranslatorHooks.
func (*XDSTranslatorHooks) DeepCopyInto ¶ added in v0.4.0
func (in *XDSTranslatorHooks) DeepCopyInto(out *XDSTranslatorHooks)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.