Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the piraeus v1 API group +k8s:deepcopy-gen=package,register +groupName=piraeus.linbit.com
Package v1 contains API Schema definitions for the piraeus v1 API group +k8s:deepcopy-gen=package,register +groupName=piraeus.linbit.com
Index ¶
- Variables
- type LinstorCSIDriver
- type LinstorCSIDriverList
- type LinstorCSIDriverSpec
- type LinstorCSIDriverStatus
- type LinstorController
- type LinstorControllerList
- type LinstorControllerSpec
- type LinstorControllerStatus
- type LinstorSatelliteSet
- type LinstorSatelliteSetList
- type LinstorSatelliteSetSpec
- type LinstorSatelliteSetStatus
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: kubeSpec.APIGroup, Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
Functions ¶
This section is empty.
Types ¶
type LinstorCSIDriver ¶
type LinstorCSIDriver struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LinstorCSIDriverSpec `json:"spec,omitempty"` Status LinstorCSIDriverStatus `json:"status,omitempty"` }
LinstorCSIDriver is the Schema for the linstorcsidrivers API +kubebuilder:subresource:status +kubebuilder:resource:path=linstorcsidrivers,scope=Namespaced +kubebuilder:printcolumn:name="NodeReady",type="boolean",JSONPath=".status.NodeReady" +kubebuilder:printcolumn:name="ControllerReady",type="boolean",JSONPath=".status.ControllerReady" +kubebuilder:storageversion
func (*LinstorCSIDriver) DeepCopy ¶
func (in *LinstorCSIDriver) DeepCopy() *LinstorCSIDriver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorCSIDriver.
func (*LinstorCSIDriver) DeepCopyInto ¶
func (in *LinstorCSIDriver) DeepCopyInto(out *LinstorCSIDriver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorCSIDriver) DeepCopyObject ¶
func (in *LinstorCSIDriver) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinstorCSIDriverList ¶
type LinstorCSIDriverList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LinstorCSIDriver `json:"items"` }
LinstorCSIDriverList contains a list of LinstorCSIDriver
func (*LinstorCSIDriverList) DeepCopy ¶
func (in *LinstorCSIDriverList) DeepCopy() *LinstorCSIDriverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorCSIDriverList.
func (*LinstorCSIDriverList) DeepCopyInto ¶
func (in *LinstorCSIDriverList) DeepCopyInto(out *LinstorCSIDriverList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorCSIDriverList) DeepCopyObject ¶
func (in *LinstorCSIDriverList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinstorCSIDriverSpec ¶
type LinstorCSIDriverSpec struct { // Name of the CSI external attacher image. // See https://kubernetes-csi.github.io/docs/external-attacher.html // +optional CSIAttacherImage string `json:"csiAttacherImage"` // Name of the CSI liveness probe image. // See https://kubernetes-csi.github.io/docs/livenessprobe.html // +optional CSILivenessProbeImage string `json:"csiLivenessProbeImage"` // Name of the CSI node driver registrar image. // See https://kubernetes-csi.github.io/docs/node-driver-registrar.html // +optional CSINodeDriverRegistrarImage string `json:"csiNodeDriverRegistrarImage"` // Name of the CSI external provisioner image. // See https://kubernetes-csi.github.io/docs/external-provisioner.html // +optional CSIProvisionerImage string `json:"csiProvisionerImage"` // Name of the CSI external snapshotter image. // See https://kubernetes-csi.github.io/docs/external-snapshotter.html // +optional CSISnapshotterImage string `json:"csiSnapshotterImage"` // Name of the CSI external resizer image. // See https://kubernetes-csi.github.io/docs/external-resizer.html // +optional CSIResizerImage string `json:"csiResizerImage"` // Name of a secret with authentication details for the `LinstorPluginImage` registry ImagePullSecret string `json:"imagePullSecret"` // Pull policy applied to all pods started from this controller // +optional ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy"` // Image that contains the linstor-csi driver plugin LinstorPluginImage string `json:"linstorPluginImage"` // Name of the service account used by the CSI node pods // +optional CSINodeServiceAccountName string `json:"csiNodeServiceAccountName"` // Name of the service account used by the CSI controller pods // +optional CSIControllerServiceAccountName string `json:"csiControllerServiceAccountName"` // priorityClassName is the name of the PriorityClass for the csi driver pods // +optional PriorityClassName shared.PriorityClassName `json:"priorityClassName"` // controllerReplicas is the number of replicas created for the CSI controller // deployment. // +optional ControllerReplicas *int32 `json:"controllerReplicas"` // Cluster URL of the linstor controller. // If not set, will be determined from the current resource name. // +optional ControllerEndpoint string `json:"controllerEndpoint"` // Resource requirements for the csi pods. // The requirements are re-used for all pods (node/controller). // +optional // +nullable Resources corev1.ResourceRequirements `json:"resources"` // Affinity for scheduling the CSI node pods // +optional // +nullable NodeAffinity *corev1.Affinity `json:"nodeAffinity"` // Tolerations for scheduling CSI node pods // +optional // +nullable NodeTolerations []corev1.Toleration `json:"nodeTolerations"` // Affinity for scheduling the CSI controller pod // +optional // +nullable ControllerAffinity *corev1.Affinity `json:"controllerAffinity"` // Tolerations for schedluing CSI controller pods // +optional // +nullable ControllerTolerations []corev1.Toleration `json:"controllerTolerations"` // Enable CSI topology feature to control volume accessibility on cluster nodes // +optional EnableTopology bool `json:"enableTopology"` shared.LinstorClientConfig `json:",inline"` }
LinstorCSIDriverSpec defines the desired state of LinstorCSIDriver
func (*LinstorCSIDriverSpec) DeepCopy ¶
func (in *LinstorCSIDriverSpec) DeepCopy() *LinstorCSIDriverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorCSIDriverSpec.
func (*LinstorCSIDriverSpec) DeepCopyInto ¶
func (in *LinstorCSIDriverSpec) DeepCopyInto(out *LinstorCSIDriverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorCSIDriverStatus ¶
type LinstorCSIDriverStatus struct { // CSI node components ready status NodeReady bool `json:"NodeReady"` // CSI controller ready status ControllerReady bool `json:"ControllerReady"` // Errors remaining that will trigger reconciliations. Errors []string `json:"errors"` }
LinstorCSIDriverStatus defines the observed state of LinstorCSIDriver
func (*LinstorCSIDriverStatus) DeepCopy ¶
func (in *LinstorCSIDriverStatus) DeepCopy() *LinstorCSIDriverStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorCSIDriverStatus.
func (*LinstorCSIDriverStatus) DeepCopyInto ¶
func (in *LinstorCSIDriverStatus) DeepCopyInto(out *LinstorCSIDriverStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorController ¶
type LinstorController struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LinstorControllerSpec `json:"spec,omitempty"` Status LinstorControllerStatus `json:"status,omitempty"` }
LinstorController is the Schema for the linstorcontrollers API +kubebuilder:subresource:status +kubebuilder:resource:path=linstorcontrollers,scope=Namespaced +kubebuilder:storageversion
func (*LinstorController) DeepCopy ¶
func (in *LinstorController) DeepCopy() *LinstorController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorController.
func (*LinstorController) DeepCopyInto ¶
func (in *LinstorController) DeepCopyInto(out *LinstorController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorController) DeepCopyObject ¶
func (in *LinstorController) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinstorControllerList ¶
type LinstorControllerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LinstorController `json:"items"` }
LinstorControllerList contains a list of LinstorController
func (*LinstorControllerList) DeepCopy ¶
func (in *LinstorControllerList) DeepCopy() *LinstorControllerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorControllerList.
func (*LinstorControllerList) DeepCopyInto ¶
func (in *LinstorControllerList) DeepCopyInto(out *LinstorControllerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorControllerList) DeepCopyObject ¶
func (in *LinstorControllerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinstorControllerSpec ¶
type LinstorControllerSpec struct { // priorityClassName is the name of the PriorityClass for the controller pods PriorityClassName shared.PriorityClassName `json:"priorityClassName"` // DBConnectionURL is the URL of the ETCD endpoint for LINSTOR Controller DBConnectionURL string `json:"dbConnectionURL"` // DBCertSecret is the name of the kubernetes secret that holds the CA certificate used to verify // the datatbase connection. The secret must contain a key "ca.pem" which holds the certificate in // PEM format // +nullable // +optional DBCertSecret string `json:"dbCertSecret"` // Use a TLS client certificate for authentication with the database (etcd). If set to true, // `dbCertSecret` must be set and contain two additional entries "client.cert" (PEM encoded) // and "client.key" (PKCS8 encoded, without passphrase). // +optional DBUseClientCert bool `json:"dbUseClientCert"` // Name of the secret containing the master passphrase for LUKS devices as `MASTER_PASSPHRASE` // +nullable // +optional LuksSecret string `json:"luksSecret"` // Name of k8s secret that holds the SSL key for a node (called `keystore.jks`) and the // trusted certificates (called `certificates.jks`) // +nullable // +optional SslConfig *shared.LinstorSSLConfig `json:"sslSecret"` // DrbdRepoCred is the name of the kubernetes secret that holds the credential for the // DRBD repositories DrbdRepoCred string `json:"drbdRepoCred"` // controllerImage is the image (location + tag) for the LINSTOR controller/server container ControllerImage string `json:"controllerImage"` // Pull policy applied to all pods started from this controller // +optional ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy"` // Name of the secret containing the java keystore (`keystore.jks`) used to enable HTTPS on the // controller. The controller will create a secured https endpoint on port 3371 with the key // stored in `keystore.jks`. The keystore must be secured using the passphrase "linstor". Also // needs to contain a truststore `truststore.jks`, which will be used to authenticate clients. // +optional LinstorHttpsControllerSecret string `json:"linstorHttpsControllerSecret"` // Resource requirements for the LINSTOR controller pod // +optional // +nullable Resources corev1.ResourceRequirements `json:"resources"` // Affinity for scheduling the controller pod // +optional // +nullable Affinity *corev1.Affinity `json:"affinity"` // Tolerations for scheduling the controller pod // +optional // +nullable Tolerations []corev1.Toleration `json:"tolerations"` // Number of replicas in the controller deployment // +optional // +nullable Replicas *int32 `json:"replicas"` // Name of the service account that runs leader elections for linstor // +optional ServiceAccountName string `json:"serviceAccountName"` shared.LinstorClientConfig `json:",inline"` }
LinstorControllerSpec defines the desired state of LinstorController
func (*LinstorControllerSpec) DeepCopy ¶
func (in *LinstorControllerSpec) DeepCopy() *LinstorControllerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorControllerSpec.
func (*LinstorControllerSpec) DeepCopyInto ¶
func (in *LinstorControllerSpec) DeepCopyInto(out *LinstorControllerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorControllerStatus ¶
type LinstorControllerStatus struct { // Errors remaining that will trigger reconciliations. Errors []string `json:"errors"` // ControllerStatus information. ControllerStatus *shared.NodeStatus `json:"ControllerStatus"` // SatelliteStatuses by hostname. SatelliteStatuses []*shared.SatelliteStatus `json:"SatelliteStatuses"` }
LinstorControllerStatus defines the observed state of LinstorController
func (*LinstorControllerStatus) DeepCopy ¶
func (in *LinstorControllerStatus) DeepCopy() *LinstorControllerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorControllerStatus.
func (*LinstorControllerStatus) DeepCopyInto ¶
func (in *LinstorControllerStatus) DeepCopyInto(out *LinstorControllerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorSatelliteSet ¶
type LinstorSatelliteSet struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LinstorSatelliteSetSpec `json:"spec,omitempty"` Status LinstorSatelliteSetStatus `json:"status,omitempty"` }
LinstorSatelliteSet is the Schema for the linstorsatellitesets API +kubebuilder:subresource:status +kubebuilder:resource:path=linstorsatellitesets,scope=Namespaced +kubebuilder:storageversion
func (*LinstorSatelliteSet) DeepCopy ¶
func (in *LinstorSatelliteSet) DeepCopy() *LinstorSatelliteSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteSet.
func (*LinstorSatelliteSet) DeepCopyInto ¶
func (in *LinstorSatelliteSet) DeepCopyInto(out *LinstorSatelliteSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorSatelliteSet) DeepCopyObject ¶
func (in *LinstorSatelliteSet) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinstorSatelliteSetList ¶
type LinstorSatelliteSetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LinstorSatelliteSet `json:"items"` }
LinstorSatelliteSetList contains a list of LinstorSatelliteSet.
func (*LinstorSatelliteSetList) DeepCopy ¶
func (in *LinstorSatelliteSetList) DeepCopy() *LinstorSatelliteSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteSetList.
func (*LinstorSatelliteSetList) DeepCopyInto ¶
func (in *LinstorSatelliteSetList) DeepCopyInto(out *LinstorSatelliteSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinstorSatelliteSetList) DeepCopyObject ¶
func (in *LinstorSatelliteSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinstorSatelliteSetSpec ¶
type LinstorSatelliteSetSpec struct { // priorityClassName is the name of the PriorityClass for the node pods PriorityClassName shared.PriorityClassName `json:"priorityClassName"` // StoragePools is a list of StoragePools for LinstorSatelliteSet to manage. // +optional // +nullable StoragePools *shared.StoragePools `json:"storagePools"` // If set, the operator will automatically create storage pools of the specified type for all devices that can // be found. The name of the storage pools matches the device name. For example, all devices `/dev/sdc` will be // part of the `autopool-sdc` storage pool. // Note: Using this attribute is discouraged. Using the "storagePools" to set up devices allows for more control on // device creation. // +optional // +kubebuilder:validation:Enum=None;LVM;LVMTHIN;ZFS AutomaticStorageType string `json:"automaticStorageType"` // Name of k8s secret that holds the SSL key for a node (called `keystore.jks`) and // the trusted certificates (called `certificates.jks`) // +optional // +nullable SslConfig *shared.LinstorSSLConfig `json:"sslSecret"` // drbdRepoCred is the name of the kubernetes secret that holds the credential for the DRBD repositories DrbdRepoCred string `json:"drbdRepoCred"` // Pull policy applied to all pods started from this controller // +optional ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy"` // satelliteImage is the image (location + tag) for the LINSTOR satellite container SatelliteImage string `json:"satelliteImage"` // Cluster URL of the linstor controller. // If not set, will be determined from the current resource name. // +optional ControllerEndpoint string `json:"controllerEndpoint"` // Resource requirements for the LINSTOR satellite container // +optional // +nullable Resources corev1.ResourceRequirements `json:"resources"` // kernelModuleInjectionImage is the image (location + tag) for the LINSTOR/DRBD kernel module injector // +optional KernelModuleInjectionImage string `json:"kernelModuleInjectionImage"` // kernelModuleInjectionMode selects the source for the DRBD kernel module // +kubebuilder:validation:Enum=None;Compile;ShippedModules;DepsOnly // +optional KernelModuleInjectionMode shared.KernelModuleInjectionMode `json:"kernelModuleInjectionMode"` // Resource requirements for the kernel module builder/injector container // +optional // +nullable KernelModuleInjectionResources corev1.ResourceRequirements `json:"kernelModuleInjectionResources"` // Affinity for scheduling the satellite pods // +optional // +nullable Affinity *corev1.Affinity `json:"affinity"` // Tolerations for scheduling the satellite pods // +optional // +nullable Tolerations []corev1.Toleration `json:"tolerations"` // Name of the service account to be used for the created pods // +optional ServiceAccountName string `json:"serviceAccountName"` shared.LinstorClientConfig `json:",inline"` }
LinstorSatelliteSetSpec defines the desired state of a LinstorSatelliteSet.
func (*LinstorSatelliteSetSpec) DeepCopy ¶
func (in *LinstorSatelliteSetSpec) DeepCopy() *LinstorSatelliteSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteSetSpec.
func (*LinstorSatelliteSetSpec) DeepCopyInto ¶
func (in *LinstorSatelliteSetSpec) DeepCopyInto(out *LinstorSatelliteSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinstorSatelliteSetStatus ¶
type LinstorSatelliteSetStatus struct { // Errors remaining that will trigger reconciliations. Errors []string `json:"errors"` // SatelliteStatuses by hostname. SatelliteStatuses []*shared.SatelliteStatus `json:"SatelliteStatuses"` }
LinstorSatelliteSetStatus defines the observed state of LinstorSatelliteSet
func (*LinstorSatelliteSetStatus) DeepCopy ¶
func (in *LinstorSatelliteSetStatus) DeepCopy() *LinstorSatelliteSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinstorSatelliteSetStatus.
func (*LinstorSatelliteSetStatus) DeepCopyInto ¶
func (in *LinstorSatelliteSetStatus) DeepCopyInto(out *LinstorSatelliteSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.