v1alpha1

package
v1.18.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=gateway.gloo.solo.io

Index

Constants

View Source
const (
	Group   = "gateway.gloo.solo.io"
	Version = "v1alpha1"

	// GatewayParametersKind is the kind for the GatewayParameters CRD.
	GatewayParametersKind = "GatewayParameters"
	// DirectResponseKind is the kind for the DirectResponse CRD.
	DirectResponseKind = "DirectResponse"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: Group, Version: Version}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme

	GatewayParametersGVK = schema.GroupVersionKind{
		Group:   Group,
		Version: Version,
		Kind:    GatewayParametersKind,
	}

	DirectResponseGVK = schema.GroupVersionKind{
		Group:   Group,
		Version: Version,
		Kind:    DirectResponseKind,
	}
)

Functions

This section is empty.

Types

type AiExtension added in v1.18.0

type AiExtension struct {
	// Whether to enable the extension.
	//
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty"`

	// The extension's container image. See
	// https://kubernetes.io/docs/concepts/containers/images
	// for details.
	//
	// +kubebuilder:validation:Optional
	Image *Image `json:"image,omitempty"`

	// The security context for this container. See
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core
	// for details.
	//
	// +kubebuilder:validation:Optional
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`

	// The compute resources required by this container. See
	// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	// for details.
	//
	// +kubebuilder:validation:Optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// The extension's container environment variables.
	//
	// +kubebuilder:validation:Optional
	Env []*corev1.EnvVar `json:"env,omitempty"`

	// The extensions's container ports.
	//
	// +kubebuilder:validation:Optional
	Ports []*corev1.ContainerPort `json:"ports,omitempty"`

	// Additional stats config for AI Extension.
	// This config can be useful for adding custom labels to the request metrics.
	// +optional
	//
	// Example:
	// “`yaml
	// stats:
	//   customLabels:
	//     - name: "subject"
	//       metadataNamespace: "envoy.filters.http.jwt_authn"
	//       metadataKey: "principal:sub"
	//     - name: "issuer"
	//       metadataNamespace: "envoy.filters.http.jwt_authn"
	//       metadataKey: "principal:iss"
	// “`
	Stats *AiExtensionStats `json:"stats,omitempty"`
}

Configuration for the AI extension.

func (*AiExtension) DeepCopy added in v1.18.0

func (in *AiExtension) DeepCopy() *AiExtension

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiExtension.

func (*AiExtension) DeepCopyInto added in v1.18.0

func (in *AiExtension) DeepCopyInto(out *AiExtension)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AiExtension) GetEnabled added in v1.18.0

func (in *AiExtension) GetEnabled() *bool

func (*AiExtension) GetEnv added in v1.18.0

func (in *AiExtension) GetEnv() []*corev1.EnvVar

func (*AiExtension) GetImage added in v1.18.0

func (in *AiExtension) GetImage() *Image

func (*AiExtension) GetPorts added in v1.18.0

func (in *AiExtension) GetPorts() []*corev1.ContainerPort

func (*AiExtension) GetResources added in v1.18.0

func (in *AiExtension) GetResources() *corev1.ResourceRequirements

func (*AiExtension) GetSecurityContext added in v1.18.0

func (in *AiExtension) GetSecurityContext() *corev1.SecurityContext

func (*AiExtension) GetStats added in v1.18.0

func (in *AiExtension) GetStats() *AiExtensionStats

type AiExtensionStats added in v1.18.0

type AiExtensionStats struct {
	// Set of custom labels to be added to the request metrics.
	// These will be added on each request which goes through the AI Extension.
	// +optional
	CustomLabels []*CustomLabel `json:"customLabels,omitempty"`
}

func (*AiExtensionStats) DeepCopy added in v1.18.0

func (in *AiExtensionStats) DeepCopy() *AiExtensionStats

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AiExtensionStats.

func (*AiExtensionStats) DeepCopyInto added in v1.18.0

func (in *AiExtensionStats) DeepCopyInto(out *AiExtensionStats)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AiExtensionStats) GetCustomLabels added in v1.18.0

func (in *AiExtensionStats) GetCustomLabels() []*CustomLabel

type CustomLabel added in v1.18.0

type CustomLabel struct {
	// Name of the label to use in the prometheus metrics
	//
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// The dynamic metadata namespace to get the data from. If not specified, the default namespace will be
	// the envoy JWT filter namespace.
	// This can also be used in combination with early_transformations to insert custom data.
	// +optional
	//
	// +kubebuilder:validation:Enum=envoy.filters.http.jwt_authn;io.solo.transformation
	MetadataNamespace *string `json:"metadataNamespace,omitempty"`

	// The key to use to get the data from the metadata namespace.
	// If using a JWT data please see the following envoy docs: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/jwt_authn/v3/config.proto#envoy-v3-api-field-extensions-filters-http-jwt-authn-v3-jwtprovider-payload-in-metadata
	// This key follows the same format as the envoy access logging for dynamic metadata.
	// Examples can be found here: https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage
	//
	// +kubebuilder:validation:MinLength=1
	MetdataKey string `json:"metadataKey"`

	// The key delimiter to use, by default this is set to `:`.
	// This allows for keys with `.` in them to be used.
	// For example, if you have keys in your path with `:` in them, (e.g. `key1:key2:value`)
	// you can instead set this to `~` to be able to split those keys properly.
	// +optional
	KeyDelimiter *string `json:"keyDelimiter,omitempty"`
}

func (*CustomLabel) DeepCopy added in v1.18.0

func (in *CustomLabel) DeepCopy() *CustomLabel

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomLabel.

func (*CustomLabel) DeepCopyInto added in v1.18.0

func (in *CustomLabel) DeepCopyInto(out *CustomLabel)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CustomLabel) GetKeyDelimiter added in v1.18.0

func (in *CustomLabel) GetKeyDelimiter() *string

func (*CustomLabel) GetMetadataNamespace added in v1.18.0

func (in *CustomLabel) GetMetadataNamespace() *string

func (*CustomLabel) GetMetdataKey added in v1.18.0

func (in *CustomLabel) GetMetdataKey() string

func (*CustomLabel) GetName added in v1.18.0

func (in *CustomLabel) GetName() string

type DirectResponse added in v1.18.0

type DirectResponse struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DirectResponseSpec   `json:"spec,omitempty"`
	Status DirectResponseStatus `json:"status,omitempty"`
}

DirectResponse contains configuration for defining direct response routes.

+kubebuilder:object:root=true +kubebuilder:metadata:labels={app=gloo-gateway,app.kubernetes.io/name=gloo-gateway} +kubebuilder:resource:categories=gloo-gateway,shortName=dr +kubebuilder:subresource:status

func (*DirectResponse) DeepCopy added in v1.18.0

func (in *DirectResponse) DeepCopy() *DirectResponse

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectResponse.

func (*DirectResponse) DeepCopyInto added in v1.18.0

func (in *DirectResponse) DeepCopyInto(out *DirectResponse)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DirectResponse) DeepCopyObject added in v1.18.0

func (in *DirectResponse) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DirectResponse) GetBody added in v1.18.0

func (in *DirectResponse) GetBody() string

GetBody returns the content to be returned in the HTTP response body.

func (*DirectResponse) GetStatusCode added in v1.18.0

func (in *DirectResponse) GetStatusCode() uint32

GetStatus returns the HTTP status code to return for this route.

type DirectResponseList added in v1.18.0

type DirectResponseList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DirectResponse `json:"items"`
}

+kubebuilder:object:root=true

func (*DirectResponseList) DeepCopy added in v1.18.0

func (in *DirectResponseList) DeepCopy() *DirectResponseList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectResponseList.

func (*DirectResponseList) DeepCopyInto added in v1.18.0

func (in *DirectResponseList) DeepCopyInto(out *DirectResponseList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DirectResponseList) DeepCopyObject added in v1.18.0

func (in *DirectResponseList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DirectResponseSpec added in v1.18.0

type DirectResponseSpec struct {
	// StatusCode defines the HTTP status code to return for this route.
	//
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=200
	// +kubebuilder:validation:Maximum=599
	StatusCode uint32 `json:"status"`
	// Body defines the content to be returned in the HTTP response body.
	// The maximum length of the body is restricted to prevent excessively large responses.
	//
	// +kubebuilder:validation:MaxLength=4096
	// +kubebuilder:validation:Optional
	Body string `json:"body,omitempty"`
}

DirectResponseSpec describes the desired state of a DirectResponse.

func (*DirectResponseSpec) DeepCopy added in v1.18.0

func (in *DirectResponseSpec) DeepCopy() *DirectResponseSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectResponseSpec.

func (*DirectResponseSpec) DeepCopyInto added in v1.18.0

func (in *DirectResponseSpec) DeepCopyInto(out *DirectResponseSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DirectResponseStatus added in v1.18.0

type DirectResponseStatus struct{}

DirectResponseStatus defines the observed state of a DirectResponse.

func (*DirectResponseStatus) DeepCopy added in v1.18.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectResponseStatus.

func (*DirectResponseStatus) DeepCopyInto added in v1.18.0

func (in *DirectResponseStatus) DeepCopyInto(out *DirectResponseStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvoyBootstrap

type EnvoyBootstrap struct {
	// Envoy log level. Options include "trace", "debug", "info", "warn", "error",
	// "critical" and "off". Defaults to "info". See
	// https://www.envoyproxy.io/docs/envoy/latest/start/quick-start/run-envoy#debugging-envoy
	// for more information.
	//
	// +kubebuilder:validation:Optional
	LogLevel *string `json:"logLevel,omitempty"`

	// Envoy log levels for specific components. The keys are component names and
	// the values are one of "trace", "debug", "info", "warn", "error",
	// "critical", or "off", e.g.
	//
	//	“`yaml
	//	componentLogLevels:
	//	  upstream: debug
	//	  connection: trace
	//	“`
	//
	// These will be converted to the `--component-log-level` Envoy argument
	// value. See
	// https://www.envoyproxy.io/docs/envoy/latest/start/quick-start/run-envoy#debugging-envoy
	// for more information.
	//
	// Note: the keys and values cannot be empty, but they are not otherwise validated.
	//
	// +kubebuilder:validation:Optional
	ComponentLogLevels map[string]string `json:"componentLogLevels,omitempty"`
}

Configuration for the Envoy proxy instance that is provisioned from a Kubernetes Gateway.

func (*EnvoyBootstrap) DeepCopy

func (in *EnvoyBootstrap) DeepCopy() *EnvoyBootstrap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyBootstrap.

func (*EnvoyBootstrap) DeepCopyInto

func (in *EnvoyBootstrap) DeepCopyInto(out *EnvoyBootstrap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EnvoyBootstrap) GetComponentLogLevels

func (in *EnvoyBootstrap) GetComponentLogLevels() map[string]string

func (*EnvoyBootstrap) GetLogLevel

func (in *EnvoyBootstrap) GetLogLevel() *string

type EnvoyContainer

type EnvoyContainer struct {

	// Initial envoy configuration.
	//
	// +kubebuilder:validation:Optional
	Bootstrap *EnvoyBootstrap `json:"bootstrap,omitempty"`

	// The envoy container image. See
	// https://kubernetes.io/docs/concepts/containers/images
	// for details.
	//
	// Default values, which may be overridden individually:
	//
	//	registry: quay.io/solo-io
	//	repository: gloo-envoy-wrapper (OSS) / gloo-ee-envoy-wrapper (EE)
	//	tag: <gloo version> (OSS) / <gloo-ee version> (EE)
	//	pullPolicy: IfNotPresent
	//
	// +kubebuilder:validation:Optional
	Image *Image `json:"image,omitempty"`

	// The security context for this container. See
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core
	// for details.
	//
	// +kubebuilder:validation:Optional
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`

	// The compute resources required by this container. See
	// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	// for details.
	//
	// +kubebuilder:validation:Optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

Configuration for the container running Envoy.

func (*EnvoyContainer) DeepCopy

func (in *EnvoyContainer) DeepCopy() *EnvoyContainer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyContainer.

func (*EnvoyContainer) DeepCopyInto

func (in *EnvoyContainer) DeepCopyInto(out *EnvoyContainer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EnvoyContainer) GetBootstrap

func (in *EnvoyContainer) GetBootstrap() *EnvoyBootstrap

func (*EnvoyContainer) GetImage

func (in *EnvoyContainer) GetImage() *Image

func (*EnvoyContainer) GetResources

func (in *EnvoyContainer) GetResources() *corev1.ResourceRequirements

func (*EnvoyContainer) GetSecurityContext

func (in *EnvoyContainer) GetSecurityContext() *corev1.SecurityContext

type GatewayParameters

type GatewayParameters struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GatewayParametersSpec   `json:"spec,omitempty"`
	Status GatewayParametersStatus `json:"status,omitempty"`
}

A GatewayParameters contains configuration that is used to dynamically provision Gloo Gateway's data plane (Envoy proxy instance), based on a Kubernetes Gateway.

+kubebuilder:object:root=true +kubebuilder:metadata:labels={app=gloo-gateway,app.kubernetes.io/name=gloo-gateway} +kubebuilder:resource:categories=gloo-gateway,shortName=gwp +kubebuilder:subresource:status

func (*GatewayParameters) DeepCopy

func (in *GatewayParameters) DeepCopy() *GatewayParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayParameters.

func (*GatewayParameters) DeepCopyInto

func (in *GatewayParameters) DeepCopyInto(out *GatewayParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GatewayParameters) DeepCopyObject

func (in *GatewayParameters) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GatewayParametersList

type GatewayParametersList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GatewayParameters `json:"items"`
}

+kubebuilder:object:root=true

func (*GatewayParametersList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayParametersList.

func (*GatewayParametersList) DeepCopyInto

func (in *GatewayParametersList) DeepCopyInto(out *GatewayParametersList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GatewayParametersList) DeepCopyObject

func (in *GatewayParametersList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GatewayParametersSpec

type GatewayParametersSpec struct {
	// The proxy will be deployed on Kubernetes.
	//
	// +kubebuilder:validation:Optional
	Kube *KubernetesProxyConfig `json:"kube,omitempty"`

	// The proxy will be self-managed and not auto-provisioned.
	//
	// +kubebuilder:validation:Optional
	// +kubebuilder:pruning:PreserveUnknownFields
	SelfManaged *SelfManagedGateway `json:"selfManaged,omitempty"`
}

A GatewayParametersSpec describes the type of environment/platform in which the proxy will be provisioned.

+kubebuilder:validation:XValidation:message="only one of 'kube' or 'selfManaged' may be set",rule="(has(self.kube) && !has(self.selfManaged)) || (!has(self.kube) && has(self.selfManaged))"

func (*GatewayParametersSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayParametersSpec.

func (*GatewayParametersSpec) DeepCopyInto

func (in *GatewayParametersSpec) DeepCopyInto(out *GatewayParametersSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayParametersStatus

type GatewayParametersStatus struct {
}

The current conditions of the GatewayParameters. This is not currently implemented.

func (*GatewayParametersStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayParametersStatus.

func (*GatewayParametersStatus) DeepCopyInto

func (in *GatewayParametersStatus) DeepCopyInto(out *GatewayParametersStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GracefulShutdownSpec added in v1.18.0

type GracefulShutdownSpec struct {
	// Enable grace period before shutdown to finish current requests while Envoy health checks fail to e.g. notify external load balancers. *NOTE:* This will not have any effect if you have not defined health checks via the health check filter
	//
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty"`

	// Time (in seconds) for the preStop hook to wait before allowing Envoy to terminate
	//
	// +kubebuilder:validation:Optional
	SleepTimeSeconds *int `json:"sleepTimeSeconds,omitempty"`
}

func (*GracefulShutdownSpec) DeepCopy added in v1.18.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GracefulShutdownSpec.

func (*GracefulShutdownSpec) DeepCopyInto added in v1.18.0

func (in *GracefulShutdownSpec) DeepCopyInto(out *GracefulShutdownSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GracefulShutdownSpec) GetEnabled added in v1.18.0

func (in *GracefulShutdownSpec) GetEnabled() *bool

func (*GracefulShutdownSpec) GetSleepTimeSeconds added in v1.18.0

func (in *GracefulShutdownSpec) GetSleepTimeSeconds() *int

type Image

type Image struct {
	// The image registry.
	//
	// +kubebuilder:validation:Optional
	Registry *string `json:"registry,omitempty"`

	// The image repository (name).
	//
	// +kubebuilder:validation:Optional
	Repository *string `json:"repository,omitempty"`

	// The image tag.
	//
	// +kubebuilder:validation:Optional
	Tag *string `json:"tag,omitempty"`

	// The hash digest of the image, e.g. `sha256:12345...`
	//
	// +kubebuilder:validation:Optional
	Digest *string `json:"digest,omitempty"`

	// The image pull policy for the container. See
	// https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy
	// for details.
	//
	// +kubebuilder:validation:Optional
	PullPolicy *corev1.PullPolicy `json:"pullPolicy,omitempty"`
}

A container image. See https://kubernetes.io/docs/concepts/containers/images for details.

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Image) GetDigest

func (in *Image) GetDigest() *string

func (*Image) GetPullPolicy

func (in *Image) GetPullPolicy() *corev1.PullPolicy

func (*Image) GetRegistry

func (in *Image) GetRegistry() *string

func (*Image) GetRepository

func (in *Image) GetRepository() *string

func (*Image) GetTag

func (in *Image) GetTag() *string

type IstioContainer

type IstioContainer struct {
	// The envoy container image. See
	// https://kubernetes.io/docs/concepts/containers/images
	// for details.
	//
	// +kubebuilder:validation:Optional
	Image *Image `json:"image,omitempty"`

	// The security context for this container. See
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core
	// for details.
	//
	// +kubebuilder:validation:Optional
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`

	// The compute resources required by this container. See
	// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	// for details.
	//
	// +kubebuilder:validation:Optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// Log level for istio-proxy. Options include "info", "debug", "warning", and "error".
	// Default level is info Default is "warning".
	//
	// +kubebuilder:validation:Optional
	LogLevel *string `json:"logLevel,omitempty"`

	// The address of the istio discovery service. Defaults to "istiod.istio-system.svc:15012".
	//
	// +kubebuilder:validation:Optional
	IstioDiscoveryAddress *string `json:"istioDiscoveryAddress,omitempty"`

	// The mesh id of the istio mesh. Defaults to "cluster.local".
	//
	// +kubebuilder:validation:Optional
	IstioMetaMeshId *string `json:"istioMetaMeshId,omitempty"`

	// The cluster id of the istio cluster. Defaults to "Kubernetes".
	//
	// +kubebuilder:validation:Optional
	IstioMetaClusterId *string `json:"istioMetaClusterId,omitempty"`
}

Configuration for the container running the istio-proxy.

func (*IstioContainer) DeepCopy

func (in *IstioContainer) DeepCopy() *IstioContainer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioContainer.

func (*IstioContainer) DeepCopyInto

func (in *IstioContainer) DeepCopyInto(out *IstioContainer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IstioContainer) GetImage

func (in *IstioContainer) GetImage() *Image

func (*IstioContainer) GetIstioDiscoveryAddress

func (in *IstioContainer) GetIstioDiscoveryAddress() *string

func (*IstioContainer) GetIstioMetaClusterId

func (in *IstioContainer) GetIstioMetaClusterId() *string

func (*IstioContainer) GetIstioMetaMeshId

func (in *IstioContainer) GetIstioMetaMeshId() *string

func (*IstioContainer) GetLogLevel

func (in *IstioContainer) GetLogLevel() *string

func (*IstioContainer) GetResources

func (in *IstioContainer) GetResources() *corev1.ResourceRequirements

func (*IstioContainer) GetSecurityContext

func (in *IstioContainer) GetSecurityContext() *corev1.SecurityContext

type IstioIntegration

type IstioIntegration struct {
	// Configuration for the container running istio-proxy.
	// Note that if Istio integration is not enabled, the istio container will not be injected
	// into the gateway proxy deployment.
	//
	// +kubebuilder:validation:Optional
	IstioProxyContainer *IstioContainer `json:"istioProxyContainer,omitempty"`

	// Override the default Istio sidecar in gateway-proxy with a custom container.
	//
	// +kubebuilder:validation:Optional
	CustomSidecars []*corev1.Container `json:"customSidecars,omitempty"`
}

Configuration for the Istio integration settings used by a Gloo Gateway's data plane (Envoy proxy instance)

func (*IstioIntegration) DeepCopy

func (in *IstioIntegration) DeepCopy() *IstioIntegration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioIntegration.

func (*IstioIntegration) DeepCopyInto

func (in *IstioIntegration) DeepCopyInto(out *IstioIntegration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IstioIntegration) GetCustomSidecars

func (in *IstioIntegration) GetCustomSidecars() []*corev1.Container

func (*IstioIntegration) GetIstioProxyContainer

func (in *IstioIntegration) GetIstioProxyContainer() *IstioContainer

type KubernetesProxyConfig

type KubernetesProxyConfig struct {
	// Use a Kubernetes deployment as the proxy workload type. Currently, this is the only
	// supported workload type.
	//
	// +kubebuilder:validation:Optional
	Deployment *ProxyDeployment `json:"deployment,omitempty"`

	// Configuration for the container running Envoy.
	//
	// +kubebuilder:validation:Optional
	EnvoyContainer *EnvoyContainer `json:"envoyContainer,omitempty"`

	// Configuration for the container running the Secret Discovery Service (SDS).
	//
	// +kubebuilder:validation:Optional
	SdsContainer *SdsContainer `json:"sdsContainer,omitempty"`

	// Configuration for the pods that will be created.
	//
	// +kubebuilder:validation:Optional
	PodTemplate *Pod `json:"podTemplate,omitempty"`

	// Configuration for the Kubernetes Service that exposes the Envoy proxy over
	// the network.
	//
	// +kubebuilder:validation:Optional
	Service *Service `json:"service,omitempty"`

	// Configuration for the Kubernetes ServiceAccount used by the Envoy pod.
	//
	// +kubebuilder:validation:Optional
	ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"`

	// Configuration for the Istio integration.
	//
	// +kubebuilder:validation:Optional
	Istio *IstioIntegration `json:"istio,omitempty"`

	// Configuration for the stats server.
	//
	// +kubebuilder:validation:Optional
	Stats *StatsConfig `json:"stats,omitempty"`

	// Configuration for the AI extension.
	//
	// +kubebuilder:validation:Optional
	AiExtension *AiExtension `json:"aiExtension,omitempty"`

	// Used to unset the `runAsUser` values in security contexts.
	FloatingUserId *bool `json:"floatingUserId,omitempty"`
}

Configuration for the set of Kubernetes resources that will be provisioned for a given Gateway.

func (*KubernetesProxyConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesProxyConfig.

func (*KubernetesProxyConfig) DeepCopyInto

func (in *KubernetesProxyConfig) DeepCopyInto(out *KubernetesProxyConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KubernetesProxyConfig) GetAiExtension added in v1.18.0

func (in *KubernetesProxyConfig) GetAiExtension() *AiExtension

func (*KubernetesProxyConfig) GetDeployment

func (in *KubernetesProxyConfig) GetDeployment() *ProxyDeployment

func (*KubernetesProxyConfig) GetEnvoyContainer

func (in *KubernetesProxyConfig) GetEnvoyContainer() *EnvoyContainer

func (*KubernetesProxyConfig) GetFloatingUserId added in v1.17.3

func (in *KubernetesProxyConfig) GetFloatingUserId() *bool

func (*KubernetesProxyConfig) GetIstio

func (in *KubernetesProxyConfig) GetIstio() *IstioIntegration

func (*KubernetesProxyConfig) GetPodTemplate

func (in *KubernetesProxyConfig) GetPodTemplate() *Pod

func (*KubernetesProxyConfig) GetSdsContainer

func (in *KubernetesProxyConfig) GetSdsContainer() *SdsContainer

func (*KubernetesProxyConfig) GetService

func (in *KubernetesProxyConfig) GetService() *Service

func (*KubernetesProxyConfig) GetServiceAccount added in v1.17.16

func (in *KubernetesProxyConfig) GetServiceAccount() *ServiceAccount

func (*KubernetesProxyConfig) GetStats

func (in *KubernetesProxyConfig) GetStats() *StatsConfig

type Pod

type Pod struct {
	// Additional labels to add to the Pod object metadata.
	//
	// +kubebuilder:validation:Optional
	ExtraLabels map[string]string `json:"extraLabels,omitempty"`

	// Additional annotations to add to the Pod object metadata.
	//
	// +kubebuilder:validation:Optional
	ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty"`

	// The pod security context. See
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#podsecuritycontext-v1-core
	// for details.
	//
	// +kubebuilder:validation:Optional
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`

	// An optional list of references to secrets in the same namespace to use for
	// pulling any of the images used by this Pod spec. See
	// https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
	// for details.
	//
	// +kubebuilder:validation:Optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// A selector which must be true for the pod to fit on a node. See
	// https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ for
	// details.
	//
	// +kubebuilder:validation:Optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// If specified, the pod's scheduling constraints. See
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#affinity-v1-core
	// for details.
	//
	// +kubebuilder:validation:Optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// If specified, the pod's tolerations. See
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#toleration-v1-core
	// for details.
	//
	// +kubebuilder:validation:Optional
	Tolerations []*corev1.Toleration `json:"tolerations,omitempty"`

	// If specified, the pod's graceful shutdown spec.
	//
	// +kubebuilder:validation:Optional
	GracefulShutdown *GracefulShutdownSpec `json:"gracefulShutdown,omitempty"`

	// If specified, the pod's termination grace period in seconds. See
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#pod-v1-core
	// for details
	//
	// +kubebuilder:validation:Optional
	TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds,omitempty"`

	// If specified, the pod's readiness probe. Periodic probe of container service readiness.
	// Container will be removed from service endpoints if the probe fails. See
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#probe-v1-core
	// for details.
	//
	// +kubebuilder:validation:Optional
	ReadinessProbe *corev1.Probe `json:"readinessProbe,omitempty"`

	// If specified, the pod's liveness probe. Periodic probe of container service readiness.
	// Container will be restarted if the probe fails. See
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#probe-v1-core
	// for details.
	//
	// +kubebuilder:validation:Optional
	LivenessProbe *corev1.Probe `json:"livenessProbe,omitempty"`
}

Configuration for a Kubernetes Pod template.

func (*Pod) DeepCopy

func (in *Pod) DeepCopy() *Pod

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.

func (*Pod) DeepCopyInto

func (in *Pod) DeepCopyInto(out *Pod)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Pod) GetAffinity

func (in *Pod) GetAffinity() *corev1.Affinity

func (*Pod) GetExtraAnnotations

func (in *Pod) GetExtraAnnotations() map[string]string

func (*Pod) GetExtraLabels

func (in *Pod) GetExtraLabels() map[string]string

func (*Pod) GetGracefulShutdown added in v1.18.0

func (in *Pod) GetGracefulShutdown() *GracefulShutdownSpec

func (*Pod) GetImagePullSecrets

func (in *Pod) GetImagePullSecrets() []corev1.LocalObjectReference

func (*Pod) GetLivenessProbe added in v1.18.0

func (in *Pod) GetLivenessProbe() *corev1.Probe

func (*Pod) GetNodeSelector

func (in *Pod) GetNodeSelector() map[string]string

func (*Pod) GetReadinessProbe added in v1.18.0

func (in *Pod) GetReadinessProbe() *corev1.Probe

func (*Pod) GetSecurityContext

func (in *Pod) GetSecurityContext() *corev1.PodSecurityContext

func (*Pod) GetTerminationGracePeriodSeconds added in v1.18.0

func (in *Pod) GetTerminationGracePeriodSeconds() *int

func (*Pod) GetTolerations

func (in *Pod) GetTolerations() []*corev1.Toleration

type ProxyDeployment

type ProxyDeployment struct {
	// The number of desired pods. Defaults to 1.
	//
	// +kubebuilder:validation:Optional
	Replicas *uint32 `json:"replicas,omitempty"`
}

Configuration for the Proxy deployment in Kubernetes.

func (*ProxyDeployment) DeepCopy

func (in *ProxyDeployment) DeepCopy() *ProxyDeployment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyDeployment.

func (*ProxyDeployment) DeepCopyInto

func (in *ProxyDeployment) DeepCopyInto(out *ProxyDeployment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProxyDeployment) GetReplicas

func (in *ProxyDeployment) GetReplicas() *uint32

type SdsBootstrap

type SdsBootstrap struct {
	// Log level for SDS. Options include "info", "debug", "warn", "error", "panic" and "fatal".
	// Default level is "info".
	//
	// +kubebuilder:validation:Optional
	LogLevel *string `json:"logLevel,omitempty"`
}

Configuration for the SDS instance that is provisioned from a Kubernetes Gateway.

func (*SdsBootstrap) DeepCopy

func (in *SdsBootstrap) DeepCopy() *SdsBootstrap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SdsBootstrap.

func (*SdsBootstrap) DeepCopyInto

func (in *SdsBootstrap) DeepCopyInto(out *SdsBootstrap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SdsBootstrap) GetLogLevel

func (in *SdsBootstrap) GetLogLevel() *string

type SdsContainer

type SdsContainer struct {
	// The SDS container image. See
	// https://kubernetes.io/docs/concepts/containers/images
	// for details.
	//
	// +kubebuilder:validation:Optional
	Image *Image `json:"image,omitempty"`

	// The security context for this container. See
	// https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.26/#securitycontext-v1-core
	// for details.
	//
	// +kubebuilder:validation:Optional
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`

	// The compute resources required by this container. See
	// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	// for details.
	//
	// +kubebuilder:validation:Optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// Initial SDS container configuration.
	//
	// +kubebuilder:validation:Optional
	Bootstrap *SdsBootstrap `json:"bootstrap,omitempty"`
}

Configuration for the container running Gloo SDS.

func (*SdsContainer) DeepCopy

func (in *SdsContainer) DeepCopy() *SdsContainer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SdsContainer.

func (*SdsContainer) DeepCopyInto

func (in *SdsContainer) DeepCopyInto(out *SdsContainer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SdsContainer) GetBootstrap

func (in *SdsContainer) GetBootstrap() *SdsBootstrap

func (*SdsContainer) GetImage

func (in *SdsContainer) GetImage() *Image

func (*SdsContainer) GetResources

func (in *SdsContainer) GetResources() *corev1.ResourceRequirements

func (*SdsContainer) GetSecurityContext

func (in *SdsContainer) GetSecurityContext() *corev1.SecurityContext

type SelfManagedGateway

type SelfManagedGateway struct {
}

func (*SelfManagedGateway) DeepCopy

func (in *SelfManagedGateway) DeepCopy() *SelfManagedGateway

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelfManagedGateway.

func (*SelfManagedGateway) DeepCopyInto

func (in *SelfManagedGateway) DeepCopyInto(out *SelfManagedGateway)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Service

type Service struct {
	// The Kubernetes Service type.
	//
	// +kubebuilder:validation:Optional
	Type *corev1.ServiceType `json:"type,omitempty"`

	// The manually specified IP address of the service, if a randomly assigned
	// IP is not desired. See
	// https://kubernetes.io/docs/concepts/services-networking/service/#choosing-your-own-ip-address
	// and
	// https://kubernetes.io/docs/concepts/services-networking/service/#headless-services
	// on the implications of setting `clusterIP`.
	//
	// +kubebuilder:validation:Optional
	ClusterIP *string `json:"clusterIP,omitempty"`

	// Additional labels to add to the Service object metadata.
	//
	// +kubebuilder:validation:Optional
	ExtraLabels map[string]string `json:"extraLabels,omitempty"`

	// Additional annotations to add to the Service object metadata.
	//
	// +kubebuilder:validation:Optional
	ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty"`
}

Configuration for a Kubernetes Service.

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Service) GetClusterIP

func (in *Service) GetClusterIP() *string

func (*Service) GetExtraAnnotations

func (in *Service) GetExtraAnnotations() map[string]string

func (*Service) GetExtraLabels

func (in *Service) GetExtraLabels() map[string]string

func (*Service) GetType

func (in *Service) GetType() *corev1.ServiceType

type ServiceAccount added in v1.17.16

type ServiceAccount struct {
	// Additional labels to add to the ServiceAccount object metadata.
	//
	// +kubebuilder:validation:Optional
	ExtraLabels map[string]string `json:"extraLabels,omitempty"`

	// Additional annotations to add to the ServiceAccount object metadata.
	//
	// +kubebuilder:validation:Optional
	ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty"`
}

func (*ServiceAccount) DeepCopy added in v1.17.16

func (in *ServiceAccount) DeepCopy() *ServiceAccount

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccount.

func (*ServiceAccount) DeepCopyInto added in v1.17.16

func (in *ServiceAccount) DeepCopyInto(out *ServiceAccount)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServiceAccount) GetExtraAnnotations added in v1.17.16

func (in *ServiceAccount) GetExtraAnnotations() map[string]string

func (*ServiceAccount) GetExtraLabels added in v1.17.16

func (in *ServiceAccount) GetExtraLabels() map[string]string

type StatsConfig

type StatsConfig struct {
	// Whether to expose metrics annotations and ports for scraping metrics.
	//
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty"`

	// The Envoy stats endpoint to which the metrics are written
	//
	// +kubebuilder:validation:Optional
	RoutePrefixRewrite *string `json:"routePrefixRewrite,omitempty"`

	// Enables an additional route to the stats cluster defaulting to /stats
	//
	// +kubebuilder:validation:Optional
	EnableStatsRoute *bool `json:"enableStatsRoute,omitempty"`

	// The Envoy stats endpoint with general metrics for the additional stats route
	//
	// +kubebuilder:validation:Optional
	StatsRoutePrefixRewrite *string `json:"statsRoutePrefixRewrite,omitempty"`
}

Configuration for the stats server.

func (*StatsConfig) DeepCopy

func (in *StatsConfig) DeepCopy() *StatsConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatsConfig.

func (*StatsConfig) DeepCopyInto

func (in *StatsConfig) DeepCopyInto(out *StatsConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StatsConfig) GetEnableStatsRoute

func (in *StatsConfig) GetEnableStatsRoute() *bool

func (*StatsConfig) GetEnabled

func (in *StatsConfig) GetEnabled() *bool

func (*StatsConfig) GetRoutePrefixRewrite

func (in *StatsConfig) GetRoutePrefixRewrite() *string

func (*StatsConfig) GetStatsRoutePrefixRewrite

func (in *StatsConfig) GetStatsRoutePrefixRewrite() *string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL