Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the v1 API group +kubebuilder:object:generate=true +groupName=piraeus.io
Index ¶
- Variables
- func ValidateControllerProperties(props []LinstorControllerProperty, path *field.Path) field.ErrorList
- func ValidateNodeProperties(props []LinstorNodeProperty, path *field.Path) field.ErrorList
- func ValidateNodeSelector(selector map[string]string, path *field.Path) field.ErrorList
- func ValidateStoragePools(curSPs, oldSPs []LinstorStoragePool, fieldPrefix *field.Path) field.ErrorList
- type ClusterReference
- type LinstorCluster
- func (in *LinstorCluster) DeepCopy() *LinstorCluster
- func (in *LinstorCluster) DeepCopyInto(out *LinstorCluster)
- func (in *LinstorCluster) DeepCopyObject() runtime.Object
- func (r *LinstorCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *LinstorCluster) ValidateCreate() error
- func (r *LinstorCluster) ValidateDelete() error
- func (r *LinstorCluster) ValidateUpdate(old runtime.Object) error
- type LinstorClusterApiTLS
- func (in *LinstorClusterApiTLS) DeepCopy() *LinstorClusterApiTLS
- func (in *LinstorClusterApiTLS) DeepCopyInto(out *LinstorClusterApiTLS)
- func (l *LinstorClusterApiTLS) GetApiSecretName() string
- func (l *LinstorClusterApiTLS) GetClientSecretName() string
- func (l *LinstorClusterApiTLS) GetCsiControllerSecretName() string
- func (l *LinstorClusterApiTLS) GetCsiNodeSecretName() string
- type LinstorClusterList
- type LinstorClusterSpec
- type LinstorClusterStatus
- type LinstorControllerProperty
- type LinstorNodeProperty
- type LinstorNodePropertyValueFrom
- type LinstorSatellite
- func (in *LinstorSatellite) DeepCopy() *LinstorSatellite
- func (in *LinstorSatellite) DeepCopyInto(out *LinstorSatellite)
- func (in *LinstorSatellite) DeepCopyObject() runtime.Object
- func (r *LinstorSatellite) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *LinstorSatellite) ValidateCreate() error
- func (r *LinstorSatellite) ValidateDelete() error
- func (r *LinstorSatellite) ValidateUpdate(old runtime.Object) error
- type LinstorSatelliteConfiguration
- func (in *LinstorSatelliteConfiguration) DeepCopy() *LinstorSatelliteConfiguration
- func (in *LinstorSatelliteConfiguration) DeepCopyInto(out *LinstorSatelliteConfiguration)
- func (in *LinstorSatelliteConfiguration) DeepCopyObject() runtime.Object
- func (r *LinstorSatelliteConfiguration) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *LinstorSatelliteConfiguration) ValidateCreate() error
- func (r *LinstorSatelliteConfiguration) ValidateDelete() error
- func (r *LinstorSatelliteConfiguration) ValidateUpdate(old runtime.Object) error
- type LinstorSatelliteConfigurationList
- type LinstorSatelliteConfigurationSpec
- type LinstorSatelliteConfigurationStatus
- type LinstorSatelliteList
- type LinstorSatelliteSpec
- type LinstorSatelliteStatus
- type LinstorStoragePool
- type LinstorStoragePoolFile
- func (in *LinstorStoragePoolFile) DeepCopy() *LinstorStoragePoolFile
- func (in *LinstorStoragePoolFile) DeepCopyInto(out *LinstorStoragePoolFile)
- func (l *LinstorStoragePoolFile) DirectoryOrDefault(name string) string
- func (l *LinstorStoragePoolFile) Validate(oldSP *LinstorStoragePool, fieldPrefix *field.Path, name string, thin bool) field.ErrorList
- type LinstorStoragePoolLvm
- type LinstorStoragePoolLvmThin
- type LinstorStoragePoolSource
- type Patch
- type Selector
- type TLSConfig
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "piraeus.io", Version: "v1"} // 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 )
var ( SPRegexp = regexp.MustCompile("^[A-Za-z0-9][A-Za-z0-9_-]{1,46}[A-Za-z0-9]$") VGRegexp = regexp.MustCompile("^[A-Za-z0-9.+_-]+$") )
Functions ¶
func ValidateControllerProperties ¶
func ValidateControllerProperties(props []LinstorControllerProperty, path *field.Path) field.ErrorList
func ValidateNodeProperties ¶
func ValidateNodeProperties(props []LinstorNodeProperty, path *field.Path) field.ErrorList
func ValidateNodeSelector ¶
func ValidateStoragePools ¶
func ValidateStoragePools(curSPs, oldSPs []LinstorStoragePool, fieldPrefix *field.Path) field.ErrorList
Types ¶
type ClusterReference ¶
type ClusterReference struct { // Name of the LinstorCluster resource controlling this satellite. Name string `json:"name,omitempty"` // ClientSecretName references the secret used by the operator to validate the https endpoint. ClientSecretName string `json:"clientSecretName,omitempty"` }
func (*ClusterReference) DeepCopy ¶
func (in *ClusterReference) DeepCopy() *ClusterReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterReference.
func (*ClusterReference) DeepCopyInto ¶
func (in *ClusterReference) DeepCopyInto(out *ClusterReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorCluster ¶
type LinstorCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LinstorClusterSpec `json:"spec,omitempty"` Status LinstorClusterStatus `json:"status,omitempty"` }
LinstorCluster is the Schema for the linstorclusters API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster
func (*LinstorCluster) DeepCopy ¶
func (in *LinstorCluster) DeepCopy() *LinstorCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorCluster.
func (*LinstorCluster) DeepCopyInto ¶
func (in *LinstorCluster) DeepCopyInto(out *LinstorCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorCluster) DeepCopyObject ¶
func (in *LinstorCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*LinstorCluster) SetupWebhookWithManager ¶
func (r *LinstorCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*LinstorCluster) ValidateCreate ¶
func (r *LinstorCluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*LinstorCluster) ValidateDelete ¶
func (r *LinstorCluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*LinstorCluster) ValidateUpdate ¶
func (r *LinstorCluster) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type LinstorClusterApiTLS ¶
type LinstorClusterApiTLS struct { // ApiSecretName references a secret holding the TLS key and certificate used to protect the API. // Defaults to "linstor-api-tls". //+kubebuilder:validation:Optional ApiSecretName string `json:"apiSecretName,omitempty"` // ClientSecretName references a secret holding the TLS key and certificate used by the operator to configure // the cluster. Defaults to "linstor-client-tls". //+kubebuilder:validation:Optional ClientSecretName string `json:"clientSecretName,omitempty"` // CsiControllerSecretName references a secret holding the TLS key and certificate used by the CSI Controller // to provision volumes. Defaults to "linstor-csi-controller-tls". //+kubebuilder:validation:Optional CsiControllerSecretName string `json:"csiControllerSecretName,omitempty"` // CsiNodeSecretName references a secret holding the TLS key and certificate used by the CSI Nodes to query // the volume state. Defaults to "linstor-csi-node-tls". //+kubebuilder:validation:Optional CsiNodeSecretName string `json:"csiNodeSecretName,omitempty"` // CertManager references a cert-manager Issuer or ClusterIssuer. // If set, cert-manager.io/Certificate resources will be created, provisioning the secrets referenced in // *SecretName using the issuer configured here. //+kubebuilder:validation:Optional CertManager *cmmetav1.ObjectReference `json:"certManager,omitempty"` }
func (*LinstorClusterApiTLS) DeepCopy ¶
func (in *LinstorClusterApiTLS) DeepCopy() *LinstorClusterApiTLS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorClusterApiTLS.
func (*LinstorClusterApiTLS) DeepCopyInto ¶
func (in *LinstorClusterApiTLS) DeepCopyInto(out *LinstorClusterApiTLS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorClusterApiTLS) GetApiSecretName ¶
func (l *LinstorClusterApiTLS) GetApiSecretName() string
func (*LinstorClusterApiTLS) GetClientSecretName ¶
func (l *LinstorClusterApiTLS) GetClientSecretName() string
func (*LinstorClusterApiTLS) GetCsiControllerSecretName ¶
func (l *LinstorClusterApiTLS) GetCsiControllerSecretName() string
func (*LinstorClusterApiTLS) GetCsiNodeSecretName ¶
func (l *LinstorClusterApiTLS) GetCsiNodeSecretName() string
type LinstorClusterList ¶
type LinstorClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LinstorCluster `json:"items"` }
LinstorClusterList contains a list of LinstorCluster +kubebuilder:object:root=true
func (*LinstorClusterList) DeepCopy ¶
func (in *LinstorClusterList) DeepCopy() *LinstorClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorClusterList.
func (*LinstorClusterList) DeepCopyInto ¶
func (in *LinstorClusterList) DeepCopyInto(out *LinstorClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorClusterList) DeepCopyObject ¶
func (in *LinstorClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinstorClusterSpec ¶
type LinstorClusterSpec struct { // Repository used to pull workload images. // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // NodeSelector selects the nodes on which LINSTOR Satellites will be deployed. // See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +kubebuilder:validation:Optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Properties to apply on the cluster level. // // Use to create default settings for DRBD that should apply to all resources or to configure some other cluster // wide default. // +kubebuilder:validation:Optional // +listType=map // +listMapKey=name // +patchMergeKey=name // +patchStrategy=merge Properties []LinstorControllerProperty `json:"properties,omitempty"` // Patches is a list of kustomize patches to apply. // // See https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/patches/ for how to create patches. // +kubebuilder:validation:Optional Patches []Patch `json:"patches,omitempty"` // LinstorPassphraseSecret used to configure the LINSTOR master passphrase. // // The referenced secret must contain a single key "MASTER_PASSPHRASE". The master passphrase is used to // * Derive encryption keys for volumes using the LUKS layer. // * Store credentials for accessing remotes for backups. // See https://linbit.com/drbd-user-guide/linstor-guide-1_0-en/#s-encrypt_commands for more information. // +kubebuilder:validation:Optional LinstorPassphraseSecret string `json:"linstorPassphraseSecret,omitempty"` // InternalTLS secures the connection between LINSTOR Controller and Satellite. // // This configures the client certificate used when the Controller connects to a Satellite. This only has an effect // when the Satellite is configured to for secure connections using `LinstorSatellite.spec.internalTLS`. // +kubebuilder:validation:Optional // + See LinstorSatelliteSpec.InternalTLS for why nullable is needed. // +nullable InternalTLS *TLSConfig `json:"internalTLS,omitempty"` // ApiTLS secures the LINSTOR API. // // This configures the TLS key and certificate used to secure the LINSTOR API. // +kubebuilder:validation:Optional // + See LinstorSatelliteSpec.InternalTLS for why nullable is needed. // +nullable ApiTLS *LinstorClusterApiTLS `json:"apiTLS,omitempty"` }
LinstorClusterSpec defines the desired state of LinstorCluster
func (*LinstorClusterSpec) DeepCopy ¶
func (in *LinstorClusterSpec) DeepCopy() *LinstorClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorClusterSpec.
func (*LinstorClusterSpec) DeepCopyInto ¶
func (in *LinstorClusterSpec) DeepCopyInto(out *LinstorClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorClusterStatus ¶
type LinstorClusterStatus struct { // Current LINSTOR Cluster state // +kubebuilder:validation:Optional // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
LinstorClusterStatus defines the observed state of LinstorCluster
func (*LinstorClusterStatus) DeepCopy ¶
func (in *LinstorClusterStatus) DeepCopy() *LinstorClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorClusterStatus.
func (*LinstorClusterStatus) DeepCopyInto ¶
func (in *LinstorClusterStatus) DeepCopyInto(out *LinstorClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorControllerProperty ¶
type LinstorControllerProperty struct { // Name of the property to set. //+kubebuilder:validation:MinLength=1 //+kubebuilder:validation:Required Name string `json:"name"` // Value to set the property to. Value string `json:"value,omitempty"` }
func (*LinstorControllerProperty) DeepCopy ¶
func (in *LinstorControllerProperty) DeepCopy() *LinstorControllerProperty
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorControllerProperty.
func (*LinstorControllerProperty) DeepCopyInto ¶
func (in *LinstorControllerProperty) DeepCopyInto(out *LinstorControllerProperty)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorNodeProperty ¶
type LinstorNodeProperty struct { // Name of the property to set. //+kubebuilder:validation:MinLength=1 //+kubebuilder:validation:Required Name string `json:"name"` // Value to set the property to. //+kubebuilder:validation:Optional Value string `json:"value,omitempty"` // ValueFrom sets the value from an existing resource. //+kubebuilder:validation:Optional ValueFrom *LinstorNodePropertyValueFrom `json:"valueFrom,omitempty"` // Optional values are only set if they have a non-empty value //+kubebuilder:validation:Optional Optional bool `json:"optional,omitempty"` }
func (*LinstorNodeProperty) DeepCopy ¶
func (in *LinstorNodeProperty) DeepCopy() *LinstorNodeProperty
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorNodeProperty.
func (*LinstorNodeProperty) DeepCopyInto ¶
func (in *LinstorNodeProperty) DeepCopyInto(out *LinstorNodeProperty)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorNodePropertyValueFrom ¶
type LinstorNodePropertyValueFrom struct { // Select a field of the node. Supports `metadata.name`, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`. //+kubebuilder:validation:MinLength=1 //+kubebuilder:validation:Required NodeFieldRef string `json:"nodeFieldRef,omitempty"` }
func (*LinstorNodePropertyValueFrom) DeepCopy ¶
func (in *LinstorNodePropertyValueFrom) DeepCopy() *LinstorNodePropertyValueFrom
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorNodePropertyValueFrom.
func (*LinstorNodePropertyValueFrom) DeepCopyInto ¶
func (in *LinstorNodePropertyValueFrom) DeepCopyInto(out *LinstorNodePropertyValueFrom)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorSatellite ¶
type LinstorSatellite struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LinstorSatelliteSpec `json:"spec,omitempty"` Status LinstorSatelliteStatus `json:"status,omitempty"` }
LinstorSatellite is the Schema for the linstorsatellites API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster
func (*LinstorSatellite) DeepCopy ¶
func (in *LinstorSatellite) DeepCopy() *LinstorSatellite
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatellite.
func (*LinstorSatellite) DeepCopyInto ¶
func (in *LinstorSatellite) DeepCopyInto(out *LinstorSatellite)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorSatellite) DeepCopyObject ¶
func (in *LinstorSatellite) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*LinstorSatellite) SetupWebhookWithManager ¶
func (r *LinstorSatellite) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*LinstorSatellite) ValidateCreate ¶
func (r *LinstorSatellite) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*LinstorSatellite) ValidateDelete ¶
func (r *LinstorSatellite) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*LinstorSatellite) ValidateUpdate ¶
func (r *LinstorSatellite) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type LinstorSatelliteConfiguration ¶
type LinstorSatelliteConfiguration struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LinstorSatelliteConfigurationSpec `json:"spec,omitempty"` Status LinstorSatelliteConfigurationStatus `json:"status,omitempty"` }
LinstorSatelliteConfiguration is the Schema for the linstorsatelliteconfigurations API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster
func (*LinstorSatelliteConfiguration) DeepCopy ¶
func (in *LinstorSatelliteConfiguration) DeepCopy() *LinstorSatelliteConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteConfiguration.
func (*LinstorSatelliteConfiguration) DeepCopyInto ¶
func (in *LinstorSatelliteConfiguration) DeepCopyInto(out *LinstorSatelliteConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorSatelliteConfiguration) DeepCopyObject ¶
func (in *LinstorSatelliteConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*LinstorSatelliteConfiguration) SetupWebhookWithManager ¶
func (r *LinstorSatelliteConfiguration) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*LinstorSatelliteConfiguration) ValidateCreate ¶
func (r *LinstorSatelliteConfiguration) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*LinstorSatelliteConfiguration) ValidateDelete ¶
func (r *LinstorSatelliteConfiguration) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*LinstorSatelliteConfiguration) ValidateUpdate ¶
func (r *LinstorSatelliteConfiguration) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type LinstorSatelliteConfigurationList ¶
type LinstorSatelliteConfigurationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LinstorSatelliteConfiguration `json:"items"` }
LinstorSatelliteConfigurationList contains a list of LinstorSatelliteConfiguration +kubebuilder:object:root=true
func (*LinstorSatelliteConfigurationList) DeepCopy ¶
func (in *LinstorSatelliteConfigurationList) DeepCopy() *LinstorSatelliteConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteConfigurationList.
func (*LinstorSatelliteConfigurationList) DeepCopyInto ¶
func (in *LinstorSatelliteConfigurationList) DeepCopyInto(out *LinstorSatelliteConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorSatelliteConfigurationList) DeepCopyObject ¶
func (in *LinstorSatelliteConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinstorSatelliteConfigurationSpec ¶
type LinstorSatelliteConfigurationSpec struct { // NodeSelector selects which LinstorSatellite resources this spec should be applied to. // See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +kubebuilder:validation:Optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Patches is a list of kustomize patches to apply. // // See https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/patches/ for how to create patches. // +kubebuilder:validation:Optional Patches []Patch `json:"patches,omitempty"` // StoragePools is a list of storage pools to configure on the node. // +kubebuilder:validation:Optional StoragePools []LinstorStoragePool `json:"storagePools,omitempty"` // Properties is a list of properties to set on the node. // +kubebuilder:validation:Optional // +listType=map // +listMapKey=name // +patchMergeKey=name // +patchStrategy=merge Properties []LinstorNodeProperty `json:"properties,omitempty"` // InternalTLS configures secure communication for the LINSTOR Satellite. // // If set, the control traffic between LINSTOR Controller and Satellite will be encrypted using mTLS. // +kubebuilder:validation:Optional // + See LinstorSatelliteSpec.InternalTLS for why nullable is needed. // +nullable InternalTLS *TLSConfig `json:"internalTLS,omitempty"` }
LinstorSatelliteConfigurationSpec defines a partial, desired state of a LinstorSatelliteSpec.
All the LinstorSatelliteConfiguration resources with matching NodeSelector will be merged into a single LinstorSatelliteSpec.
func (*LinstorSatelliteConfigurationSpec) DeepCopy ¶
func (in *LinstorSatelliteConfigurationSpec) DeepCopy() *LinstorSatelliteConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteConfigurationSpec.
func (*LinstorSatelliteConfigurationSpec) DeepCopyInto ¶
func (in *LinstorSatelliteConfigurationSpec) DeepCopyInto(out *LinstorSatelliteConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorSatelliteConfigurationStatus ¶
type LinstorSatelliteConfigurationStatus struct { // Current LINSTOR Satellite Config state // +kubebuilder:validation:Optional // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
LinstorSatelliteConfigurationStatus defines the observed state of LinstorSatelliteConfiguration
func (*LinstorSatelliteConfigurationStatus) DeepCopy ¶
func (in *LinstorSatelliteConfigurationStatus) DeepCopy() *LinstorSatelliteConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteConfigurationStatus.
func (*LinstorSatelliteConfigurationStatus) DeepCopyInto ¶
func (in *LinstorSatelliteConfigurationStatus) DeepCopyInto(out *LinstorSatelliteConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorSatelliteList ¶
type LinstorSatelliteList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LinstorSatellite `json:"items"` }
LinstorSatelliteList contains a list of LinstorSatellite +kubebuilder:object:root=true
func (*LinstorSatelliteList) DeepCopy ¶
func (in *LinstorSatelliteList) DeepCopy() *LinstorSatelliteList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteList.
func (*LinstorSatelliteList) DeepCopyInto ¶
func (in *LinstorSatelliteList) DeepCopyInto(out *LinstorSatelliteList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorSatelliteList) DeepCopyObject ¶
func (in *LinstorSatelliteList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinstorSatelliteSpec ¶
type LinstorSatelliteSpec struct { // ClusterRef references the LinstorCluster used to create this LinstorSatellite. ClusterRef ClusterReference `json:"clusterRef"` // Repository used to pull workload images. // +kubebuilder:validation:Optional Repository string `json:"repository,omitempty"` // Patches is a list of kustomize patches to apply. // // See https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/patches/ for how to create patches. // +kubebuilder:validation:Optional Patches []Patch `json:"patches,omitempty"` // StoragePools is a list of storage pools to configure on the node. // +kubebuilder:validation:Optional StoragePools []LinstorStoragePool `json:"storagePools,omitempty"` // Properties is a list of properties to set on the node. // +kubebuilder:validation:Optional // +listType=map // +listMapKey=name // +patchMergeKey=name // +patchStrategy=merge Properties []LinstorNodeProperty `json:"properties,omitempty"` // InternalTLS configures secure communication for the LINSTOR Satellite. // // If set, the control traffic between LINSTOR Controller and Satellite will be encrypted using mTLS. // The Controller will use the client key from `LinstorCluster.spec.internalTLS` when connecting. // +kubebuilder:validation:Optional // + Without "nullable" the k8s API does not accept patches with 'internalTLS: {}', which seems to be a bug. // +nullable InternalTLS *TLSConfig `json:"internalTLS,omitempty"` }
LinstorSatelliteSpec defines the desired state of LinstorSatellite
func (*LinstorSatelliteSpec) DeepCopy ¶
func (in *LinstorSatelliteSpec) DeepCopy() *LinstorSatelliteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteSpec.
func (*LinstorSatelliteSpec) DeepCopyInto ¶
func (in *LinstorSatelliteSpec) DeepCopyInto(out *LinstorSatelliteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorSatelliteStatus ¶
type LinstorSatelliteStatus struct { // Current LINSTOR Satellite state // +kubebuilder:validation:Optional // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
LinstorSatelliteStatus defines the observed state of LinstorSatellite
func (*LinstorSatelliteStatus) DeepCopy ¶
func (in *LinstorSatelliteStatus) DeepCopy() *LinstorSatelliteStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteStatus.
func (*LinstorSatelliteStatus) DeepCopyInto ¶
func (in *LinstorSatelliteStatus) DeepCopyInto(out *LinstorSatelliteStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorStoragePool ¶
type LinstorStoragePool struct { // Name of the storage pool in linstor. //+kubebuilder:validation:MinLength=3 Name string `json:"name"` // Properties to set on the storage pool. // +listType=map // +listMapKey=name // +patchMergeKey=name // +patchStrategy=merge Properties []LinstorNodeProperty `json:"properties,omitempty"` // Configures a LVM Volume Group as storage pool. // +kubebuilder:validation:Optional LvmPool *LinstorStoragePoolLvm `json:"lvmPool,omitempty"` // Configures a LVM Thin Pool as storage pool. // +kubebuilder:validation:Optional LvmThinPool *LinstorStoragePoolLvmThin `json:"lvmThinPool,omitempty"` // Configures a file system based storage pool, allocating a regular file per volume. // +kubebuilder:validation:Optional FilePool *LinstorStoragePoolFile `json:"filePool,omitempty"` // Configures a file system based storage pool, allocating a sparse file per volume. // +kubebuilder:validation:Optional FileThinPool *LinstorStoragePoolFile `json:"fileThinPool,omitempty"` Source *LinstorStoragePoolSource `json:"source,omitempty"` }
func (*LinstorStoragePool) DeepCopy ¶
func (in *LinstorStoragePool) DeepCopy() *LinstorStoragePool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorStoragePool.
func (*LinstorStoragePool) DeepCopyInto ¶
func (in *LinstorStoragePool) DeepCopyInto(out *LinstorStoragePool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorStoragePool) PoolName ¶
func (p *LinstorStoragePool) PoolName() string
func (*LinstorStoragePool) ProviderKind ¶
func (p *LinstorStoragePool) ProviderKind() lclient.ProviderKind
type LinstorStoragePoolFile ¶
type LinstorStoragePoolFile struct { // Directory is the path to the host directory used to store volume data. Directory string `json:"directory,omitempty"` }
func (*LinstorStoragePoolFile) DeepCopy ¶
func (in *LinstorStoragePoolFile) DeepCopy() *LinstorStoragePoolFile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorStoragePoolFile.
func (*LinstorStoragePoolFile) DeepCopyInto ¶
func (in *LinstorStoragePoolFile) DeepCopyInto(out *LinstorStoragePoolFile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorStoragePoolFile) DirectoryOrDefault ¶
func (l *LinstorStoragePoolFile) DirectoryOrDefault(name string) string
func (*LinstorStoragePoolFile) Validate ¶
func (l *LinstorStoragePoolFile) Validate(oldSP *LinstorStoragePool, fieldPrefix *field.Path, name string, thin bool) field.ErrorList
type LinstorStoragePoolLvm ¶
type LinstorStoragePoolLvm struct {
VolumeGroup string `json:"volumeGroup,omitempty"`
}
func (*LinstorStoragePoolLvm) DeepCopy ¶
func (in *LinstorStoragePoolLvm) DeepCopy() *LinstorStoragePoolLvm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorStoragePoolLvm.
func (*LinstorStoragePoolLvm) DeepCopyInto ¶
func (in *LinstorStoragePoolLvm) DeepCopyInto(out *LinstorStoragePoolLvm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorStoragePoolLvm) Validate ¶
func (l *LinstorStoragePoolLvm) Validate(oldSP *LinstorStoragePool, fieldPrefix *field.Path) field.ErrorList
type LinstorStoragePoolLvmThin ¶
type LinstorStoragePoolLvmThin struct { VolumeGroup string `json:"volumeGroup,omitempty"` // ThinPool is the name of the thinpool LV (without VG prefix). ThinPool string `json:"thinPool,omitempty"` }
func (*LinstorStoragePoolLvmThin) DeepCopy ¶
func (in *LinstorStoragePoolLvmThin) DeepCopy() *LinstorStoragePoolLvmThin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorStoragePoolLvmThin.
func (*LinstorStoragePoolLvmThin) DeepCopyInto ¶
func (in *LinstorStoragePoolLvmThin) DeepCopyInto(out *LinstorStoragePoolLvmThin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorStoragePoolLvmThin) Validate ¶
func (l *LinstorStoragePoolLvmThin) Validate(oldSP *LinstorStoragePool, fieldPrefix *field.Path) field.ErrorList
type LinstorStoragePoolSource ¶
type LinstorStoragePoolSource struct { // HostDevices is a list of device paths used to configure the given pool. // +kubebuilder:validation:Optional // +kubebuilder:validation:MinItems:=1 HostDevices []string `json:"hostDevices,omitempty"` }
func (*LinstorStoragePoolSource) DeepCopy ¶
func (in *LinstorStoragePoolSource) DeepCopy() *LinstorStoragePoolSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorStoragePoolSource.
func (*LinstorStoragePoolSource) DeepCopyInto ¶
func (in *LinstorStoragePoolSource) DeepCopyInto(out *LinstorStoragePoolSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Patch ¶
type Patch struct { // Patch is the content of a patch. //+kubebuilder:validation:MinLength=1 //+kubebuilder:validation:Required Patch string `json:"patch,omitempty" yaml:"patch,omitempty"` // Target points to the resources that the patch is applied to Target *Selector `json:"target,omitempty" yaml:"target,omitempty"` // Options is a list of options for the patch // +kubebuilder:validation:Optional Options map[string]bool `json:"options,omitempty" yaml:"options,omitempty"` }
Patch represent either a Strategic Merge Patch or a JSON patch and its targets.
func (*Patch) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Patch.
func (*Patch) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Selector ¶
type Selector struct { Group string `json:"group,omitempty" yaml:"group,omitempty"` Version string `json:"version,omitempty" yaml:"version,omitempty"` Kind string `json:"kind,omitempty" yaml:"kind,omitempty"` // Name of the resource. Name string `json:"name,omitempty" yaml:"name,omitempty"` // Namespace the resource belongs to, if it can belong to a namespace. Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"` // AnnotationSelector is a string that follows the label selection expression // https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api // It matches against the resource annotations. AnnotationSelector string `json:"annotationSelector,omitempty" yaml:"annotationSelector,omitempty"` // LabelSelector is a string that follows the label selection expression // https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api // It matches against the resource labels. LabelSelector string `json:"labelSelector,omitempty" yaml:"labelSelector,omitempty"` }
Selector specifies a set of resources. Any resource that matches all of the conditions is included in this set.
func (*Selector) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Selector.
func (*Selector) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSConfig ¶
type TLSConfig struct { // SecretName references a secret holding the TLS key and certificates. //+kubebuilder:validation:Optional SecretName string `json:"secretName,omitempty"` // CertManager references a cert-manager Issuer or ClusterIssuer. // If set, a Certificate resource will be created, provisioning the secret references in SecretName using the // issuer configured here. //+kubebuilder:validation:Optional CertManager *cmmetav1.ObjectReference `json:"certManager,omitempty"` }
TLSConfig configures TLS for a component.
func (*TLSConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.