v1alpha1

package
v1.17.0-rc11 Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "gateway.gloo.solo.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

This section is empty.

Types

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 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 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 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) GetDeployment

func (in *KubernetesProxyConfig) GetDeployment() *ProxyDeployment

func (*KubernetesProxyConfig) GetEnvoyContainer

func (in *KubernetesProxyConfig) GetEnvoyContainer() *EnvoyContainer

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) 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"`
}

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) GetImagePullSecrets

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

func (*Pod) GetNodeSelector

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

func (*Pod) GetSecurityContext

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

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 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