shared

package
v0.0.0-...-31fc70c Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package shared contains types and functions used by API definitions in the operators package +groupName=operators.example.com

Index

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

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

func (*DeploymentAntiAffinitySpec) DeepCopyInto

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
	VolumeClaimSpec *corev1.PersistentVolumeClaimSpec `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

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

func (*DeploymentPersistenceSpec) DeepCopyInto

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

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

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

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

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

	// SecretRef is the secret ref that store certificates
	// If secret not exist, it will use the default ingress certificate
	// If secret is nil, it will disable TLS on ingress spec.
	// +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.

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

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 EndpointSpec

type EndpointSpec struct {
	// Ingress permit to set ingress settings
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// +optional
	Ingress *EndpointIngressSpec `json:"ingress,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

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

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

func (in *Ingress) DeepCopy() *Ingress

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

func (*Ingress) DeepCopyInto

func (in *Ingress) DeepCopyInto(out *Ingress)

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

func (in *KibanaRef) DeepCopy() *KibanaRef

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

func (*KibanaRef) DeepCopyInto

func (in *KibanaRef) DeepCopyInto(out *KibanaRef)

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

func (KibanaRef) IsExternal

func (h KibanaRef) IsExternal() bool

IsExternal permit to know if Kibana is external (not managed by operator)

func (KibanaRef) IsManaged

func (h KibanaRef) IsManaged() bool

IsManaged permit to know if Kibana is managed by operator

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

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

MonitoringPrometheusSpec permit to set Prometheus

func (*MonitoringPrometheusSpec) DeepCopy

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

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.

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

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

func (*TlsSelfSignedCertificateSpec) DeepCopyInto

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

func (in *TlsSpec) DeepCopy() *TlsSpec

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

func (*TlsSpec) DeepCopyInto

func (in *TlsSpec) DeepCopyInto(out *TlsSpec)

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

func (TlsSpec) IsSelfManagedSecretForTls

func (h TlsSpec) IsSelfManagedSecretForTls() bool

IsSelfManagedSecretForTls return true if the operator manage the certificates for TLS It return false if secret is provided

func (TlsSpec) IsTlsEnabled

func (h TlsSpec) IsTlsEnabled() bool

IsTlsEnabled return true if TLS is enabled to access on Kibana

Jump to

Keyboard shortcuts

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