Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the v1 API group +kubebuilder:object:generate=true +groupName=piraeus.io
Index ¶
- Variables
- func ValidateComponentSpec(curSpec *ComponentSpec, fieldPrefix *field.Path) field.ErrorList
- func ValidateExternalController(ref *LinstorExternalControllerRef, path *field.Path) field.ErrorList
- func ValidateNodeConnectionSelectors(selector []SelectorTerm, 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 ValidatePodTemplate(template json.RawMessage, fieldPrefix *field.Path) field.ErrorList
- func ValidateStoragePools(curSPs, oldSPs []LinstorStoragePool, fieldPrefix *field.Path) field.ErrorList
- func WarnOnBareSatellitePodPatch(patch *Patch, path *field.Path) admission.Warnings
- type ClusterReference
- type ComponentSpec
- 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() (admission.Warnings, error)
- func (r *LinstorCluster) ValidateDelete() (admission.Warnings, error)
- func (r *LinstorCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, 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 LinstorExternalControllerRef
- type LinstorNodeConnection
- func (in *LinstorNodeConnection) DeepCopy() *LinstorNodeConnection
- func (in *LinstorNodeConnection) DeepCopyInto(out *LinstorNodeConnection)
- func (in *LinstorNodeConnection) DeepCopyObject() runtime.Object
- func (r *LinstorNodeConnection) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *LinstorNodeConnection) ValidateCreate() (admission.Warnings, error)
- func (r *LinstorNodeConnection) ValidateDelete() (admission.Warnings, error)
- func (r *LinstorNodeConnection) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type LinstorNodeConnectionList
- type LinstorNodeConnectionPath
- type LinstorNodeConnectionSpec
- type LinstorNodeConnectionStatus
- 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() (admission.Warnings, error)
- func (r *LinstorSatellite) ValidateDelete() (admission.Warnings, error)
- func (r *LinstorSatellite) ValidateUpdate(old runtime.Object) (admission.Warnings, 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() (admission.Warnings, error)
- func (r *LinstorSatelliteConfiguration) ValidateDelete() (admission.Warnings, error)
- func (r *LinstorSatelliteConfiguration) ValidateUpdate(old runtime.Object) (admission.Warnings, 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 MatchLabelSelector
- type MatchLabelSelectorOperator
- type Patch
- type Selector
- type SelectorTerm
- type TLSConfig
- type TLSConfigWithHandshakeDaemon
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 ValidateComponentSpec ¶ added in v2.3.0
func ValidateComponentSpec(curSpec *ComponentSpec, fieldPrefix *field.Path) field.ErrorList
func ValidateExternalController ¶ added in v2.1.0
func ValidateExternalController(ref *LinstorExternalControllerRef, path *field.Path) field.ErrorList
func ValidateNodeConnectionSelectors ¶ added in v2.2.0
func ValidateNodeConnectionSelectors(selector []SelectorTerm, path *field.Path) field.ErrorList
func ValidateNodeProperties ¶
func ValidateNodeProperties(props []LinstorNodeProperty, path *field.Path) field.ErrorList
func ValidateNodeSelector ¶
func ValidatePodTemplate ¶ added in v2.3.0
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"`
// ExternalController references an external controller.
// When set, the Operator uses the external cluster to register satellites.
// +kubebuilder:validation:Optional
ExternalController *LinstorExternalControllerRef `json:"externalController,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 ComponentSpec ¶ added in v2.3.0
type ComponentSpec struct {
// Enable the component.
// +kubebuilder:default:=true
// +kubebuilder:validation:Optional
Enabled bool `json:"enabled,omitempty"`
// Template to apply to Pods of the component.
//
// The template is applied as a patch to the default deployment, so it can be "sparse", not listing any
// containers or volumes that should remain unchanged.
// See https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Schemaless
// +kubebuilder:validation:Type=object
// +kubebuilder:pruning:PreserveUnknownFields
// +structType=atomic
PodTemplate json.RawMessage `json:"podTemplate,omitempty"`
}
func (*ComponentSpec) DeepCopy ¶ added in v2.3.0
func (in *ComponentSpec) DeepCopy() *ComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSpec.
func (*ComponentSpec) DeepCopyInto ¶ added in v2.3.0
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentSpec) GetTemplate ¶ added in v2.3.0
func (c *ComponentSpec) GetTemplate() json.RawMessage
func (*ComponentSpec) IsEnabled ¶ added in v2.3.0
func (c *ComponentSpec) IsEnabled() bool
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() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*LinstorCluster) ValidateDelete ¶
func (r *LinstorCluster) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*LinstorCluster) ValidateUpdate ¶
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"`
// ExternalController references an external controller.
// When set, the Operator will skip deploying a LINSTOR Controller and instead use the external cluster
// to register satellites.
// +kubebuilder:validation:Optional
ExternalController *LinstorExternalControllerRef `json:"externalController,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"`
// NodeAffinity selects the nodes on which LINSTOR Satellite will be deployed.
// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
// +kubebuilder:validation:Optional
NodeAffinity *corev1.NodeSelector `json:"nodeAffinity,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"`
// Controller controls the deployment of the LINSTOR Controller Deployment.
// +kubebuilder:validation:Optional
Controller *ComponentSpec `json:"controller,omitempty"`
// CSIController controls the deployment of the CSI Controller Deployment.
// +kubebuilder:validation:Optional
CSIController *ComponentSpec `json:"csiController,omitempty"`
// CSINode controls the deployment of the CSI Node DaemonSet.
// +kubebuilder:validation:Optional
CSINode *ComponentSpec `json:"csiNode,omitempty"`
// HighAvailabilityController controls the deployment of the High Availability Controller DaemonSet.
// +kubebuilder:validation:Optional
HighAvailabilityController *ComponentSpec `json:"highAvailabilityController,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 LinstorExternalControllerRef ¶ added in v2.1.0
type LinstorExternalControllerRef struct {
// URL of the external controller.
//+kubebuilder:validation:MinLength=3
URL string `json:"url"`
}
func (*LinstorExternalControllerRef) DeepCopy ¶ added in v2.1.0
func (in *LinstorExternalControllerRef) DeepCopy() *LinstorExternalControllerRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorExternalControllerRef.
func (*LinstorExternalControllerRef) DeepCopyInto ¶ added in v2.1.0
func (in *LinstorExternalControllerRef) DeepCopyInto(out *LinstorExternalControllerRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorNodeConnection ¶ added in v2.2.0
type LinstorNodeConnection struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec LinstorNodeConnectionSpec `json:"spec,omitempty"`
Status LinstorNodeConnectionStatus `json:"status,omitempty"`
}
LinstorNodeConnection is the Schema for the linstornodeconnections API
func (*LinstorNodeConnection) DeepCopy ¶ added in v2.2.0
func (in *LinstorNodeConnection) DeepCopy() *LinstorNodeConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorNodeConnection.
func (*LinstorNodeConnection) DeepCopyInto ¶ added in v2.2.0
func (in *LinstorNodeConnection) DeepCopyInto(out *LinstorNodeConnection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorNodeConnection) DeepCopyObject ¶ added in v2.2.0
func (in *LinstorNodeConnection) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*LinstorNodeConnection) SetupWebhookWithManager ¶ added in v2.2.0
func (r *LinstorNodeConnection) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*LinstorNodeConnection) ValidateCreate ¶ added in v2.2.0
func (r *LinstorNodeConnection) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*LinstorNodeConnection) ValidateDelete ¶ added in v2.2.0
func (r *LinstorNodeConnection) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*LinstorNodeConnection) ValidateUpdate ¶ added in v2.2.0
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type LinstorNodeConnectionList ¶ added in v2.2.0
type LinstorNodeConnectionList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []LinstorNodeConnection `json:"items"`
}
LinstorNodeConnectionList contains a list of LinstorNodeConnection
func (*LinstorNodeConnectionList) DeepCopy ¶ added in v2.2.0
func (in *LinstorNodeConnectionList) DeepCopy() *LinstorNodeConnectionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorNodeConnectionList.
func (*LinstorNodeConnectionList) DeepCopyInto ¶ added in v2.2.0
func (in *LinstorNodeConnectionList) DeepCopyInto(out *LinstorNodeConnectionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorNodeConnectionList) DeepCopyObject ¶ added in v2.2.0
func (in *LinstorNodeConnectionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinstorNodeConnectionPath ¶ added in v2.2.0
type LinstorNodeConnectionPath struct {
// Name of the path.
// +required
// +kubebuilder:validation:Required
Name string `json:"name"`
// Interface to use on both nodes.
// +required
// +kubebuilder:validation:Required
Interface string `json:"interface"`
}
func (*LinstorNodeConnectionPath) DeepCopy ¶ added in v2.2.0
func (in *LinstorNodeConnectionPath) DeepCopy() *LinstorNodeConnectionPath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorNodeConnectionPath.
func (*LinstorNodeConnectionPath) DeepCopyInto ¶ added in v2.2.0
func (in *LinstorNodeConnectionPath) DeepCopyInto(out *LinstorNodeConnectionPath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorNodeConnectionSpec ¶ added in v2.2.0
type LinstorNodeConnectionSpec struct {
// Selector selects which pair of Satellites the connection should apply to.
// If not given, the connection will be applied to all connections.
// +kubebuilder:validation:Optional
Selector []SelectorTerm `json:"selector,omitempty"`
// Properties to apply for the node connection.
//
// Use to create default settings for DRBD that should apply to all resources connections between a set of
// cluster nodes.
// +kubebuilder:validation:Optional
// +listType=map
// +listMapKey=name
// +patchMergeKey=name
// +patchStrategy=merge
Properties []LinstorControllerProperty `json:"properties,omitempty"`
// Paths configure the network path used when connecting two nodes.
// +kubebuilder:validation:Optional
// +listType=map
// +listMapKey=name
// +patchMergeKey=name
// +patchStrategy=merge
Paths []LinstorNodeConnectionPath `json:"paths,omitempty"`
}
LinstorNodeConnectionSpec defines the desired state of LinstorNodeConnection
func (*LinstorNodeConnectionSpec) DeepCopy ¶ added in v2.2.0
func (in *LinstorNodeConnectionSpec) DeepCopy() *LinstorNodeConnectionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorNodeConnectionSpec.
func (*LinstorNodeConnectionSpec) DeepCopyInto ¶ added in v2.2.0
func (in *LinstorNodeConnectionSpec) DeepCopyInto(out *LinstorNodeConnectionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorNodeConnectionStatus ¶ added in v2.2.0
type LinstorNodeConnectionStatus struct {
// Current LINSTOR Node Connection state
// +kubebuilder:validation:Optional
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}
LinstorNodeConnectionStatus defines the observed state of LinstorNodeConnection
func (*LinstorNodeConnectionStatus) DeepCopy ¶ added in v2.2.0
func (in *LinstorNodeConnectionStatus) DeepCopy() *LinstorNodeConnectionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorNodeConnectionStatus.
func (*LinstorNodeConnectionStatus) DeepCopyInto ¶ added in v2.2.0
func (in *LinstorNodeConnectionStatus) DeepCopyInto(out *LinstorNodeConnectionStatus)
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() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*LinstorSatellite) ValidateDelete ¶
func (r *LinstorSatellite) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*LinstorSatellite) ValidateUpdate ¶
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() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*LinstorSatelliteConfiguration) ValidateDelete ¶
func (r *LinstorSatelliteConfiguration) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*LinstorSatelliteConfiguration) ValidateUpdate ¶
func (r *LinstorSatelliteConfiguration) ValidateUpdate(old runtime.Object) (admission.Warnings, 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"`
// NodeAffinity selects which LinstorSatellite resources this spec should be applied to.
// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
// +kubebuilder:validation:Optional
NodeAffinity *corev1.NodeSelector `json:"nodeAffinity,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 *TLSConfigWithHandshakeDaemon `json:"internalTLS,omitempty"`
// Template to apply to Satellite Pods.
//
// The template is applied as a patch to the default resource, so it can be "sparse", not listing any
// containers or volumes that should remain unchanged.
// See https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Schemaless
// +kubebuilder:validation:Type=object
// +kubebuilder:pruning:PreserveUnknownFields
// +structType=atomic
PodTemplate json.RawMessage `json:"podTemplate,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 *TLSConfigWithHandshakeDaemon `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 MatchLabelSelector ¶ added in v2.2.0
type MatchLabelSelector struct {
// Key is the name of a node label.
//+kubebuilder:validation:MinLength=1
//+kubebuilder:validation:Required
Key string `json:"key"`
// Op to apply to the label.
// Exists (default) checks for the presence of the label on both nodes in the pair.
// DoesNotExist checks that the label is not present on either node in the pair.
// In checks for the presence of the label value given by Values on both nodes in the pair.
// NotIn checks that both nodes in the pair do not have any of the label values given by Values.
// Same checks that the label value is equal in the node pair.
// NotSame checks that the label value is not equal in the node pair.
// +kubebuilder:default:=Exists
// +kubebuilder:validation:Enum:=Exists;DoesNotExist;In;NotIn;Same;NotSame
// +kubebuilder:validation:Optional
Op MatchLabelSelectorOperator `json:"op,omitempty"`
// Values to match on, using the provided Op.
// +kubebuilder:validation:Optional
Values []string `json:"values,omitempty"`
}
func (*MatchLabelSelector) DeepCopy ¶ added in v2.2.0
func (in *MatchLabelSelector) DeepCopy() *MatchLabelSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MatchLabelSelector.
func (*MatchLabelSelector) DeepCopyInto ¶ added in v2.2.0
func (in *MatchLabelSelector) DeepCopyInto(out *MatchLabelSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MatchLabelSelectorOperator ¶ added in v2.2.0
type MatchLabelSelectorOperator string
const ( MatchLabelSelectorOpExists MatchLabelSelectorOperator = "Exists" MatchLabelSelectorOpDoesNotExist MatchLabelSelectorOperator = "DoesNotExist" MatchLabelSelectorOpIn MatchLabelSelectorOperator = "In" MatchLabelSelectorOpNotIn MatchLabelSelectorOperator = "NotIn" MatchLabelSelectorOpSame MatchLabelSelectorOperator = "Same" MatchLabelSelectorOpNotSame MatchLabelSelectorOperator = "NotSame" )
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 SelectorTerm ¶ added in v2.2.0
type SelectorTerm struct {
// MatchLabels is a list of match expressions that the node pairs must meet.
//+kubebuilder:validation:Required
MatchLabels []MatchLabelSelector `json:"matchLabels,omitempty"`
}
SelectorTerm matches pairs of nodes by checking that the nodes match all specified requirements.
func (*SelectorTerm) DeepCopy ¶ added in v2.2.0
func (in *SelectorTerm) DeepCopy() *SelectorTerm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorTerm.
func (*SelectorTerm) DeepCopyInto ¶ added in v2.2.0
func (in *SelectorTerm) DeepCopyInto(out *SelectorTerm)
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.
type TLSConfigWithHandshakeDaemon ¶ added in v2.3.0
type TLSConfigWithHandshakeDaemon struct {
TLSConfig `json:",inline"`
// TLSHandshakeDaemon enables tlshd for establishing TLS sessions for use by DRBD.
//
// If enabled, adds a new sidecar to the LINSTOR Satellite that runs the tlshd handshake daemon.
// The daemon uses the TLS certificate and key to establish secure connections on behalf of DRBD.
//+kubebuilder:validation:Optional
TLSHandshakeDaemon bool `json:"tlsHandshakeDaemon,omitempty"`
}
func (*TLSConfigWithHandshakeDaemon) DeepCopy ¶ added in v2.3.0
func (in *TLSConfigWithHandshakeDaemon) DeepCopy() *TLSConfigWithHandshakeDaemon
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfigWithHandshakeDaemon.
func (*TLSConfigWithHandshakeDaemon) DeepCopyInto ¶ added in v2.3.0
func (in *TLSConfigWithHandshakeDaemon) DeepCopyInto(out *TLSConfigWithHandshakeDaemon)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- component_spec.go
- groupversion_info.go
- linstorcluster_types.go
- linstorcluster_webhook.go
- linstornodeconnection_types.go
- linstornodeconnection_webhook.go
- linstorsatellite_types.go
- linstorsatellite_webhook.go
- linstorsatelliteconfiguration_types.go
- linstorsatelliteconfiguration_webhook.go
- patch.go
- properties.go
- storagepool.go
- tls.go
- zz_generated.deepcopy.go