Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the operator v1alpha1 API group +kubebuilder:object:generate=true +groupName=operator.marin3r.3scale.net
Index ¶
- Constants
- Variables
- type CASignedConfig
- type CertificateOptions
- type CertificateRenewalConfig
- type ContainerPort
- type DiscoveryService
- func (d *DiscoveryService) Debug() bool
- func (in *DiscoveryService) DeepCopy() *DiscoveryService
- func (in *DiscoveryService) DeepCopyInto(out *DiscoveryService)
- func (in *DiscoveryService) DeepCopyObject() runtime.Object
- func (d *DiscoveryService) GetImage() string
- func (d *DiscoveryService) GetMetricsPort() uint32
- func (d *DiscoveryService) GetRootCertificateAuthorityOptions() *CertificateOptions
- func (d *DiscoveryService) GetServerCertificateOptions() *CertificateOptions
- func (d *DiscoveryService) GetServiceConfig() *ServiceConfig
- func (d *DiscoveryService) GetXdsServerPort() uint32
- func (d *DiscoveryService) OwnedObjectName() string
- func (d *DiscoveryService) Resources() corev1.ResourceRequirements
- type DiscoveryServiceCertificate
- func (in *DiscoveryServiceCertificate) DeepCopy() *DiscoveryServiceCertificate
- func (in *DiscoveryServiceCertificate) DeepCopyInto(out *DiscoveryServiceCertificate)
- func (in *DiscoveryServiceCertificate) DeepCopyObject() runtime.Object
- func (d *DiscoveryServiceCertificate) GetCertificateRenewalConfig() CertificateRenewalConfig
- func (d *DiscoveryServiceCertificate) GetHosts() []string
- func (d *DiscoveryServiceCertificate) IsCA() bool
- func (d *DiscoveryServiceCertificate) IsServerCertificate() bool
- type DiscoveryServiceCertificateList
- type DiscoveryServiceCertificateSigner
- type DiscoveryServiceCertificateSpec
- type DiscoveryServiceCertificateStatus
- func (in *DiscoveryServiceCertificateStatus) DeepCopy() *DiscoveryServiceCertificateStatus
- func (in *DiscoveryServiceCertificateStatus) DeepCopyInto(out *DiscoveryServiceCertificateStatus)
- func (status *DiscoveryServiceCertificateStatus) GetCertificateHash() string
- func (status *DiscoveryServiceCertificateStatus) IsReady() bool
- type DiscoveryServiceList
- type DiscoveryServiceSpec
- type DiscoveryServiceStatus
- type DynamicReplicasSpec
- type EnvoyDeployment
- func (ed *EnvoyDeployment) AdminAccessLogPath() string
- func (ed *EnvoyDeployment) AdminPort() uint32
- func (ed *EnvoyDeployment) Affinity() *corev1.Affinity
- func (ed *EnvoyDeployment) ClientCertificateDuration() time.Duration
- func (in *EnvoyDeployment) DeepCopy() *EnvoyDeployment
- func (in *EnvoyDeployment) DeepCopyInto(out *EnvoyDeployment)
- func (in *EnvoyDeployment) DeepCopyObject() runtime.Object
- func (ed *EnvoyDeployment) Image() string
- func (ed *EnvoyDeployment) LivenessProbe() ProbeSpec
- func (ed *EnvoyDeployment) PodDisruptionBudget() PodDisruptionBudgetSpec
- func (ed *EnvoyDeployment) ReadinessProbe() ProbeSpec
- func (ed *EnvoyDeployment) Replicas() ReplicasSpec
- func (ed *EnvoyDeployment) Resources() corev1.ResourceRequirements
- func (r *EnvoyDeployment) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *EnvoyDeployment) Validate() error
- func (r *EnvoyDeployment) ValidateCreate() error
- func (r *EnvoyDeployment) ValidateDelete() error
- func (r *EnvoyDeployment) ValidateUpdate(old runtime.Object) error
- type EnvoyDeploymentList
- type EnvoyDeploymentSpec
- type EnvoyDeploymentStatus
- type InitManager
- type PKIConfig
- type PodDisruptionBudgetSpec
- type ProbeSpec
- type ReplicasSpec
- type SelfSignedConfig
- type ServiceConfig
- type ServiceType
- type ShutdownManager
Constants ¶
const ( // DiscoveryServiceKind is Kind of the DiscoveryService resources DiscoveryServiceKind string = "DiscoveryService" // DiscoveryServiceListKind is the Kind of the DiscoveryServiceList resources DiscoveryServiceListKind string = "DiscoveryServiceList" // DiscoveryServiceEnabledKey is the label key that the mutating webhook uses // to determine if mutation is enabled for a Pod DiscoveryServiceEnabledKey string = "marin3r.3scale.net/status" // DiscoveryServiceEnabledValue is the label value that the mutating webhook uses // to determine if mutation is enabled for a Pod DiscoveryServiceEnabledValue string = "enabled" // DiscoveryServiceLabelKey is the label key that the mutating webhook uses to determine if // Pod mutation is enabled in a namespace DiscoveryServiceLabelKey string = "marin3r.3scale.net/discovery-service" // DiscoveryServiceCertificateHashLabelKey is the label in the discovery service Deployment that // stores the hash of the current server certificate DiscoveryServiceCertificateHashLabelKey string = "marin3r.3scale.net/server-certificate-hash" // DefaultMetricsPort is the default port where the discovery service metrics server listens DefaultMetricsPort uint32 = 8383 // DefaultWebhookPort is the default port where the discovery service webhook server listens DefaultWebhookPort uint32 = 9443 // DefaultXdsServerPort is the default port where the discovery service xds server port listens DefaultXdsServerPort uint32 = 18000 // DefaultRootCertificateDuration is the default root CA certificate duration DefaultRootCertificateDuration string = "26280h" // 3 years // DefaultRootCertificateSecretNamePrefix is the default prefix for the Secret // where the root CA certificate is stored DefaultRootCertificateSecretNamePrefix string = "marin3r-ca-cert" // DefaultServerCertificateDuration is the default discovery service server certificate duration DefaultServerCertificateDuration string = "2160h" // 3 months // DefaultServerCertificateSecretNamePrefix is the default prefix for the Secret // where the server certificate is stored DefaultServerCertificateSecretNamePrefix string = "marin3r-server-cert" // DefaultImageRegistry is the default registry to pull discovery service images from DefaultImageRegistry string = "quay.io/3scale/marin3r" )
const ( // DiscoveryServiceCertificateKind is a string that holds the Kind of DiscoveryServiceCertificate DiscoveryServiceCertificateKind string = "DiscoveryServiceCertificate" // CertificateNeedsRenewalCondition is a condition that indicates that a // DiscoveryServiceCertificate is invalid and needs replacement CertificateNeedsRenewalCondition status.ConditionType = "CertificateNeedsRenewal" // CertificateHashLabelKey is the label that stores the hash of the certificate managed // by the DiscoveryServiceCertificate resource CertificateHashLabelKey string = "certificate-hash" // IssuerCertificateHashLabelKey is the label that stores the hash of the certificate managed // by the DiscoveryServiceCertificate resource IssuerCertificateHashLabelKey string = "issuer-certificate-hash" )
const ( // DiscoveryServiceCertificateHashLabelKey is the label in the discovery service Deployment that // stores the hash of the current server certificate EnvoyDeploymentBootstrapConfigHashLabelKey string = "marin3r.3scale.net/bootstrap-config-hash" // ClientCertificateDefaultDuration ClientCertificateDefaultDuration string = "48h" // DefaultReplicas is the default number of replicas for the Deployment DefaultReplicas int32 = 1 )
const ( // Finalizer is the finalizer for operator.marin3r.3scale.net resources Finalizer string = "finalizer.operator.marin3r.3scale.net" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "operator.marin3r.3scale.net", 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 CASignedConfig ¶
type CASignedConfig struct { // A reference to a Secret containing the CA // +operator-sdk:csv:customresourcedefinitions:type=spec SecretRef corev1.SecretReference `json:"caSecretRef"` }
CASignedConfig is used ti generate certificates signed by a CA contained in a Secret
func (*CASignedConfig) DeepCopy ¶
func (in *CASignedConfig) DeepCopy() *CASignedConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CASignedConfig.
func (*CASignedConfig) DeepCopyInto ¶
func (in *CASignedConfig) DeepCopyInto(out *CASignedConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CertificateOptions ¶
type CertificateOptions struct { // +operator-sdk:csv:customresourcedefinitions:type=spec SecretName string `json:"secretName"` // +operator-sdk:csv:customresourcedefinitions:type=spec Duration metav1.Duration `json:"duration"` }
CertificateOptions specifies options to generate the server certificate used both for the xDS server and the mutating webhook server.
func (*CertificateOptions) DeepCopy ¶
func (in *CertificateOptions) DeepCopy() *CertificateOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateOptions.
func (*CertificateOptions) DeepCopyInto ¶
func (in *CertificateOptions) DeepCopyInto(out *CertificateOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CertificateRenewalConfig ¶
type CertificateRenewalConfig struct { // Enabled is a flag to enable or disable renewal of the certificate // +operator-sdk:csv:customresourcedefinitions:type=spec Enabled bool `json:"enabled"` }
CertificateRenewalConfig configures the certificate renewal process.
func (*CertificateRenewalConfig) DeepCopy ¶
func (in *CertificateRenewalConfig) DeepCopy() *CertificateRenewalConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateRenewalConfig.
func (*CertificateRenewalConfig) DeepCopyInto ¶
func (in *CertificateRenewalConfig) DeepCopyInto(out *CertificateRenewalConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerPort ¶
type ContainerPort struct { // Port name // +operator-sdk:csv:customresourcedefinitions:type=spec Name string `json:"name"` // Port value // +operator-sdk:csv:customresourcedefinitions:type=spec Port int32 `json:"port"` // Protocol. Defaults to TCP. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Protocol *corev1.Protocol `json:"protocol,omitempty"` }
ContainerPort defines port for the Marin3r sidecar container
func (*ContainerPort) DeepCopy ¶
func (in *ContainerPort) DeepCopy() *ContainerPort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerPort.
func (*ContainerPort) DeepCopyInto ¶
func (in *ContainerPort) DeepCopyInto(out *ContainerPort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiscoveryService ¶
type DiscoveryService struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DiscoveryServiceSpec `json:"spec,omitempty"` Status DiscoveryServiceStatus `json:"status,omitempty"` }
DiscoveryService represents an envoy discovery service server. Currently only one DiscoveryService per cluster is supported. +kubebuilder:subresource:status +kubebuilder:resource:path=discoveryservices,scope=Namespaced +operator-sdk:csv:customresourcedefinitions:displayName="DiscoveryService" +operator-sdk:csv:customresourcedefinitions.resources={{Deployment,v1},{Service,v1},{DiscoveryServiceCertificate,v1alpha1}
func (*DiscoveryService) Debug ¶
func (d *DiscoveryService) Debug() bool
Debug returns a boolean value that indicates if debug loggin is enabled
func (*DiscoveryService) DeepCopy ¶
func (in *DiscoveryService) DeepCopy() *DiscoveryService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryService.
func (*DiscoveryService) DeepCopyInto ¶
func (in *DiscoveryService) DeepCopyInto(out *DiscoveryService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DiscoveryService) DeepCopyObject ¶
func (in *DiscoveryService) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DiscoveryService) GetImage ¶
func (d *DiscoveryService) GetImage() string
GetImage returns the DiscoveryService image that matches the current version of the operator or the one defined by the user if the filed is set in the resource
func (*DiscoveryService) GetMetricsPort ¶
func (d *DiscoveryService) GetMetricsPort() uint32
GetMetricsPort returns the port the metrics server will listen at
func (*DiscoveryService) GetRootCertificateAuthorityOptions ¶
func (d *DiscoveryService) GetRootCertificateAuthorityOptions() *CertificateOptions
GetRootCertificateAuthorityOptions returns the CertificateOptions for the root CA
func (*DiscoveryService) GetServerCertificateOptions ¶
func (d *DiscoveryService) GetServerCertificateOptions() *CertificateOptions
GetServerCertificateOptions returns the CertificateOptions for the root CA
func (*DiscoveryService) GetServiceConfig ¶
func (d *DiscoveryService) GetServiceConfig() *ServiceConfig
GetServiceConfig returns the Service configuration for the discovery service servers
func (*DiscoveryService) GetXdsServerPort ¶
func (d *DiscoveryService) GetXdsServerPort() uint32
GetXdsServerPort returns the port the xDS server will listen at
func (*DiscoveryService) OwnedObjectName ¶
func (d *DiscoveryService) OwnedObjectName() string
OwnedObjectName returns the name of the resources the discoveryservices controller needs to create
func (*DiscoveryService) Resources ¶
func (d *DiscoveryService) Resources() corev1.ResourceRequirements
Resources returns the Pod resources for the discovery service pod
type DiscoveryServiceCertificate ¶
type DiscoveryServiceCertificate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DiscoveryServiceCertificateSpec `json:"spec,omitempty"` Status DiscoveryServiceCertificateStatus `json:"status,omitempty"` }
DiscoveryServiceCertificate is used to create certificates, either self-signed or by using a cert-manager CA issuer. This object is used by the DiscoveryService controller to create the required certificates for the different components of the discovery service. Direct use of DiscoveryServiceCertificate objects is discouraged. +kubebuilder:subresource:status +kubebuilder:resource:path=discoveryservicecertificates,scope=Namespaced,shortName=dsc +kubebuilder:printcolumn:JSONPath=".status.ready",name="Ready",type=boolean +kubebuilder:printcolumn:JSONPath=".status.notBefore",name=Not Before,type=string,format=date-time +kubebuilder:printcolumn:JSONPath=".status.notAfter",name=Not After,type=string,format=date-time +operator-sdk:csv:customresourcedefinitions:displayName="DiscoveryServiceCertificate" +operator-sdk:gen-csv:customresourcedefinitions:resources={{Secret,v1}}
func (*DiscoveryServiceCertificate) DeepCopy ¶
func (in *DiscoveryServiceCertificate) DeepCopy() *DiscoveryServiceCertificate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryServiceCertificate.
func (*DiscoveryServiceCertificate) DeepCopyInto ¶
func (in *DiscoveryServiceCertificate) DeepCopyInto(out *DiscoveryServiceCertificate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DiscoveryServiceCertificate) DeepCopyObject ¶
func (in *DiscoveryServiceCertificate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DiscoveryServiceCertificate) GetCertificateRenewalConfig ¶
func (d *DiscoveryServiceCertificate) GetCertificateRenewalConfig() CertificateRenewalConfig
GetCertificateRenewalConfig returns the renewal configuration for the issued certificate
func (*DiscoveryServiceCertificate) GetHosts ¶
func (d *DiscoveryServiceCertificate) GetHosts() []string
GetHosts returns the list of server names that the certificate is issued for
func (*DiscoveryServiceCertificate) IsCA ¶
func (d *DiscoveryServiceCertificate) IsCA() bool
IsCA returns true if the certificate is issued to function as a certificate authority or not
func (*DiscoveryServiceCertificate) IsServerCertificate ¶
func (d *DiscoveryServiceCertificate) IsServerCertificate() bool
IsServerCertificate returns true if the certificate is issued for server usage or false if not
type DiscoveryServiceCertificateList ¶
type DiscoveryServiceCertificateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DiscoveryServiceCertificate `json:"items"` }
DiscoveryServiceCertificateList contains a list of DiscoveryServiceCertificate
func (*DiscoveryServiceCertificateList) DeepCopy ¶
func (in *DiscoveryServiceCertificateList) DeepCopy() *DiscoveryServiceCertificateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryServiceCertificateList.
func (*DiscoveryServiceCertificateList) DeepCopyInto ¶
func (in *DiscoveryServiceCertificateList) DeepCopyInto(out *DiscoveryServiceCertificateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DiscoveryServiceCertificateList) DeepCopyObject ¶
func (in *DiscoveryServiceCertificateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DiscoveryServiceCertificateSigner ¶
type DiscoveryServiceCertificateSigner struct { // SelfSigned holds specific configuration for the SelfSigned signer // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional SelfSigned *SelfSignedConfig `json:"selfSigned,omitempty"` // CASigned holds specific configuration for the CASigned signer // +kubebuilder:validation:Optional // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional CASigned *CASignedConfig `json:"caSigned,omitempty"` }
DiscoveryServiceCertificateSigner specifies the signer to use to provision the certificate
func (*DiscoveryServiceCertificateSigner) DeepCopy ¶
func (in *DiscoveryServiceCertificateSigner) DeepCopy() *DiscoveryServiceCertificateSigner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryServiceCertificateSigner.
func (*DiscoveryServiceCertificateSigner) DeepCopyInto ¶
func (in *DiscoveryServiceCertificateSigner) DeepCopyInto(out *DiscoveryServiceCertificateSigner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiscoveryServiceCertificateSpec ¶
type DiscoveryServiceCertificateSpec struct { // CommonName is the CommonName of the certificate // +operator-sdk:csv:customresourcedefinitions:type=spec CommonName string `json:"commonName"` // IsServerCertificate is a boolean specifying if the certificate should be // issued with server auth usage enabled // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional IsServerCertificate *bool `json:"server,omitempty"` // IsCA is a boolean specifying that the certificate is a CA // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional IsCA *bool `json:"isCA,omitempty"` // ValidFor specifies the validity of the certificate in seconds // +operator-sdk:csv:customresourcedefinitions:type=spec ValidFor int64 `json:"validFor"` // Hosts is the list of hosts the certificate is valid for. Only // use when 'IsServerCertificate' is true. If unset, the CommonName // field will be used to populate the valid hosts of the certificate. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Hosts []string `json:"hosts,omitempty"` // Signer specifies the signer to use to create this certificate. Supported // signers are CertManager and SelfSigned. // +operator-sdk:csv:customresourcedefinitions:type=spec Signer DiscoveryServiceCertificateSigner `json:"signer"` // SecretRef is a reference to the secret that will hold the certificate // and the private key. // +operator-sdk:csv:customresourcedefinitions:type=spec SecretRef corev1.SecretReference `json:"secretRef"` // CertificateRenewalConfig configures the certificate renewal process. If unset default // behavior is to renew the certificate but not notify of renewals. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional CertificateRenewalConfig *CertificateRenewalConfig `json:"certificateRenewal,omitempty"` }
DiscoveryServiceCertificateSpec defines the desired state of DiscoveryServiceCertificate
func (*DiscoveryServiceCertificateSpec) DeepCopy ¶
func (in *DiscoveryServiceCertificateSpec) DeepCopy() *DiscoveryServiceCertificateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryServiceCertificateSpec.
func (*DiscoveryServiceCertificateSpec) DeepCopyInto ¶
func (in *DiscoveryServiceCertificateSpec) DeepCopyInto(out *DiscoveryServiceCertificateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiscoveryServiceCertificateStatus ¶
type DiscoveryServiceCertificateStatus struct { // Ready is a boolean that specifies if the certificate is ready to be used // +operator-sdk:csv:customresourcedefinitions:type=status // +optional Ready *bool `json:"ready,omitempty"` // NotBefore is the time at which the certificate starts // being valid // +operator-sdk:csv:customresourcedefinitions:type=status // +optional NotBefore *metav1.Time `json:"notBefore,omitempty"` // NotAfter is the time at which the certificate expires // +operator-sdk:csv:customresourcedefinitions:type=status // +optional NotAfter *metav1.Time `json:"notAfter,omitempty"` // CertificateHash stores the current hash of the certificate. It is used // for other controllers to validate if a certificate has been re-issued. // +operator-sdk:csv:customresourcedefinitions:type=status // +optional CertificateHash *string `json:"certificateHash,omitempty"` // Conditions represent the latest available observations of an object's state // +operator-sdk:csv:customresourcedefinitions:type=status // +optional Conditions status.Conditions `json:"conditions,omitempty"` }
DiscoveryServiceCertificateStatus defines the observed state of DiscoveryServiceCertificate
func (*DiscoveryServiceCertificateStatus) DeepCopy ¶
func (in *DiscoveryServiceCertificateStatus) DeepCopy() *DiscoveryServiceCertificateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryServiceCertificateStatus.
func (*DiscoveryServiceCertificateStatus) DeepCopyInto ¶
func (in *DiscoveryServiceCertificateStatus) DeepCopyInto(out *DiscoveryServiceCertificateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DiscoveryServiceCertificateStatus) GetCertificateHash ¶
func (status *DiscoveryServiceCertificateStatus) GetCertificateHash() string
GetCertificateHash returns the hash of the certificate associated with the DiscoveryServiceCertificate resource. Returns an empty string if not set.
func (*DiscoveryServiceCertificateStatus) IsReady ¶
func (status *DiscoveryServiceCertificateStatus) IsReady() bool
IsReady returns true if the certificate is ready to use, false otherwise
type DiscoveryServiceList ¶
type DiscoveryServiceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DiscoveryService `json:"items"` }
DiscoveryServiceList contains a list of DiscoveryService
func (*DiscoveryServiceList) DeepCopy ¶
func (in *DiscoveryServiceList) DeepCopy() *DiscoveryServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryServiceList.
func (*DiscoveryServiceList) DeepCopyInto ¶
func (in *DiscoveryServiceList) DeepCopyInto(out *DiscoveryServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DiscoveryServiceList) DeepCopyObject ¶
func (in *DiscoveryServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DiscoveryServiceSpec ¶
type DiscoveryServiceSpec struct { // Image holds the image to use for the discovery service Deployment // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Image *string `json:"image,omitempty"` // Debug enables debugging log level for the discovery service controllers. It is safe to // use since secret data is never shown in the logs. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Debug *bool `json:"debug,omitempty"` // Resources holds the Resource Requirements to use for the discovery service // Deployment. When not set it defaults to no resource requests nor limits. // CPU and Memory resources are supported. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // PKIConfig has configuration for the PKI that marin3r manages for the // different certificates it requires // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional PKIConfig *PKIConfig `json:"pkiConfg,omitempty"` // XdsServerPort is the port where the xDS server listens. Defaults to 18000. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional XdsServerPort *uint32 `json:"xdsServerPort,omitempty"` // MetricsPort is the port where metrics are served. Defaults to 8383. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional MetricsPort *uint32 `json:"metricsPort,omitempty"` // ServiceConfig configures the way the DiscoveryService endpoints are exposed // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional ServiceConfig *ServiceConfig `json:"serviceConfig,omitempty"` }
DiscoveryServiceSpec defines the desired state of DiscoveryService
func (*DiscoveryServiceSpec) DeepCopy ¶
func (in *DiscoveryServiceSpec) DeepCopy() *DiscoveryServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryServiceSpec.
func (*DiscoveryServiceSpec) DeepCopyInto ¶
func (in *DiscoveryServiceSpec) DeepCopyInto(out *DiscoveryServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiscoveryServiceStatus ¶
type DiscoveryServiceStatus struct { // Conditions represent the latest available observations of an object's state // +operator-sdk:csv:customresourcedefinitions:type=status // +optional Conditions status.Conditions `json:"conditions,omitempty"` }
DiscoveryServiceStatus defines the observed state of DiscoveryService
func (*DiscoveryServiceStatus) DeepCopy ¶
func (in *DiscoveryServiceStatus) DeepCopy() *DiscoveryServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryServiceStatus.
func (*DiscoveryServiceStatus) DeepCopyInto ¶
func (in *DiscoveryServiceStatus) DeepCopyInto(out *DiscoveryServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DynamicReplicasSpec ¶
type DynamicReplicasSpec struct { // minReplicas is the lower limit for the number of replicas to which the autoscaler // can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the // alpha feature gate HPAScaleToZero is enabled and at least one Object or External // metric is configured. Scaling is active as long as at least one metric value is // available. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional MinReplicas *int32 `json:"minReplicas,omitempty"` // maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. // It cannot be less that minReplicas. MaxReplicas int32 `json:"maxReplicas"` // metrics contains the specifications for which to use to calculate the // desired replica count (the maximum replica count across all metrics will // be used). The desired replica count is calculated multiplying the // ratio between the target value and the current value by the current // number of pods. Ergo, metrics used must decrease as the pod count is // increased, and vice-versa. See the individual metric source types for // more information about how each type of metric must respond. // If not set, the default metric will be set to 80% average CPU utilization. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Metrics []autoscalingv2beta2.MetricSpec `json:"metrics,omitempty"` // behavior configures the scaling behavior of the target // in both Up and Down directions (scaleUp and scaleDown fields respectively). // If not set, the default HPAScalingRules for scale up and scale down are used. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Behavior *autoscalingv2beta2.HorizontalPodAutoscalerBehavior `json:"behavior,omitempty"` }
func (*DynamicReplicasSpec) DeepCopy ¶
func (in *DynamicReplicasSpec) DeepCopy() *DynamicReplicasSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynamicReplicasSpec.
func (*DynamicReplicasSpec) DeepCopyInto ¶
func (in *DynamicReplicasSpec) DeepCopyInto(out *DynamicReplicasSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyDeployment ¶
type EnvoyDeployment struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec EnvoyDeploymentSpec `json:"spec,omitempty"` Status EnvoyDeploymentStatus `json:"status,omitempty"` }
EnvoyDeployment is the Schema for the envoydeployments API
func (*EnvoyDeployment) AdminAccessLogPath ¶
func (ed *EnvoyDeployment) AdminAccessLogPath() string
func (*EnvoyDeployment) AdminPort ¶
func (ed *EnvoyDeployment) AdminPort() uint32
func (*EnvoyDeployment) Affinity ¶
func (ed *EnvoyDeployment) Affinity() *corev1.Affinity
func (*EnvoyDeployment) ClientCertificateDuration ¶
func (ed *EnvoyDeployment) ClientCertificateDuration() time.Duration
Image returns the envoy container image to use
func (*EnvoyDeployment) DeepCopy ¶
func (in *EnvoyDeployment) DeepCopy() *EnvoyDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyDeployment.
func (*EnvoyDeployment) DeepCopyInto ¶
func (in *EnvoyDeployment) DeepCopyInto(out *EnvoyDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyDeployment) DeepCopyObject ¶
func (in *EnvoyDeployment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*EnvoyDeployment) Image ¶
func (ed *EnvoyDeployment) Image() string
Image returns the envoy container image to use
func (*EnvoyDeployment) LivenessProbe ¶
func (ed *EnvoyDeployment) LivenessProbe() ProbeSpec
func (*EnvoyDeployment) PodDisruptionBudget ¶
func (ed *EnvoyDeployment) PodDisruptionBudget() PodDisruptionBudgetSpec
func (*EnvoyDeployment) ReadinessProbe ¶
func (ed *EnvoyDeployment) ReadinessProbe() ProbeSpec
func (*EnvoyDeployment) Replicas ¶
func (ed *EnvoyDeployment) Replicas() ReplicasSpec
func (*EnvoyDeployment) Resources ¶
func (ed *EnvoyDeployment) Resources() corev1.ResourceRequirements
Resources returns the Pod resources for the envoy pod
func (*EnvoyDeployment) SetupWebhookWithManager ¶
func (r *EnvoyDeployment) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*EnvoyDeployment) Validate ¶
func (r *EnvoyDeployment) Validate() error
Validate checks that the spec of the EnvoyDeployment resource is correct
func (*EnvoyDeployment) ValidateCreate ¶
func (r *EnvoyDeployment) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*EnvoyDeployment) ValidateDelete ¶
func (r *EnvoyDeployment) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*EnvoyDeployment) ValidateUpdate ¶
func (r *EnvoyDeployment) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type EnvoyDeploymentList ¶
type EnvoyDeploymentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []EnvoyDeployment `json:"items"` }
EnvoyDeploymentList contains a list of EnvoyDeployment
func (*EnvoyDeploymentList) DeepCopy ¶
func (in *EnvoyDeploymentList) DeepCopy() *EnvoyDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyDeploymentList.
func (*EnvoyDeploymentList) DeepCopyInto ¶
func (in *EnvoyDeploymentList) DeepCopyInto(out *EnvoyDeploymentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyDeploymentList) DeepCopyObject ¶
func (in *EnvoyDeploymentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnvoyDeploymentSpec ¶
type EnvoyDeploymentSpec struct { // EnvoyConfigRef points to an EnvoyConfig in the same namespace // that holds the envoy resources for this Deployment // +operator-sdk:csv:customresourcedefinitions:type=spec EnvoyConfigRef string `json:"envoyConfigRef"` // DiscoveryServiceRef points to a DiscoveryService in the same // namespace // +operator-sdk:csv:customresourcedefinitions:type=spec DiscoveryServiceRef string `json:"discoveryServiceRef"` // Defines the local service cluster name where Envoy is running. Defaults // to the NodeID in the EnvoyConfig if unset // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional ClusterID *string `json:"clusterID,omitempty"` // Ports exposed by the Envoy container // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Ports []ContainerPort `json:"ports,omitempty"` // Image is the envoy image and tag to use // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Image *string `json:"image,omitempty"` // Resources holds the resource requirements to use for the Envoy // Deployment. Defaults to no resource requests nor limits. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Defines the duration of the client certificate that is used to authenticate // with the DiscoveryService // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional ClientCertificateDuration *metav1.Duration `json:"duration,omitempty"` // Allows the user to define extra command line arguments for the Envoy process // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional ExtraArgs []string `json:"extraArgs,omitempty"` // Configures envoy's admin port. Defaults to 9901. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional AdminPort *uint32 `json:"adminPort,omitempty"` // Configures envoy's admin access log path. Defaults to /dev/null. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional AdminAccessLogPath *string `json:"adminAccessLogPath,omitempty"` // Replicas configures the number of replicas in the Deployment. One of // 'static', 'dynamic' can be set. If both are set, static has precedence. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Replicas *ReplicasSpec `json:"replicas,omitempty"` // Liveness probe for the envoy pods // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional LivenessProbe *ProbeSpec `json:"livenessProbe,omitempty"` // Readiness probe for the envoy pods // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional ReadinessProbe *ProbeSpec `json:"readinessProbe,omitempty"` // Affinity configuration for the envoy pods // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // Configures PodDisruptionBudget for the envoy Pods // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional PodDisruptionBudget *PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"` // ShutdownManager defines configuration for Envoy's shutdown // manager, which handles graceful termination of Envoy pods // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional ShutdownManager *ShutdownManager `json:"shutdownManager,omitempty"` // InitManager defines configuration for Envoy's init // manager, which handles initialization for Envoy pods // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional InitManager *InitManager `json:"initManager,omitempty"` }
EnvoyDeploymentSpec defines the desired state of EnvoyDeployment
func (*EnvoyDeploymentSpec) DeepCopy ¶
func (in *EnvoyDeploymentSpec) DeepCopy() *EnvoyDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyDeploymentSpec.
func (*EnvoyDeploymentSpec) DeepCopyInto ¶
func (in *EnvoyDeploymentSpec) DeepCopyInto(out *EnvoyDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyDeploymentStatus ¶
type EnvoyDeploymentStatus struct { }
EnvoyDeploymentStatus defines the observed state of EnvoyDeployment
func (*EnvoyDeploymentStatus) DeepCopy ¶
func (in *EnvoyDeploymentStatus) DeepCopy() *EnvoyDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyDeploymentStatus.
func (*EnvoyDeploymentStatus) DeepCopyInto ¶
func (in *EnvoyDeploymentStatus) DeepCopyInto(out *EnvoyDeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InitManager ¶
type InitManager struct { // Image is the init manager image and tag to use // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Image *string `json:"image,omitempty"` }
InitManager defines configuration for Envoy's shutdown manager, which handles initialization for Envoy pods
func (*InitManager) DeepCopy ¶
func (in *InitManager) DeepCopy() *InitManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitManager.
func (*InitManager) DeepCopyInto ¶
func (in *InitManager) DeepCopyInto(out *InitManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InitManager) GetImage ¶
func (im *InitManager) GetImage() string
type PKIConfig ¶
type PKIConfig struct { // +operator-sdk:csv:customresourcedefinitions:type=spec RootCertificateAuthority *CertificateOptions `json:"rootCertificateAuthority"` // +operator-sdk:csv:customresourcedefinitions:type=spec ServerCertificate *CertificateOptions `json:"serverCertificate"` }
PKIConfig has configuration for the PKI that marin3r manages for the different certificates it requires
func (*PKIConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PKIConfig.
func (*PKIConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodDisruptionBudgetSpec ¶
type PodDisruptionBudgetSpec struct { // An eviction is allowed if at least "minAvailable" pods selected by // "selector" will still be available after the eviction, i.e. even in the // absence of the evicted pod. So for example you can prevent all voluntary // evictions by specifying "100%". // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional MinAvailable *intstr.IntOrString `json:"minAvailable,omitempty"` // "selector" are unavailable after the eviction, i.e. even in absence of // the evicted pod. For example, one can prevent all voluntary evictions // by specifying 0. This is a mutually exclusive setting with "minAvailable". // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"` }
PodDisruptionBudgetSpec defines the PDB for the component
func (*PodDisruptionBudgetSpec) DeepCopy ¶
func (in *PodDisruptionBudgetSpec) DeepCopy() *PodDisruptionBudgetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodDisruptionBudgetSpec.
func (*PodDisruptionBudgetSpec) DeepCopyInto ¶
func (in *PodDisruptionBudgetSpec) DeepCopyInto(out *PodDisruptionBudgetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodDisruptionBudgetSpec) Validate ¶
func (pdbs *PodDisruptionBudgetSpec) Validate() error
Validate validates that the received struct is correct
type ProbeSpec ¶
type ProbeSpec struct { // Number of seconds after the container has started before liveness probes are initiated // +operator-sdk:csv:customresourcedefinitions:type=spec InitialDelaySeconds int32 `json:"initialDelaySeconds"` // Number of seconds after which the probe times out // +operator-sdk:csv:customresourcedefinitions:type=spec TimeoutSeconds int32 `json:"timeoutSeconds"` // How often (in seconds) to perform the probe // +operator-sdk:csv:customresourcedefinitions:type=spec PeriodSeconds int32 `json:"periodSeconds"` // Minimum consecutive successes for the probe to be considered successful after having failed // +operator-sdk:csv:customresourcedefinitions:type=spec SuccessThreshold int32 `json:"successThreshold"` // Minimum consecutive failures for the probe to be considered failed after having succeeded // +operator-sdk:csv:customresourcedefinitions:type=spec FailureThreshold int32 `json:"failureThreshold"` }
ProbeSpec specifies configuration for a probe
func (*ProbeSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProbeSpec.
func (*ProbeSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicasSpec ¶
type ReplicasSpec struct { // Configure a static number of replicas. Defaults to 1. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Static *int32 `json:"static,omitempty"` // Configure a min and max value for the number of pods to autoscale dynamically. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Dynamic *DynamicReplicasSpec `json:"dynamic,omitempty"` }
ReplicasSpec configures the number of replicas of the Deployment
func (*ReplicasSpec) DeepCopy ¶
func (in *ReplicasSpec) DeepCopy() *ReplicasSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicasSpec.
func (*ReplicasSpec) DeepCopyInto ¶
func (in *ReplicasSpec) DeepCopyInto(out *ReplicasSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReplicasSpec) Validate ¶
func (rs *ReplicasSpec) Validate() error
Validate validates that the received struct is correct
type SelfSignedConfig ¶
type SelfSignedConfig struct{}
SelfSignedConfig is an empty struct to refer to the selfsiged certificates provisioner
func (*SelfSignedConfig) DeepCopy ¶
func (in *SelfSignedConfig) DeepCopy() *SelfSignedConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelfSignedConfig.
func (*SelfSignedConfig) DeepCopyInto ¶
func (in *SelfSignedConfig) DeepCopyInto(out *SelfSignedConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceConfig ¶
type ServiceConfig struct { // +operator-sdk:csv:customresourcedefinitions:type=spec Name string `json:"name,omitempty"` // +operator-sdk:csv:customresourcedefinitions:type=spec Type ServiceType `json:"type,omitempty"` }
ServiceConfig has options to configure the way the Service is deployed
func (*ServiceConfig) DeepCopy ¶
func (in *ServiceConfig) DeepCopy() *ServiceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceConfig.
func (*ServiceConfig) DeepCopyInto ¶
func (in *ServiceConfig) DeepCopyInto(out *ServiceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceType ¶
type ServiceType string
ServiceType is an enum with the available discovery service Service types
const ( // ClusterIPType represents a ClusterIP Service ClusterIPType ServiceType = "ClusterIP" // LoadBalancerType represents a LoadBalancer Service LoadBalancerType ServiceType = "LoadBalancer" // HeadlessType represents a headless Service HeadlessType ServiceType = "Headless" )
type ShutdownManager ¶
type ShutdownManager struct { // Image is the shutdown manager image and tag to use // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional Image *string `json:"image,omitempty"` // Configures the sutdown manager's server port. Defaults to 8090. // +operator-sdk:csv:customresourcedefinitions:type=spec // +optional ServerPort *uint32 `json:"serverPort,omitempty"` }
ShutdownManager defines configuration for Envoy's shutdown manager, which handles graceful termination of Envoy Pods
func (*ShutdownManager) DeepCopy ¶
func (in *ShutdownManager) DeepCopy() *ShutdownManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShutdownManager.
func (*ShutdownManager) DeepCopyInto ¶
func (in *ShutdownManager) DeepCopyInto(out *ShutdownManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ShutdownManager) GetImage ¶
func (sm *ShutdownManager) GetImage() string
func (*ShutdownManager) GetServer ¶
func (sm *ShutdownManager) GetServer() uint32