2022-02-24 16:43:30 +00:00
apiVersion : apiextensions.k8s.io/v1
kind : CustomResourceDefinition
metadata :
annotations :
2022-12-01 22:20:33 +00:00
controller-gen.kubebuilder.io/version : v0.9.0
2022-02-24 16:43:30 +00:00
creationTimestamp : null
labels :
app : storageos
app.kubernetes.io/component : operator
name : storageosclusters.storageos.com
spec :
group : storageos.com
names :
kind : StorageOSCluster
listKind : StorageOSClusterList
plural : storageosclusters
shortNames :
- stos
singular : storageoscluster
scope : Namespaced
versions :
- additionalPrinterColumns :
- description : Ready status of the storageos nodes.
jsonPath : .status.ready
name : ready
type : string
- description : Status of the whole cluster.
jsonPath : .status.phase
name : status
type : string
- jsonPath : .metadata.creationTimestamp
name : age
type : date
name : v1
schema :
openAPIV3Schema :
description : StorageOSCluster is the Schema for the storageosclusters API
properties :
apiVersion :
2022-12-01 22:20:33 +00:00
description : 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info : https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
2022-02-24 16:43:30 +00:00
type : string
kind :
2022-12-01 22:20:33 +00:00
description : 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info : https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
2022-02-24 16:43:30 +00:00
type : string
metadata :
type : object
spec :
description : StorageOSClusterSpec defines the desired state of StorageOSCluster
properties :
2023-03-10 23:07:57 +00:00
containerResources :
description : ContainerResources is to set the resource requirements
of each individual container managed by the operator.
properties :
apiManagerContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
cliContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
csiExternalAttacherContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
csiExternalProvisionerContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
csiExternalResizerContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
csiExternalSnapshotterContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
csiLivenessProbeContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
csiNodeDriverRegistrarContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
initContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
kubeSchedulerContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
metricsExporterContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
nodeContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
nodeManagerContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
portalManagerContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
snapshotControllerContainer :
description : ResourceRequirements describes the compute resource
requirements.
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Limits describes the maximum amount of compute
resources allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type : object
type : object
type : object
2022-02-24 16:43:30 +00:00
csi :
description : CSI defines the configurations for CSI.
properties :
2022-12-01 22:20:33 +00:00
attacherTimeout :
type : string
2022-02-24 16:43:30 +00:00
deploymentStrategy :
type : string
deviceDir :
type : string
driverRegisterationMode :
type : string
driverRequiresAttachment :
type : string
enable :
type : boolean
enableControllerExpandCreds :
type : boolean
enableControllerPublishCreds :
type : boolean
enableNodePublishCreds :
type : boolean
enableProvisionCreds :
type : boolean
endpoint :
type : string
kubeletDir :
type : string
kubeletRegistrationPath :
type : string
pluginDir :
type : string
2022-12-01 22:20:33 +00:00
provisionerTimeout :
type : string
provisionerWorkerCount :
type : integer
2022-02-24 16:43:30 +00:00
registrarSocketDir :
type : string
registrationDir :
type : string
2022-12-01 22:20:33 +00:00
resizerTimeout :
type : string
snapshotterTimeout :
type : string
2022-02-24 16:43:30 +00:00
version :
type : string
type : object
debug :
description : Debug is to set debug mode of the cluster.
type : boolean
2023-03-10 23:07:57 +00:00
disableCLI :
description : Disable StorageOS CLI deployment.
type : boolean
2022-02-24 16:43:30 +00:00
disableFencing :
2022-12-01 22:20:33 +00:00
description : "Disable Pod Fencing. With StatefulSets, Pods are only
re-scheduled if the Pod has been marked as killed. In practice
this means that failover of a StatefulSet pod is a manual operation.
\n By enabling Pod Fencing and setting the `storageos.com/fenced=true`
label on a Pod, StorageOS will enable automated Pod failover (by
killing the application Pod on the failed node) if the following
conditions exist : \n - Pod fencing has not been explicitly disabled.
- StorageOS has determined that the node the Pod is running on is
offline. StorageOS uses Gossip and TCP checks and will retry for
30 seconds. At this point all volumes on the failed node are marked
offline (irrespective of whether fencing is enabled) and volume
failover starts. - The Pod has the label `storageos.com/fenced=true`
set. - The Pod has at least one StorageOS volume attached. - Each
StorageOS volume has at least 1 healthy replica. \n When Pod Fencing
is disabled, StorageOS will not perform any interaction with Kubernetes
when it detects that a node has gone offline. Additionally, the
Kubernetes permissions required for Fencing will not be added to
the StorageOS role. Deprecated : Not used any more, fencing is enabled/disabled
by storageos.com/fenced label on pod."
2022-02-24 16:43:30 +00:00
type : boolean
disableScheduler :
2022-12-01 22:20:33 +00:00
description : Disable StorageOS scheduler extender.
2022-02-24 16:43:30 +00:00
type : boolean
disableTCMU :
2022-12-01 22:20:33 +00:00
description : "Disable TCMU can be set to true to disable the TCMU
storage driver. This is required when there are multiple storage
systems running on the same node and you wish to avoid conflicts.
\ Only one TCMU-based storage system can run on a node at a time.
\n Disabling TCMU will degrade performance. Deprecated : Not used
any more."
2022-02-24 16:43:30 +00:00
type : boolean
disableTelemetry :
description : Disable Telemetry.
type : boolean
enablePortalManager :
description : EnablePortalManager enables Portal Manager.
type : boolean
environment :
additionalProperties :
type : string
2022-12-01 22:20:33 +00:00
description : Environment contains environment variables that are passed
to StorageOS.
2022-02-24 16:43:30 +00:00
type : object
forceTCMU :
2022-12-01 22:20:33 +00:00
description : "Force TCMU can be set to true to ensure that TCMU is
enabled or cause StorageOS to abort startup. \n At startup, StorageOS
will automatically fallback to non-TCMU mode if another TCMU-based
storage system is running on the node. Since non-TCMU will degrade
performance, this may not always be desired. Deprecated : Not used
any more."
2022-02-24 16:43:30 +00:00
type : boolean
images :
2022-12-01 22:20:33 +00:00
description : Images defines the various container images used in the
cluster.
2022-02-24 16:43:30 +00:00
properties :
apiManagerContainer :
type : string
2023-03-10 23:07:57 +00:00
cliContainer :
type : string
2022-02-24 16:43:30 +00:00
csiClusterDriverRegistrarContainer :
type : string
csiExternalAttacherContainer :
type : string
csiExternalProvisionerContainer :
type : string
csiExternalResizerContainer :
type : string
2022-12-01 22:20:33 +00:00
csiExternalSnapshotterContainer :
type : string
2022-02-24 16:43:30 +00:00
csiLivenessProbeContainer :
type : string
csiNodeDriverRegistrarContainer :
type : string
hyperkubeContainer :
type : string
initContainer :
type : string
kubeSchedulerContainer :
type : string
2022-12-01 22:20:33 +00:00
metricsExporterContainer :
type : string
2022-02-24 16:43:30 +00:00
nfsContainer :
type : string
nodeContainer :
type : string
2022-12-01 22:20:33 +00:00
nodeGuardContainer :
type : string
2022-02-24 16:43:30 +00:00
nodeManagerContainer :
type : string
portalManagerContainer :
type : string
2023-03-10 23:07:57 +00:00
snapshotControllerContainer :
type : string
2022-02-24 16:43:30 +00:00
type : object
ingress :
2022-12-01 22:20:33 +00:00
description : 'Ingress defines the ingress configurations used in the
cluster. Deprecated : Not used any more, please create your ingress
for dashboard on your own.'
2022-02-24 16:43:30 +00:00
properties :
annotations :
additionalProperties :
type : string
type : object
enable :
type : boolean
hostname :
type : string
tls :
type : boolean
type : object
join :
2022-12-01 22:20:33 +00:00
description : 'Join is the join token used for service discovery. Deprecated :
Not used any more.'
2022-02-24 16:43:30 +00:00
type : string
k8sDistro :
2022-12-01 22:20:33 +00:00
description : "K8sDistro is the name of the Kubernetes distribution
where the operator is being deployed. It should be in the format :
`name[-1.0]`, where the version is optional and should only be appended
if known. Suitable names include : `openshift`, `rancher`, `aks`,
`gke`, `eks`, or the deployment method if using upstream directly,
e.g `minishift` or `kubeadm`. \n Setting k8sDistro is optional,
and will be used to simplify cluster configuration by setting appropriate
defaults for the distribution. The distribution information will
also be included in the product telemetry (if enabled), to help
focus development efforts."
2022-02-24 16:43:30 +00:00
type : string
kvBackend :
2022-12-01 22:20:33 +00:00
description : KVBackend defines the key-value store backend used in
the cluster.
2022-02-24 16:43:30 +00:00
properties :
address :
type : string
backend :
type : string
required :
- address
type : object
2022-12-01 22:20:33 +00:00
metrics :
description : Metrics feature configuration.
properties :
disabledCollectors :
description : DisabledCollectors is a list of collectors that shall
be disabled. By default, all are enabled.
items :
description : MetricsExporterCollector is the name of a metrics
collector in the metrics-exporter.
enum :
- diskstats
- filesystem
type : string
type : array
enabled :
type : boolean
logLevel :
description : Verbosity of log messages. Accepts go.uber.org/zap
log levels.
enum :
- debug
- info
- warn
- error
- dpanic
- panic
- fatal
type : string
timeout :
description : Timeout in seconds to serve metrics.
minimum : 1
type : integer
type : object
2022-02-24 16:43:30 +00:00
namespace :
2022-12-01 22:20:33 +00:00
description : 'Namespace is the kubernetes Namespace where storageos
resources are provisioned. Deprecated : StorageOS uses namespace
of storageosclusters.storageos.com resource.'
2022-02-24 16:43:30 +00:00
type : string
nodeManagerFeatures :
additionalProperties :
type : string
description : Node manager feature list with optional configurations.
type : object
nodeSelectorTerms :
2022-12-01 22:20:33 +00:00
description : NodeSelectorTerms is to set the placement of storageos
pods using node affinity requiredDuringSchedulingIgnoredDuringExecution.
2022-02-24 16:43:30 +00:00
items :
2022-12-01 22:20:33 +00:00
description : A null or empty node selector term matches no objects.
The requirements of them are ANDed. The TopologySelectorTerm type
implements a subset of the NodeSelectorTerm.
2022-02-24 16:43:30 +00:00
properties :
matchExpressions :
2022-12-01 22:20:33 +00:00
description : A list of node selector requirements by node's
labels.
2022-02-24 16:43:30 +00:00
items :
2022-12-01 22:20:33 +00:00
description : A node selector requirement is a selector that
contains values, a key, and an operator that relates the
key and values.
2022-02-24 16:43:30 +00:00
properties :
key :
description : The label key that the selector applies to.
type : string
operator :
2022-12-01 22:20:33 +00:00
description : Represents a key's relationship to a set
of values. Valid operators are In, NotIn, Exists, DoesNotExist.
Gt, and Lt.
2022-02-24 16:43:30 +00:00
type : string
values :
2022-12-01 22:20:33 +00:00
description : An array of string values. If the operator
is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. If the operator is Gt or Lt, the
values array must have a single element, which will
be interpreted as an integer. This array is replaced
during a strategic merge patch.
2022-02-24 16:43:30 +00:00
items :
type : string
type : array
required :
- key
- operator
type : object
type : array
matchFields :
2022-12-01 22:20:33 +00:00
description : A list of node selector requirements by node's
fields.
2022-02-24 16:43:30 +00:00
items :
2022-12-01 22:20:33 +00:00
description : A node selector requirement is a selector that
contains values, a key, and an operator that relates the
key and values.
2022-02-24 16:43:30 +00:00
properties :
key :
description : The label key that the selector applies to.
type : string
operator :
2022-12-01 22:20:33 +00:00
description : Represents a key's relationship to a set
of values. Valid operators are In, NotIn, Exists, DoesNotExist.
Gt, and Lt.
2022-02-24 16:43:30 +00:00
type : string
values :
2022-12-01 22:20:33 +00:00
description : An array of string values. If the operator
is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. If the operator is Gt or Lt, the
values array must have a single element, which will
be interpreted as an integer. This array is replaced
during a strategic merge patch.
2022-02-24 16:43:30 +00:00
items :
type : string
type : array
required :
- key
- operator
type : object
type : array
type : object
type : array
pause :
2022-12-01 22:20:33 +00:00
description : 'Pause is to pause the operator for the cluster. Deprecated :
Not used any more, operator is always running.'
2022-02-24 16:43:30 +00:00
type : boolean
resources :
2023-03-10 23:07:57 +00:00
description : 'Resources is to set the resource requirements of the
storageos containers. Deprecated : Set resource requests for individual
containers via ContainerResources field in spec.'
2022-02-24 16:43:30 +00:00
properties :
limits :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
2022-12-01 22:20:33 +00:00
description : 'Limits describes the maximum amount of compute resources
allowed. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
2022-02-24 16:43:30 +00:00
type : object
requests :
additionalProperties :
anyOf :
- type : integer
- type : string
pattern : ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string : true
2022-12-01 22:20:33 +00:00
description : 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info : https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
2022-02-24 16:43:30 +00:00
type : object
type : object
secretRefName :
2022-12-01 22:20:33 +00:00
description : SecretRefName is the name of the secret object that contains
all the sensitive cluster configurations.
2022-02-24 16:43:30 +00:00
type : string
secretRefNamespace :
2022-12-01 22:20:33 +00:00
description : 'SecretRefNamespace is the namespace of the secret reference.
Deprecated : StorageOS uses namespace of storageosclusters.storageos.com
resource.'
2022-02-24 16:43:30 +00:00
type : string
service :
2022-12-01 22:20:33 +00:00
description : Service is the Service configuration for the cluster
nodes.
2022-02-24 16:43:30 +00:00
properties :
annotations :
additionalProperties :
type : string
type : object
externalPort :
type : integer
internalPort :
type : integer
name :
type : string
type :
type : string
required :
- name
- type
type : object
sharedDir :
2022-12-01 22:20:33 +00:00
description : 'SharedDir is the shared directory to be used when the
kubelet is running in a container. Typically : "/var/lib/kubelet/plugins/kubernetes.io~storageos" .
If not set, defaults will be used.'
2022-02-24 16:43:30 +00:00
type : string
2022-12-01 22:20:33 +00:00
snapshots :
description : Snapshots feature configuration.
properties :
volumeSnapshotClassName :
description : VolumeSnapshotClassName is the name of default VolumeSnapshotClass
created for StorageOS volumes.
type : string
type : object
2022-02-24 16:43:30 +00:00
storageClassName :
2022-12-01 22:20:33 +00:00
description : StorageClassName is the name of default StorageClass
created for StorageOS volumes.
2022-02-24 16:43:30 +00:00
type : string
tlsEtcdSecretRefName :
2022-12-01 22:20:33 +00:00
description : TLSEtcdSecretRefName is the name of the secret object
that contains the etcd TLS certs. This secret is shared with etcd,
therefore it's not part of the main storageos secret.
2022-02-24 16:43:30 +00:00
type : string
tlsEtcdSecretRefNamespace :
2022-12-01 22:20:33 +00:00
description : 'TLSEtcdSecretRefNamespace is the namespace of the etcd
TLS secret object. Deprecated : StorageOS uses namespace of storageosclusters.storageos.com
resource.'
2022-02-24 16:43:30 +00:00
type : string
tolerations :
2022-12-01 22:20:33 +00:00
description : Tolerations is to set the placement of storageos pods
using pod toleration.
2022-02-24 16:43:30 +00:00
items :
2022-12-01 22:20:33 +00:00
description : The pod this Toleration is attached to tolerates any
taint that matches the triple <key,value,effect> using the matching
operator <operator>.
2022-02-24 16:43:30 +00:00
properties :
effect :
2022-12-01 22:20:33 +00:00
description : Effect indicates the taint effect to match. Empty
means match all taint effects. When specified, allowed values
are NoSchedule, PreferNoSchedule and NoExecute.
2022-02-24 16:43:30 +00:00
type : string
key :
2022-12-01 22:20:33 +00:00
description : Key is the taint key that the toleration applies
to. Empty means match all taint keys. If the key is empty,
operator must be Exists; this combination means to match all
values and all keys.
2022-02-24 16:43:30 +00:00
type : string
operator :
2022-12-01 22:20:33 +00:00
description : Operator represents a key's relationship to the
value. Valid operators are Exists and Equal. Defaults to Equal.
Exists is equivalent to wildcard for value, so that a pod
can tolerate all taints of a particular category.
2022-02-24 16:43:30 +00:00
type : string
tolerationSeconds :
2022-12-01 22:20:33 +00:00
description : TolerationSeconds represents the period of time
the toleration (which must be of effect NoExecute, otherwise
this field is ignored) tolerates the taint. By default, it
is not set, which means tolerate the taint forever (do not
evict). Zero and negative values will be treated as 0 (evict
immediately) by the system.
2022-02-24 16:43:30 +00:00
format : int64
type : integer
value :
2022-12-01 22:20:33 +00:00
description : Value is the taint value the toleration matches
to. If the operator is Exists, the value should be empty,
otherwise just a regular string.
2022-02-24 16:43:30 +00:00
type : string
type : object
type : array
required :
- kvBackend
- secretRefName
type : object
status :
description : StorageOSClusterStatus defines the observed state of StorageOSCluster
properties :
conditions :
2022-12-01 22:20:33 +00:00
description : Conditions is a list of status of all the components
of StorageOS.
2022-02-24 16:43:30 +00:00
items :
2022-12-01 22:20:33 +00:00
description : "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example,
type FooStatus struct{ // Represents the observations of a foo's
current state. // Known .status.conditions.type are : \"Available\",
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
// +listType=map // +listMapKey=type Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
2022-02-24 16:43:30 +00:00
properties :
lastTransitionTime :
2022-12-01 22:20:33 +00:00
description : lastTransitionTime is the last time the condition
transitioned from one status to another. This should be when
the underlying condition changed. If that is not known, then
using the time when the API field changed is acceptable.
2022-02-24 16:43:30 +00:00
format : date-time
type : string
message :
2022-12-01 22:20:33 +00:00
description : message is a human readable message indicating
details about the transition. This may be an empty string.
2022-02-24 16:43:30 +00:00
maxLength : 32768
type : string
observedGeneration :
2022-12-01 22:20:33 +00:00
description : observedGeneration represents the .metadata.generation
that the condition was set based upon. For instance, if .metadata.generation
is currently 12, but the .status.conditions[x].observedGeneration
is 9, the condition is out of date with respect to the current
state of the instance.
2022-02-24 16:43:30 +00:00
format : int64
minimum : 0
type : integer
reason :
2022-12-01 22:20:33 +00:00
description : reason contains a programmatic identifier indicating
the reason for the condition's last transition. Producers
of specific condition types may define expected values and
meanings for this field, and whether the values are considered
a guaranteed API. The value should be a CamelCase string.
This field may not be empty.
2022-02-24 16:43:30 +00:00
maxLength : 1024
minLength : 1
pattern : ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type : string
status :
description : status of the condition, one of True, False, Unknown.
enum :
- "True"
- "False"
- Unknown
type : string
type :
2022-12-01 22:20:33 +00:00
description : type of condition in CamelCase or in foo.example.com/CamelCase.
--- Many .condition.type values are consistent across resources
like Available, but because arbitrary conditions can be useful
(see .node.status.conditions), the ability to deconflict is
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
2022-02-24 16:43:30 +00:00
maxLength : 316
pattern : ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type : string
required :
- lastTransitionTime
- message
- reason
- status
- type
type : object
type : array
members :
description : Members is the list of StorageOS nodes in the cluster.
properties :
ready :
2022-12-01 22:20:33 +00:00
description : Ready are the storageos cluster members that are
ready to serve requests. The member names are the same as the
node IPs.
2022-02-24 16:43:30 +00:00
items :
type : string
type : array
unready :
2022-12-01 22:20:33 +00:00
description : Unready are the storageos cluster nodes not ready
to serve requests.
2022-02-24 16:43:30 +00:00
items :
type : string
type : array
type : object
nodeHealthStatus :
additionalProperties :
description : NodeHealth contains health status of a node.
properties :
directfsInitiator :
type : string
director :
type : string
kv :
type : string
kvWrite :
type : string
nats :
type : string
presentation :
type : string
rdb :
type : string
type : object
type : object
nodes :
items :
type : string
type : array
phase :
description : Phase is the phase of the StorageOS cluster.
type : string
ready :
2022-12-01 22:20:33 +00:00
description : Ready is the ready status of the StorageOS control-plane
pods.
2022-02-24 16:43:30 +00:00
type : string
type : object
type : object
served : true
storage : true
subresources :
status : {}