Documentation
¶
Overview ¶
Package shared contains types and functions used by API definitions in the operators package +groupName=operators.example.com
Index ¶
- type Deployment
- type DeploymentAntiAffinitySpec
- type DeploymentPersistenceSpec
- type DeploymentVolumeClaim
- type DeploymentVolumeSpec
- type ElasticsearchExternalRef
- type ElasticsearchManagedRef
- type ElasticsearchRef
- func (in *ElasticsearchRef) DeepCopy() *ElasticsearchRef
- func (in *ElasticsearchRef) DeepCopyInto(out *ElasticsearchRef)
- func (h ElasticsearchRef) GetTargetCluster(currentNamespace string) string
- func (h ElasticsearchRef) IsExternal() bool
- func (h ElasticsearchRef) IsManaged() bool
- func (h ElasticsearchRef) ValidateField() *field.Error
- type EndpointIngressSpec
- type EndpointLoadBalancerSpec
- type EndpointRouteSpec
- type EndpointSpec
- type ImageSpec
- type Ingress
- type KibanaExternalRef
- type KibanaManagedRef
- type KibanaRef
- type MonitoringMetricbeatSpec
- type MonitoringPrometheusSpec
- type MonitoringSpec
- type Route
- type Service
- type TlsSelfSignedCertificateSpec
- type TlsSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Deployment ¶
type Deployment struct {
// Replicas is the number of replicas
// +operator-sdk:csv:customresourcedefinitions:type=spec
Replicas int32 `json:"replicas"`
// Resources permit to set ressources on container
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// Tolerations permit to set toleration on pod
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// NodeSelector permit to set node selector on pod
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// Labels permit to set labels on containers
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Annotations permit to set annotation on deployment
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Env permit to set some environment variable on containers
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Env []corev1.EnvVar `json:"env,omitempty"`
// EnvFrom permit to set some environment variable from config map or secret
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`
// PodSpec is merged with expected pod
// It usefull to add some extra properties on pod spec
// @clean
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
PodTemplate *corev1.PodTemplateSpec `json:"podTemplate,omitempty"`
}
Deployment permit to set deployment
func (*Deployment) DeepCopy ¶
func (in *Deployment) DeepCopy() *Deployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Deployment.
func (*Deployment) DeepCopyInto ¶
func (in *Deployment) DeepCopyInto(out *Deployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentAntiAffinitySpec ¶
type DeploymentAntiAffinitySpec struct {
// Type permit to set anti affinity as soft or hard
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +kubebuilder:validation:Enum=soft;hard
// +kubebuilder:default=soft
Type string `json:"type"`
// TopologyKey is the topology key to use
// Default to kubernetes.io/hostname
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=kubernetes.io/hostname
TopologyKey string `json:"topologyKey,omitempty"`
}
DeploymentAntiAffinitySpec permit to set anti affinity
func (*DeploymentAntiAffinitySpec) DeepCopy ¶
func (in *DeploymentAntiAffinitySpec) DeepCopy() *DeploymentAntiAffinitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentAntiAffinitySpec.
func (*DeploymentAntiAffinitySpec) DeepCopyInto ¶
func (in *DeploymentAntiAffinitySpec) DeepCopyInto(out *DeploymentAntiAffinitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentPersistenceSpec ¶
type DeploymentPersistenceSpec struct {
// VolumeClaim is the persistent volume claim spec use by statefullset
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
VolumeClaim *DeploymentVolumeClaim `json:"volumeClaim,omitempty"`
// Volume is the volume source to use instead volumeClaim
// It usefull if you should to use hostPath
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Volume *corev1.VolumeSource `json:"volume,omitempty"`
}
DeploymentPersistenceSpec permit to set persistence on workload
func (*DeploymentPersistenceSpec) DeepCopy ¶
func (in *DeploymentPersistenceSpec) DeepCopy() *DeploymentPersistenceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentPersistenceSpec.
func (*DeploymentPersistenceSpec) DeepCopyInto ¶
func (in *DeploymentPersistenceSpec) DeepCopyInto(out *DeploymentPersistenceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentVolumeClaim ¶
type DeploymentVolumeClaim struct {
// Labels permit to set labels on PVC
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Annotations permit to set annotation on PVC
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
corev1.PersistentVolumeClaimSpec `json:",inline"`
}
DeploymentVolumeClaim permit to set volume claim
func (*DeploymentVolumeClaim) DeepCopy ¶
func (in *DeploymentVolumeClaim) DeepCopy() *DeploymentVolumeClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentVolumeClaim.
func (*DeploymentVolumeClaim) DeepCopyInto ¶
func (in *DeploymentVolumeClaim) DeepCopyInto(out *DeploymentVolumeClaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentVolumeSpec ¶
type DeploymentVolumeSpec struct {
// Name is the volume name
// +operator-sdk:csv:customresourcedefinitions:type=spec
Name string `json:"name"`
corev1.VolumeMount `json:",inline"`
corev1.VolumeSource `json:",inline"`
}
DeploymentVolumeSpec permit to set volume
func (*DeploymentVolumeSpec) DeepCopy ¶
func (in *DeploymentVolumeSpec) DeepCopy() *DeploymentVolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentVolumeSpec.
func (*DeploymentVolumeSpec) DeepCopyInto ¶
func (in *DeploymentVolumeSpec) DeepCopyInto(out *DeploymentVolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ElasticsearchExternalRef ¶
type ElasticsearchExternalRef struct {
// Addresses is the list of Elasticsearch addresses
// +operator-sdk:csv:customresourcedefinitions:type=spec
Addresses []string `json:"addresses"`
}
func (*ElasticsearchExternalRef) DeepCopy ¶
func (in *ElasticsearchExternalRef) DeepCopy() *ElasticsearchExternalRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchExternalRef.
func (*ElasticsearchExternalRef) DeepCopyInto ¶
func (in *ElasticsearchExternalRef) DeepCopyInto(out *ElasticsearchExternalRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ElasticsearchManagedRef ¶
type ElasticsearchManagedRef struct {
// Name is the Elasticsearch cluster deployed by operator
// +operator-sdk:csv:customresourcedefinitions:type=spec
Name string `json:"name"`
// Namespace is the namespace where Elasticsearch is deployed by operator
// No need to set if Kibana is deployed on the same namespace
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Namespace string `json:"namespace,omitempty"`
// TargetNodeGroup is the target Elasticsearch node group to use as service to connect on Elasticsearch
// Default, it use the global service
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
TargetNodeGroup string `json:"targetNodeGroup,omitempty"`
}
func (*ElasticsearchManagedRef) DeepCopy ¶
func (in *ElasticsearchManagedRef) DeepCopy() *ElasticsearchManagedRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchManagedRef.
func (*ElasticsearchManagedRef) DeepCopyInto ¶
func (in *ElasticsearchManagedRef) DeepCopyInto(out *ElasticsearchManagedRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ElasticsearchRef ¶
type ElasticsearchRef struct {
// ManagedElasticsearchRef is the managed Elasticsearch cluster by operator
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
ManagedElasticsearchRef *ElasticsearchManagedRef `json:"managed,omitempty"`
// ExternalElasticsearchRef is the external Elasticsearch cluster not managed by operator
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
ExternalElasticsearchRef *ElasticsearchExternalRef `json:"external,omitempty"`
// ElasticsearchCaSecretRef is the secret that store your custom CA certificate to connect on Elasticsearch API.
// It need to have the following keys: ca.crt
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
ElasticsearchCaSecretRef *corev1.LocalObjectReference `json:"elasticsearchCASecretRef,omitempty"`
// SecretName is the secret that contain the setting to connect on Elasticsearch. It can be auto computed for managed Elasticsearch.
// It need to contain the keys `username` and `password`.
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`
}
func (*ElasticsearchRef) DeepCopy ¶
func (in *ElasticsearchRef) DeepCopy() *ElasticsearchRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchRef.
func (*ElasticsearchRef) DeepCopyInto ¶
func (in *ElasticsearchRef) DeepCopyInto(out *ElasticsearchRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ElasticsearchRef) GetTargetCluster ¶
func (h ElasticsearchRef) GetTargetCluster(currentNamespace string) string
GetTargetCluster permit to get the target cluster
func (ElasticsearchRef) IsExternal ¶
func (h ElasticsearchRef) IsExternal() bool
IsExternal permit to know if Elasticsearch is external (not managed by operator)
func (ElasticsearchRef) IsManaged ¶
func (h ElasticsearchRef) IsManaged() bool
IsManaged permit to know if Elasticsearch is managed by operator
func (ElasticsearchRef) ValidateField ¶
func (h ElasticsearchRef) ValidateField() *field.Error
ValidateField permit to validate field from webhook
type EndpointIngressSpec ¶
type EndpointIngressSpec struct {
// Enabled permit to enabled / disabled ingress
// Default to false
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=false
Enabled bool `json:"enabled,omitempty"`
// Host is the hostname to access on
// +operator-sdk:csv:customresourcedefinitions:type=spec
Host string `json:"host"`
// Set to true to enable TLS on Ingress
// Default to true
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=true
TlsEnabled *bool `json:"tlsEnabled,omitempty"`
// SecretRef is the secret ref that store certificates
// If secret not exist, it will use the default ingress certificate
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`
// Labels to set in ingress
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Annotations to set in ingress
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// IngressSpec it merge with expected ingress spec
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
IngressSpec *networkingv1.IngressSpec `json:"ingressSpec,omitempty"`
}
EndpointIngressSpec permit to set endpoint
func (*EndpointIngressSpec) DeepCopy ¶
func (in *EndpointIngressSpec) DeepCopy() *EndpointIngressSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointIngressSpec.
func (*EndpointIngressSpec) DeepCopyInto ¶
func (in *EndpointIngressSpec) DeepCopyInto(out *EndpointIngressSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EndpointIngressSpec) IsTlsEnabled ¶
func (h EndpointIngressSpec) IsTlsEnabled() bool
IsTlsEnabled return true if TLS is enabled If TlsEnabled is not set, it will return true If TlsEnabled is set to false, it will return false If TlsEnabled is set to true, it will return true
type EndpointLoadBalancerSpec ¶
type EndpointLoadBalancerSpec struct {
// Enabled permit to enabled / disabled load balancer
// Cloud provider need to support it
// Default to false
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=false
Enabled bool `json:"enabled,omitempty"`
}
EndpointLoadBalancerSpec permit to set Load balancer
func (*EndpointLoadBalancerSpec) DeepCopy ¶
func (in *EndpointLoadBalancerSpec) DeepCopy() *EndpointLoadBalancerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointLoadBalancerSpec.
func (*EndpointLoadBalancerSpec) DeepCopyInto ¶
func (in *EndpointLoadBalancerSpec) DeepCopyInto(out *EndpointLoadBalancerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointRouteSpec ¶
type EndpointRouteSpec struct {
// Enabled permit to enabled / disabled route
// Default to false
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=false
Enabled bool `json:"enabled,omitempty"`
// Host is the hostname to access on
// +operator-sdk:csv:customresourcedefinitions:type=spec
Host string `json:"host"`
// Set to true to enable TLS on route
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
TlsEnabled *bool `json:"tlsEnabled,omitempty"`
// SecretRef is the secret ref that store certificates
// If secret not exist, it will use the default route certificate
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`
// Labels to set in route
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Annotations to set in route
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// RouteSpec it merge with expected route spec
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
RouteSpec *routev1.RouteSpec `json:"routeSpec,omitempty"`
}
EndpointIngressSpec permit to set route endpoint
func (*EndpointRouteSpec) DeepCopy ¶
func (in *EndpointRouteSpec) DeepCopy() *EndpointRouteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointRouteSpec.
func (*EndpointRouteSpec) DeepCopyInto ¶
func (in *EndpointRouteSpec) DeepCopyInto(out *EndpointRouteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EndpointRouteSpec) IsTlsEnabled ¶
func (h EndpointRouteSpec) IsTlsEnabled() bool
IsTlsEnabled return true if TLS is enabled If TlsEnabled is not set, it will return true If TlsEnabled is set to false, it will return false If TlsEnabled is set to true, it will return true
type EndpointSpec ¶
type EndpointSpec struct {
// Ingress permit to set ingress settings
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Ingress *EndpointIngressSpec `json:"ingress,omitempty"`
// Route permit to set route settings
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Route *EndpointRouteSpec `json:"route,omitempty"`
// Load balancer permit to set load balancer settings
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
LoadBalancer *EndpointLoadBalancerSpec `json:"loadBalancer,omitempty"`
}
EndpointSpec permit to set endpoint
func (*EndpointSpec) DeepCopy ¶
func (in *EndpointSpec) DeepCopy() *EndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSpec.
func (*EndpointSpec) DeepCopyInto ¶
func (in *EndpointSpec) DeepCopyInto(out *EndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (EndpointSpec) IsIngressEnabled ¶
func (h EndpointSpec) IsIngressEnabled() bool
IsIngressEnabled return true if ingress is enabled
func (EndpointSpec) IsLoadBalancerEnabled ¶
func (h EndpointSpec) IsLoadBalancerEnabled() bool
IsLoadBalancerEnabled return true if LoadBalancer is enabled
func (EndpointSpec) IsRouteEnabled ¶
func (h EndpointSpec) IsRouteEnabled() bool
IsRouteEnabled return true if route is enabled
type ImageSpec ¶
type ImageSpec struct {
// Image is the image to use when deploy Elasticsearch
// It can be usefull to use internal registry or mirror
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Image string `json:"image,omitempty"`
// ImagePullPolicy is the image pull policy to use
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +kubebuilder:default=IfNotPresent
// +kubebuilder:validation:Enum=Always;Never;IfNotPresent
// +optional
ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
// ImagePullSecrets is the image pull secrets to use
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
}
Generic type that represent Image spec
func (*ImageSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.
func (*ImageSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Ingress ¶
type Ingress struct {
// Name is the ingress name
// The name is decorated with cluster name and so on
// +operator-sdk:csv:customresourcedefinitions:type=spec
Name string `json:"name"`
// Spec is the ingress spec
// +operator-sdk:csv:customresourcedefinitions:type=spec
Spec networkingv1.IngressSpec `json:"spec"`
// Labels is the extra labels for ingress
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Annotations is the extra annotations for ingress
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// ContainerPortProtocol is the protocol to set when create service consumed by ingress
// +operator-sdk:csv:customresourcedefinitions:type=spec
ContainerPortProtocol corev1.Protocol `json:"containerProtocol"`
// ContainerPort is the port to set when create service consumed by ingress
// +operator-sdk:csv:customresourcedefinitions:type=spec
ContainerPort int64 `json:"containerPort"`
}
Ingress permit to set ingress
func (*Ingress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
func (*Ingress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KibanaExternalRef ¶
type KibanaExternalRef struct {
// Address is the Kibana address
// +operator-sdk:csv:customresourcedefinitions:type=spec
Address string `json:"address"`
}
func (*KibanaExternalRef) DeepCopy ¶
func (in *KibanaExternalRef) DeepCopy() *KibanaExternalRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KibanaExternalRef.
func (*KibanaExternalRef) DeepCopyInto ¶
func (in *KibanaExternalRef) DeepCopyInto(out *KibanaExternalRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KibanaManagedRef ¶
type KibanaManagedRef struct {
// Name is the Kibana deployed by operator
// +operator-sdk:csv:customresourcedefinitions:type=spec
Name string `json:"name"`
// Namespace is the namespace where Kibana is deployed by operator
// No need to set if Kibana is deployed on the same namespace
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Namespace string `json:"namespace,omitempty"`
}
func (*KibanaManagedRef) DeepCopy ¶
func (in *KibanaManagedRef) DeepCopy() *KibanaManagedRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KibanaManagedRef.
func (*KibanaManagedRef) DeepCopyInto ¶
func (in *KibanaManagedRef) DeepCopyInto(out *KibanaManagedRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KibanaRef ¶
type KibanaRef struct {
// ManagedKibanaRef is the managed Kibana by operator
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
ManagedKibanaRef *KibanaManagedRef `json:"managed,omitempty"`
// ExternalKibanaRef is the external Kibana not managed by operator
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
ExternalKibanaRef *KibanaExternalRef `json:"external,omitempty"`
// KibanaCaSecretRef is the secret that store your custom CA certificate to connect on Kibana API.
// It need to have the following keys: ca.crt
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
KibanaCaSecretRef *corev1.LocalObjectReference `json:"kibanaCASecretRef,omitempty"`
// KibanaCredentialSecretRef is the secret that contain credential to acess on Kibana API.
// It need to contain the keys `username` and `password`.
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
KibanaCredentialSecretRef *corev1.LocalObjectReference `json:"credentialSecretRef,omitempty"`
}
func (*KibanaRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KibanaRef.
func (*KibanaRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KibanaRef) GetTargetCluster ¶
GetTargetCluster permit to get the target cluster
func (KibanaRef) IsExternal ¶
IsExternal permit to know if Kibana is external (not managed by operator)
func (KibanaRef) ValidateField ¶
ValidateField permit to validate field from webhook
type MonitoringMetricbeatSpec ¶
type MonitoringMetricbeatSpec struct {
// Enabled permit to enable Metricbeat monitoring
// It will deploy metricbeat to collect metric
// Default to false
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=false
Enabled *bool `json:"enabled,omitempty"`
// ElasticsearchRef is the Elasticsearch ref to connect on.
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
ElasticsearchRef ElasticsearchRef `json:"elasticsearchRef"`
// Resources permit to set resources on metricbeat
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// RefreshPeriod permit to set the time to collect data
// Defaullt to `10s`
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default="10s"
RefreshPeriod string `json:"refreshPeriod,omitempty"`
// Version is the Metricbeat version to use
// Default it use the same version of the product that it monitor
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Version string `json:"version,omitempty"`
// NumberOfReplica is the number of replica to set on metricbeat setting when it create templates
// Default is set to 0
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=0
NumberOfReplica int64 `json:"numberOfReplicas,omitempty"`
}
MonitoringMetricbeatSpec permit to set metricbeat
func (*MonitoringMetricbeatSpec) DeepCopy ¶
func (in *MonitoringMetricbeatSpec) DeepCopy() *MonitoringMetricbeatSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringMetricbeatSpec.
func (*MonitoringMetricbeatSpec) DeepCopyInto ¶
func (in *MonitoringMetricbeatSpec) DeepCopyInto(out *MonitoringMetricbeatSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringPrometheusSpec ¶
type MonitoringPrometheusSpec struct {
// Enabled permit to enable Prometheus monitoring
// It will deploy exporter and add podMonitor policy
// Default to false
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=false
Enabled *bool `json:"enabled,omitempty"`
// Url is the plugin URL where to download exporter
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Url string `json:"url,omitempty"`
// The docker Image if not URL
ImageSpec `json:",inline"`
// Version is the exporter version to use
// Default is use the latest
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=latest
Version string `json:"version,omitempty"`
// Resources permit to set ressources on Prometheus expporter container
// If not defined, it will use the default requirements
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
// InstallPlugin permit to install plugin
// Default to true
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=true
InstallPlugin *bool `json:"installPlugin,omitempty"`
// ScrapInterval is the scrap interval to collect ressource whith prometheus
// Default to 10 secode
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default="10s"
ScrapInterval *string `json:"scrapInterval,omitempty"`
}
MonitoringPrometheusSpec permit to set Prometheus
func (*MonitoringPrometheusSpec) DeepCopy ¶
func (in *MonitoringPrometheusSpec) DeepCopy() *MonitoringPrometheusSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringPrometheusSpec.
func (*MonitoringPrometheusSpec) DeepCopyInto ¶
func (in *MonitoringPrometheusSpec) DeepCopyInto(out *MonitoringPrometheusSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringSpec ¶
type MonitoringSpec struct {
// Prometheus permit to monitor cluster with Prometheus and graphana (via exporter)
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Prometheus *MonitoringPrometheusSpec `json:"prometheus,omitempty"`
// Metricbeat permit to monitor cluster with metricbeat and to dedicated monitoring cluster
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Metricbeat *MonitoringMetricbeatSpec `json:"metricbeat,omitempty"`
}
MonitoringSpec permit to set monitoring
func (*MonitoringSpec) DeepCopy ¶
func (in *MonitoringSpec) DeepCopy() *MonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringSpec.
func (*MonitoringSpec) DeepCopyInto ¶
func (in *MonitoringSpec) DeepCopyInto(out *MonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MonitoringSpec) IsMetricbeatMonitoring ¶
func (h *MonitoringSpec) IsMetricbeatMonitoring(numberOfReplicas int32) bool
IsMetricbeatMonitoring return true if Metricbeat monitoring is enabled
func (MonitoringSpec) IsPrometheusMonitoring ¶
func (h MonitoringSpec) IsPrometheusMonitoring() bool
IsPrometheusMonitoring return true if Prometheus monitoring is enabled
type Route ¶
type Route struct {
// Name is the route name
// The name is decorated with cluster name and so on
// +operator-sdk:csv:customresourcedefinitions:type=spec
Name string `json:"name"`
// Spec is the route spec
// @clean
// +operator-sdk:csv:customresourcedefinitions:type=spec
Spec routev1.RouteSpec `json:"spec"`
// Labels is the extra labels for route
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Annotations is the extra annotations for route
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// ContainerPortProtocol is the protocol to set when create service consumed by route
// +operator-sdk:csv:customresourcedefinitions:type=spec
ContainerPortProtocol corev1.Protocol `json:"containerProtocol"`
// ContainerPort is the port to set when create service consumed by route
// +operator-sdk:csv:customresourcedefinitions:type=spec
ContainerPort int64 `json:"containerPort"`
}
Route permit to set route
func (*Route) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (*Route) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Service ¶
type Service struct {
// Name is the service name
// The name is decorated with cluster name and so on
// +operator-sdk:csv:customresourcedefinitions:type=spec
Name string `json:"name"`
// Spec is the service spec
// +operator-sdk:csv:customresourcedefinitions:type=spec
Spec corev1.ServiceSpec `json:"spec"`
// Labels is the extra labels for ingress
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Annotations is the extra annotations for ingress
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
}
Service permit to set service
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TlsSelfSignedCertificateSpec ¶
type TlsSelfSignedCertificateSpec struct {
// AltIps permit to set subject alt names of type ip when generate certificate
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
AltIps []string `json:"altIPs,omitempty"`
// AltNames permit to set subject alt names of type dns when generate certificate
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
AltNames []string `json:"altNames,omitempty"`
}
TlsSelfSignedCertificateSpec permit to set the the self signed certificate
func (*TlsSelfSignedCertificateSpec) DeepCopy ¶
func (in *TlsSelfSignedCertificateSpec) DeepCopy() *TlsSelfSignedCertificateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TlsSelfSignedCertificateSpec.
func (*TlsSelfSignedCertificateSpec) DeepCopyInto ¶
func (in *TlsSelfSignedCertificateSpec) DeepCopyInto(out *TlsSelfSignedCertificateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TlsSpec ¶
type TlsSpec struct {
// Enabled permit to enabled TLS
// Default to false
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=true
Enabled *bool `json:"enabled,omitempty"`
// SelfSignedCertificate permit to set self signed certificate settings
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
SelfSignedCertificate *TlsSelfSignedCertificateSpec `json:"selfSignedCertificate,omitempty"`
// CertificateSecretRef is the secret that store your custom certificates.
// It need to have the following keys: tls.key, tls.crt and optionally ca.crt
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
CertificateSecretRef *corev1.LocalObjectReference `json:"certificateSecretRef,omitempty"`
// ValidityDays is the number of days that certificates are valid
// Default to 365
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=365
ValidityDays *int `json:"validityDays,omitempty"`
// RenewalDays is the number of days before certificate expire to become effective renewal
// Default to 30
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=30
RenewalDays *int `json:"renewalDays,omitempty"`
// KeySize is the key size when generate privates keys
// Default to 2048
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// +kubebuilder:default=2048
KeySize *int `json:"keySize,omitempty"`
}
TlsSpec permit to set TLS
func (*TlsSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TlsSpec.
func (*TlsSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TlsSpec) IsSelfManagedSecretForTls ¶
IsSelfManagedSecretForTls return true if the operator manage the certificates for TLS It return false if secret is provided
func (TlsSpec) IsTlsEnabled ¶
IsTlsEnabled return true if TLS is enabled to access on Kibana