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 DefaultResourceRequirements() *corev1.ResourceRequirements
- type EnvoyGateway
- type EnvoyGatewayFileProvider
- type EnvoyGatewayKubernetesProvider
- type EnvoyGatewayProvider
- type EnvoyGatewaySpec
- type EnvoyProxy
- type EnvoyProxyKubernetesProvider
- type EnvoyProxyList
- type EnvoyProxyProvider
- type EnvoyProxySpec
- type EnvoyProxyStatus
- type Extension
- type ExtensionHooks
- type ExtensionService
- type ExtensionTLS
- type Gateway
- type GroupVersionKind
- type KubernetesContainerSpec
- type KubernetesDeploymentSpec
- type KubernetesPodSpec
- type KubernetesServiceSpec
- type LogComponent
- type LogLevel
- type ProviderType
- type ProxyLogging
- type RateLimit
- type RateLimitDatabaseBackend
- type RateLimitDatabaseBackendType
- type RateLimitRedisSettings
- type ServiceType
- 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" )
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.25-latest" // DefaultRateLimitImage is the default image used by ratelimit. DefaultRateLimitImage = "envoyproxy/ratelimit:542a6047" )
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 DefaultResourceRequirements ¶ added in v0.4.0
func DefaultResourceRequirements() *corev1.ResourceRequirements
DefaultResourceRequirements returns a new ResourceRequirements with default settings.
Types ¶
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) 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 EnvoyGatewayFileProvider ¶ added in v0.4.0
type EnvoyGatewayFileProvider struct { }
EnvoyGatewayFileProvider defines configuration for the File provider.
func (*EnvoyGatewayFileProvider) DeepCopy ¶ added in v0.4.0
func (in *EnvoyGatewayFileProvider) DeepCopy() *EnvoyGatewayFileProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyGatewayFileProvider.
func (*EnvoyGatewayFileProvider) DeepCopyInto ¶ added in v0.4.0
func (in *EnvoyGatewayFileProvider) DeepCopyInto(out *EnvoyGatewayFileProvider)
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"` }
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 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"` // File defines the configuration of the File provider. File provides runtime // configuration defined by one or more files. This type is not implemented // until https://github.com/envoyproxy/gateway/issues/1001 is fixed. // // +optional File *EnvoyGatewayFileProvider `json:"file,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 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"` // 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"` // Extension defines an extension to register for the Envoy Gateway Control Plane. // // +optional Extension *Extension `json:"extension,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.
func (*EnvoyProxy) Validate ¶ added in v0.4.0
func (e *EnvoyProxy) Validate() error
Validate validates the provided EnvoyProxy.
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. If unspecified, // default settings apply. This type is not implemented until // https://github.com/envoyproxy/gateway/issues/280 is fixed. // // +kubebuilder:default={level: {system: info}} Logging ProxyLogging `json:"logging,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 Extension ¶ added in v0.4.0
type Extension 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"` }
Extension defines the configuration for registering an extension to the Envoy Gateway control plane.
func (*Extension) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extension.
func (*Extension) DeepCopyInto ¶ added in v0.4.0
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 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 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 KubernetesContainerSpec ¶ added in v0.4.0
type KubernetesContainerSpec struct { // 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"` }
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 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"` // 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"` // 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"` }
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 and LoadBalancer. // "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. // +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 LogComponent ¶ added in v0.3.0
type LogComponent string
LogComponent defines a component that supports a configured logging level. This type is not implemented until https://github.com/envoyproxy/gateway/issues/280 is fixed. +kubebuilder:validation:Enum=system;upstream;http;connection;admin;client;filter;main;router;runtime
const ( // LogComponentSystem defines the "system"-wide logging component. When specified, // all other logging components are ignored. LogComponentSystem LogComponent = "system" // LogComponentUpstream defines defines the "upstream" logging component. LogComponentUpstream LogComponent = "upstream" // LogComponentHTTP defines defines the "http" logging component. LogComponentHTTP LogComponent = "http" // LogComponentConnection defines defines the "connection" logging component. LogComponentConnection LogComponent = "connection" // LogComponentAdmin defines defines the "admin" logging component. LogComponentAdmin LogComponent = "admin" // LogComponentClient defines defines the "client" logging component. LogComponentClient LogComponent = "client" // LogComponentFilter defines defines the "filter" logging component. LogComponentFilter LogComponent = "filter" // LogComponentMain defines defines the "main" logging component. LogComponentMain LogComponent = "main" // LogComponentRouter defines defines the "router" logging component. LogComponentRouter LogComponent = "router" // LogComponentRuntime defines defines the "runtime" logging component. LogComponentRuntime LogComponent = "runtime" )
type LogLevel ¶ added in v0.3.0
type LogLevel string
LogLevel defines a log level for system logs. This type is not implemented until https://github.com/envoyproxy/gateway/issues/280 is fixed. +kubebuilder:validation:Enum=debug;info;error
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 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 "System: Info". // // +kubebuilder:default={system: info} Level map[LogComponent]LogLevel `json:"level,omitempty"` }
ProxyLogging defines logging parameters for managed proxies. This type is not implemented until https://github.com/envoyproxy/gateway/issues/280 is fixed.
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 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"` }
RateLimitRedisSettings defines the configuration for connecting to a 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 ServiceType ¶ added in v0.4.0
type ServiceType string
ServiceType string describes ingress methods for a service +enum +kubebuilder:validation:Enum=LoadBalancer;ClusterIP
const ( // ServiceTypeLoadBalancer means a service will be exposed via an // external load balancer (if the cloud provider supports it). ServiceTypeLoadBalancer ServiceType = "LoadBalancer" // ServiceTypeClusterIP means a service will only be accessible inside the // cluster, via the cluster IP. ServiceTypeClusterIP ServiceType = "ClusterIP" )
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 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.