From 2fe5480b565fb0104625826e09dbc7f7cac8b6f1 Mon Sep 17 00:00:00 2001 From: Rajendra Indukuri Date: Mon, 7 Oct 2024 03:23:56 -0400 Subject: [PATCH] community-operators dell-csm-operator(1.6.1) Signed-off-by: Rajendra Indukuri --- ...nectivityclients.storage.dell.com.crd.yaml | 1208 +++++ ...erstoragemodules.storage.dell.com.crd.yaml | 2739 ++++++++++ ...operator.v1.6.1.clusterserviceversion.yaml | 4783 +++++++++++++++++ .../1.6.1/metadata/annotations.yaml | 18 + .../1.6.1/tests/scorecard/config.yaml | 70 + 5 files changed, 8818 insertions(+) create mode 100644 operators/dell-csm-operator/1.6.1/manifests/apexconnectivityclients.storage.dell.com.crd.yaml create mode 100644 operators/dell-csm-operator/1.6.1/manifests/containerstoragemodules.storage.dell.com.crd.yaml create mode 100644 operators/dell-csm-operator/1.6.1/manifests/dell-csm-operator.v1.6.1.clusterserviceversion.yaml create mode 100644 operators/dell-csm-operator/1.6.1/metadata/annotations.yaml create mode 100644 operators/dell-csm-operator/1.6.1/tests/scorecard/config.yaml diff --git a/operators/dell-csm-operator/1.6.1/manifests/apexconnectivityclients.storage.dell.com.crd.yaml b/operators/dell-csm-operator/1.6.1/manifests/apexconnectivityclients.storage.dell.com.crd.yaml new file mode 100644 index 00000000000..cd81c7dfc73 --- /dev/null +++ b/operators/dell-csm-operator/1.6.1/manifests/apexconnectivityclients.storage.dell.com.crd.yaml @@ -0,0 +1,1208 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.15.0 + creationTimestamp: null + name: apexconnectivityclients.storage.dell.com +spec: + group: storage.dell.com + names: + kind: ApexConnectivityClient + listKind: ApexConnectivityClientList + plural: apexconnectivityclients + shortNames: + - acc + singular: apexconnectivityclient + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: CreationTime + type: date + - description: Type of Client + jsonPath: .spec.client.csmClientType + name: CSMClientType + type: string + - description: Version of Apex client + jsonPath: .spec.client.configVersion + name: ConfigVersion + type: string + - description: State of Installation + jsonPath: .status.state + name: State + type: string + name: v1 + schema: + openAPIV3Schema: + description: ApexConnectivityClient is the Schema for the ApexConnectivityClient + API + properties: + apiVersion: + 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 + type: string + kind: + 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 + type: string + metadata: + type: object + spec: + description: ApexConnectivityClientSpec defines the desired state of ApexConnectivityClient + properties: + client: + description: Client is a Apex Connectivity Client for Dell Technologies + properties: + common: + description: Common is the common specification for both controller + and node plugins + properties: + args: + description: Args is the set of arguments for the container + items: + type: string + type: array + authorizationController: + description: AuthorizationController is the image tag for + the container + type: string + authorizationControllerReplicas: + description: AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment + type: integer + certificate: + description: Certificate is a certificate used for a certificate/private-key + pair + type: string + certificateAuthority: + description: CertificateAuthority is a certificate authority + used to validate a certificate + type: string + commander: + description: Commander is the image tag for the Container + type: string + controllerReconcileInterval: + description: The interval which the reconcile of each controller + is run + type: string + credentials: + description: ComponentCred is to store the velero credential + contents + items: + description: Credential struct + properties: + createWithInstall: + description: CreateWithInstall is used to indicate wether + or not to create a secret for objectstore + type: boolean + name: + description: Name is the name of secret which contains + credentials to access objectstore + type: string + secretContents: + description: SecretContents contains credentials to + access objectstore + properties: + aws_access_key_id: + description: AccessKeyID is a name of key ID to + access objectstore + type: string + aws_secret_access_key: + description: AccessKey contains the key to access + objectstore + type: string + type: object + type: object + type: array + deployNodeAgent: + description: DeployNodeAgent is to enable/disable node-agent + services + type: boolean + enabled: + description: Enabled is used to indicate wether or not to + deploy a module + type: boolean + envs: + description: Envs is the set of environment variables for + the container + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + hostname: + description: Hostname is the authorization proxy server hostname + type: string + image: + description: Image is the image tag for the Container + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy for + the image + type: string + kvEnginePath: + description: kvEnginePath is the Authorization vault secret + path + type: string + leaderElection: + description: LeaderElection is boolean flag to enable leader + election + type: boolean + licenseName: + description: LicenseName is the name of the license for app-mobility + type: string + name: + description: Name is the name of Container + type: string + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + type: object + objectStoreSecretName: + description: ObjectStoreSecretName is the name of the secret + for the object store for app-mobility + type: string + opa: + description: Opa is the image tag for the Container + type: string + opaKubeMgmt: + description: OpaKubeMgmt is the image tag for the Container + type: string + privateKey: + description: PrivateKey is a private key used for a certificate/private-key + pair + type: string + proxyServerIngress: + description: ProxyServerIngress is the authorization proxy + server ingress configuration + items: + description: ProxyServerIngress is the authorization ingress + configuration struct + properties: + annotations: + additionalProperties: + type: string + description: Annotations is an unstructured key value + map that stores additional annotations for the ingress + type: object + hosts: + description: Hosts is the hosts rules for the ingress + items: + type: string + type: array + ingressClassName: + description: IngressClassName is the ingressClassName + type: string + type: object + type: array + proxyService: + description: ProxyService is the image tag for the Container + type: string + proxyServiceReplicas: + description: ProxyServiceReplicas is the number of replicas + for the proxy service deployment + type: integer + redis: + description: Redis is the image tag for the Container + type: string + redisCommander: + description: RedisCommander is the name of the redis deployment + type: string + redisName: + description: RedisName is the name of the redis statefulset + type: string + redisReplicas: + description: RedisReplicas is the number of replicas for the + redis deployment + type: integer + replicaCount: + description: ReplicaCount is the replica count for app mobility + type: string + roleService: + description: RoleService is the image tag for the Container + type: string + roleServiceReplicas: + description: RoleServiceReplicas is the number of replicas + for the role service deployment + type: integer + sentinel: + description: Sentinel is the name of the sentinel statefulSet + type: string + skipCertificateValidation: + description: skipCertificateValidation is the flag to skip + certificate validation + type: boolean + storageService: + description: StorageService is the image tag for the Container + type: string + storageServiceReplicas: + description: StorageServiceReplicas is the number of replicas + for storage service deployment + type: integer + storageclass: + description: RedisStorageClass is the authorization proxy + server redis storage class for persistence + type: string + tenantService: + description: TenantService is the image tag for the Container + type: string + tenantServiceReplicas: + description: TenantServiceReplicas is the number of replicas + for the tenant service deployment + type: integer + tolerations: + description: Tolerations is the list of tolerations for the + driver pods + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + 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. + type: string + operator: + 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. + type: string + tolerationSeconds: + 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. + format: int64 + type: integer + value: + 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. + type: string + type: object + type: array + useVolumeSnapshot: + description: UseSnapshot is to check whether volume snapshot + is enabled under velero component + type: boolean + vaultAddress: + description: VaultAddress is the address of the vault + type: string + vaultRole: + description: VaultRole is the role for the vault + type: string + veleroNamespace: + description: VeleroNamespace is the namespace that Velero + is installed in + type: string + type: object + configVersion: + description: ConfigVersion is the configuration version of the + client + type: string + connectionTarget: + description: ConnectionTarget is the target that the client connects + to in the Dell datacenter + type: string + csmClientType: + description: ClientType is the Client type for Dell Technologies + - e.g, ApexConnectivityClient + type: string + forceRemoveClient: + description: ForceRemoveClient is the boolean flag used to remove + client deployment when CR is deleted + type: boolean + initContainers: + description: InitContainers is the specification for Driver InitContainers + items: + description: ContainerTemplate template + properties: + args: + description: Args is the set of arguments for the container + items: + type: string + type: array + authorizationController: + description: AuthorizationController is the image tag for + the container + type: string + authorizationControllerReplicas: + description: AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment + type: integer + certificate: + description: Certificate is a certificate used for a certificate/private-key + pair + type: string + certificateAuthority: + description: CertificateAuthority is a certificate authority + used to validate a certificate + type: string + commander: + description: Commander is the image tag for the Container + type: string + controllerReconcileInterval: + description: The interval which the reconcile of each controller + is run + type: string + credentials: + description: ComponentCred is to store the velero credential + contents + items: + description: Credential struct + properties: + createWithInstall: + description: CreateWithInstall is used to indicate + wether or not to create a secret for objectstore + type: boolean + name: + description: Name is the name of secret which contains + credentials to access objectstore + type: string + secretContents: + description: SecretContents contains credentials to + access objectstore + properties: + aws_access_key_id: + description: AccessKeyID is a name of key ID to + access objectstore + type: string + aws_secret_access_key: + description: AccessKey contains the key to access + objectstore + type: string + type: object + type: object + type: array + deployNodeAgent: + description: DeployNodeAgent is to enable/disable node-agent + services + type: boolean + enabled: + description: Enabled is used to indicate wether or not to + deploy a module + type: boolean + envs: + description: Envs is the set of environment variables for + the container + items: + description: EnvVar represents an environment variable + present in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's + value. Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for + volumes, optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the + pod's namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + hostname: + description: Hostname is the authorization proxy server + hostname + type: string + image: + description: Image is the image tag for the Container + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy for + the image + type: string + kvEnginePath: + description: kvEnginePath is the Authorization vault secret + path + type: string + leaderElection: + description: LeaderElection is boolean flag to enable leader + election + type: boolean + licenseName: + description: LicenseName is the name of the license for + app-mobility + type: string + name: + description: Name is the name of Container + type: string + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + type: object + objectStoreSecretName: + description: ObjectStoreSecretName is the name of the secret + for the object store for app-mobility + type: string + opa: + description: Opa is the image tag for the Container + type: string + opaKubeMgmt: + description: OpaKubeMgmt is the image tag for the Container + type: string + privateKey: + description: PrivateKey is a private key used for a certificate/private-key + pair + type: string + proxyServerIngress: + description: ProxyServerIngress is the authorization proxy + server ingress configuration + items: + description: ProxyServerIngress is the authorization ingress + configuration struct + properties: + annotations: + additionalProperties: + type: string + description: Annotations is an unstructured key value + map that stores additional annotations for the ingress + type: object + hosts: + description: Hosts is the hosts rules for the ingress + items: + type: string + type: array + ingressClassName: + description: IngressClassName is the ingressClassName + type: string + type: object + type: array + proxyService: + description: ProxyService is the image tag for the Container + type: string + proxyServiceReplicas: + description: ProxyServiceReplicas is the number of replicas + for the proxy service deployment + type: integer + redis: + description: Redis is the image tag for the Container + type: string + redisCommander: + description: RedisCommander is the name of the redis deployment + type: string + redisName: + description: RedisName is the name of the redis statefulset + type: string + redisReplicas: + description: RedisReplicas is the number of replicas for + the redis deployment + type: integer + replicaCount: + description: ReplicaCount is the replica count for app mobility + type: string + roleService: + description: RoleService is the image tag for the Container + type: string + roleServiceReplicas: + description: RoleServiceReplicas is the number of replicas + for the role service deployment + type: integer + sentinel: + description: Sentinel is the name of the sentinel statefulSet + type: string + skipCertificateValidation: + description: skipCertificateValidation is the flag to skip + certificate validation + type: boolean + storageService: + description: StorageService is the image tag for the Container + type: string + storageServiceReplicas: + description: StorageServiceReplicas is the number of replicas + for storage service deployment + type: integer + storageclass: + description: RedisStorageClass is the authorization proxy + server redis storage class for persistence + type: string + tenantService: + description: TenantService is the image tag for the Container + type: string + tenantServiceReplicas: + description: TenantServiceReplicas is the number of replicas + for the tenant service deployment + type: integer + tolerations: + description: Tolerations is the list of tolerations for + the driver pods + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + 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. + type: string + operator: + 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. + type: string + tolerationSeconds: + 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. + format: int64 + type: integer + value: + 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. + type: string + type: object + type: array + useVolumeSnapshot: + description: UseSnapshot is to check whether volume snapshot + is enabled under velero component + type: boolean + vaultAddress: + description: VaultAddress is the address of the vault + type: string + vaultRole: + description: VaultRole is the role for the vault + type: string + veleroNamespace: + description: VeleroNamespace is the namespace that Velero + is installed in + type: string + type: object + type: array + sideCars: + description: SideCars is the specification for CSI sidecar containers + items: + description: ContainerTemplate template + properties: + args: + description: Args is the set of arguments for the container + items: + type: string + type: array + authorizationController: + description: AuthorizationController is the image tag for + the container + type: string + authorizationControllerReplicas: + description: AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment + type: integer + certificate: + description: Certificate is a certificate used for a certificate/private-key + pair + type: string + certificateAuthority: + description: CertificateAuthority is a certificate authority + used to validate a certificate + type: string + commander: + description: Commander is the image tag for the Container + type: string + controllerReconcileInterval: + description: The interval which the reconcile of each controller + is run + type: string + credentials: + description: ComponentCred is to store the velero credential + contents + items: + description: Credential struct + properties: + createWithInstall: + description: CreateWithInstall is used to indicate + wether or not to create a secret for objectstore + type: boolean + name: + description: Name is the name of secret which contains + credentials to access objectstore + type: string + secretContents: + description: SecretContents contains credentials to + access objectstore + properties: + aws_access_key_id: + description: AccessKeyID is a name of key ID to + access objectstore + type: string + aws_secret_access_key: + description: AccessKey contains the key to access + objectstore + type: string + type: object + type: object + type: array + deployNodeAgent: + description: DeployNodeAgent is to enable/disable node-agent + services + type: boolean + enabled: + description: Enabled is used to indicate wether or not to + deploy a module + type: boolean + envs: + description: Envs is the set of environment variables for + the container + items: + description: EnvVar represents an environment variable + present in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's + value. Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for + volumes, optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the + pod's namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + hostname: + description: Hostname is the authorization proxy server + hostname + type: string + image: + description: Image is the image tag for the Container + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy for + the image + type: string + kvEnginePath: + description: kvEnginePath is the Authorization vault secret + path + type: string + leaderElection: + description: LeaderElection is boolean flag to enable leader + election + type: boolean + licenseName: + description: LicenseName is the name of the license for + app-mobility + type: string + name: + description: Name is the name of Container + type: string + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + type: object + objectStoreSecretName: + description: ObjectStoreSecretName is the name of the secret + for the object store for app-mobility + type: string + opa: + description: Opa is the image tag for the Container + type: string + opaKubeMgmt: + description: OpaKubeMgmt is the image tag for the Container + type: string + privateKey: + description: PrivateKey is a private key used for a certificate/private-key + pair + type: string + proxyServerIngress: + description: ProxyServerIngress is the authorization proxy + server ingress configuration + items: + description: ProxyServerIngress is the authorization ingress + configuration struct + properties: + annotations: + additionalProperties: + type: string + description: Annotations is an unstructured key value + map that stores additional annotations for the ingress + type: object + hosts: + description: Hosts is the hosts rules for the ingress + items: + type: string + type: array + ingressClassName: + description: IngressClassName is the ingressClassName + type: string + type: object + type: array + proxyService: + description: ProxyService is the image tag for the Container + type: string + proxyServiceReplicas: + description: ProxyServiceReplicas is the number of replicas + for the proxy service deployment + type: integer + redis: + description: Redis is the image tag for the Container + type: string + redisCommander: + description: RedisCommander is the name of the redis deployment + type: string + redisName: + description: RedisName is the name of the redis statefulset + type: string + redisReplicas: + description: RedisReplicas is the number of replicas for + the redis deployment + type: integer + replicaCount: + description: ReplicaCount is the replica count for app mobility + type: string + roleService: + description: RoleService is the image tag for the Container + type: string + roleServiceReplicas: + description: RoleServiceReplicas is the number of replicas + for the role service deployment + type: integer + sentinel: + description: Sentinel is the name of the sentinel statefulSet + type: string + skipCertificateValidation: + description: skipCertificateValidation is the flag to skip + certificate validation + type: boolean + storageService: + description: StorageService is the image tag for the Container + type: string + storageServiceReplicas: + description: StorageServiceReplicas is the number of replicas + for storage service deployment + type: integer + storageclass: + description: RedisStorageClass is the authorization proxy + server redis storage class for persistence + type: string + tenantService: + description: TenantService is the image tag for the Container + type: string + tenantServiceReplicas: + description: TenantServiceReplicas is the number of replicas + for the tenant service deployment + type: integer + tolerations: + description: Tolerations is the list of tolerations for + the driver pods + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + 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. + type: string + operator: + 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. + type: string + tolerationSeconds: + 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. + format: int64 + type: integer + value: + 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. + type: string + type: object + type: array + useVolumeSnapshot: + description: UseSnapshot is to check whether volume snapshot + is enabled under velero component + type: boolean + vaultAddress: + description: VaultAddress is the address of the vault + type: string + vaultRole: + description: VaultRole is the role for the vault + type: string + veleroNamespace: + description: VeleroNamespace is the namespace that Velero + is installed in + type: string + type: object + type: array + usePrivateCaCerts: + description: UsePrivateCaCerts is used to specify private CA signed + certs + type: boolean + type: object + type: object + status: + description: ApexConnectivityClientStatus defines the observed state of + ApexConnectivityClient + properties: + clientStatus: + description: ClientStatus is the status of Client pods + properties: + available: + type: string + desired: + type: string + failed: + type: string + type: object + state: + description: State is the state of the client installation + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/dell-csm-operator/1.6.1/manifests/containerstoragemodules.storage.dell.com.crd.yaml b/operators/dell-csm-operator/1.6.1/manifests/containerstoragemodules.storage.dell.com.crd.yaml new file mode 100644 index 00000000000..b3bb2c4ab3d --- /dev/null +++ b/operators/dell-csm-operator/1.6.1/manifests/containerstoragemodules.storage.dell.com.crd.yaml @@ -0,0 +1,2739 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.15.0 + creationTimestamp: null + name: containerstoragemodules.storage.dell.com +spec: + group: storage.dell.com + names: + kind: ContainerStorageModule + listKind: ContainerStorageModuleList + plural: containerstoragemodules + shortNames: + - csm + singular: containerstoragemodule + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .metadata.creationTimestamp + name: CreationTime + type: date + - description: Type of CSIDriver + jsonPath: .spec.driver.csiDriverType + name: CSIDriverType + type: string + - description: Version of CSIDriver + jsonPath: .spec.driver.configVersion + name: ConfigVersion + type: string + - description: State of Installation + jsonPath: .status.state + name: State + type: string + name: v1 + schema: + openAPIV3Schema: + description: ContainerStorageModule is the Schema for the containerstoragemodules + API + properties: + apiVersion: + 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 + type: string + kind: + 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 + type: string + metadata: + type: object + spec: + description: ContainerStorageModuleSpec defines the desired state of ContainerStorageModule + properties: + driver: + description: Driver is a CSI Drivers for Dell Technologies + properties: + authSecret: + description: AuthSecret is the name of the credentials secret + for the driver + type: string + common: + description: Common is the common specification for both controller + and node plugins + properties: + args: + description: Args is the set of arguments for the container + items: + type: string + type: array + authorizationController: + description: AuthorizationController is the image tag for + the container + type: string + authorizationControllerReplicas: + description: AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment + type: integer + certificate: + description: Certificate is a certificate used for a certificate/private-key + pair + type: string + certificateAuthority: + description: CertificateAuthority is a certificate authority + used to validate a certificate + type: string + commander: + description: Commander is the image tag for the Container + type: string + controllerReconcileInterval: + description: The interval which the reconcile of each controller + is run + type: string + credentials: + description: ComponentCred is to store the velero credential + contents + items: + description: Credential struct + properties: + createWithInstall: + description: CreateWithInstall is used to indicate wether + or not to create a secret for objectstore + type: boolean + name: + description: Name is the name of secret which contains + credentials to access objectstore + type: string + secretContents: + description: SecretContents contains credentials to + access objectstore + properties: + aws_access_key_id: + description: AccessKeyID is a name of key ID to + access objectstore + type: string + aws_secret_access_key: + description: AccessKey contains the key to access + objectstore + type: string + type: object + type: object + type: array + deployNodeAgent: + description: DeployNodeAgent is to enable/disable node-agent + services + type: boolean + enabled: + description: Enabled is used to indicate wether or not to + deploy a module + type: boolean + envs: + description: Envs is the set of environment variables for + the container + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + hostname: + description: Hostname is the authorization proxy server hostname + type: string + image: + description: Image is the image tag for the Container + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy for + the image + type: string + kvEnginePath: + description: kvEnginePath is the Authorization vault secret + path + type: string + leaderElection: + description: LeaderElection is boolean flag to enable leader + election + type: boolean + licenseName: + description: LicenseName is the name of the license for app-mobility + type: string + name: + description: Name is the name of Container + type: string + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + type: object + objectStoreSecretName: + description: ObjectStoreSecretName is the name of the secret + for the object store for app-mobility + type: string + opa: + description: Opa is the image tag for the Container + type: string + opaKubeMgmt: + description: OpaKubeMgmt is the image tag for the Container + type: string + privateKey: + description: PrivateKey is a private key used for a certificate/private-key + pair + type: string + proxyServerIngress: + description: ProxyServerIngress is the authorization proxy + server ingress configuration + items: + description: ProxyServerIngress is the authorization ingress + configuration struct + properties: + annotations: + additionalProperties: + type: string + description: Annotations is an unstructured key value + map that stores additional annotations for the ingress + type: object + hosts: + description: Hosts is the hosts rules for the ingress + items: + type: string + type: array + ingressClassName: + description: IngressClassName is the ingressClassName + type: string + type: object + type: array + proxyService: + description: ProxyService is the image tag for the Container + type: string + proxyServiceReplicas: + description: ProxyServiceReplicas is the number of replicas + for the proxy service deployment + type: integer + redis: + description: Redis is the image tag for the Container + type: string + redisCommander: + description: RedisCommander is the name of the redis deployment + type: string + redisName: + description: RedisName is the name of the redis statefulset + type: string + redisReplicas: + description: RedisReplicas is the number of replicas for the + redis deployment + type: integer + replicaCount: + description: ReplicaCount is the replica count for app mobility + type: string + roleService: + description: RoleService is the image tag for the Container + type: string + roleServiceReplicas: + description: RoleServiceReplicas is the number of replicas + for the role service deployment + type: integer + sentinel: + description: Sentinel is the name of the sentinel statefulSet + type: string + skipCertificateValidation: + description: skipCertificateValidation is the flag to skip + certificate validation + type: boolean + storageService: + description: StorageService is the image tag for the Container + type: string + storageServiceReplicas: + description: StorageServiceReplicas is the number of replicas + for storage service deployment + type: integer + storageclass: + description: RedisStorageClass is the authorization proxy + server redis storage class for persistence + type: string + tenantService: + description: TenantService is the image tag for the Container + type: string + tenantServiceReplicas: + description: TenantServiceReplicas is the number of replicas + for the tenant service deployment + type: integer + tolerations: + description: Tolerations is the list of tolerations for the + driver pods + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + 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. + type: string + operator: + 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. + type: string + tolerationSeconds: + 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. + format: int64 + type: integer + value: + 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. + type: string + type: object + type: array + useVolumeSnapshot: + description: UseSnapshot is to check whether volume snapshot + is enabled under velero component + type: boolean + vaultAddress: + description: VaultAddress is the address of the vault + type: string + vaultRole: + description: VaultRole is the role for the vault + type: string + veleroNamespace: + description: VeleroNamespace is the namespace that Velero + is installed in + type: string + type: object + configVersion: + description: ConfigVersion is the configuration version of the + driver + type: string + controller: + description: Controller is the specification for Controller plugin + only + properties: + args: + description: Args is the set of arguments for the container + items: + type: string + type: array + authorizationController: + description: AuthorizationController is the image tag for + the container + type: string + authorizationControllerReplicas: + description: AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment + type: integer + certificate: + description: Certificate is a certificate used for a certificate/private-key + pair + type: string + certificateAuthority: + description: CertificateAuthority is a certificate authority + used to validate a certificate + type: string + commander: + description: Commander is the image tag for the Container + type: string + controllerReconcileInterval: + description: The interval which the reconcile of each controller + is run + type: string + credentials: + description: ComponentCred is to store the velero credential + contents + items: + description: Credential struct + properties: + createWithInstall: + description: CreateWithInstall is used to indicate wether + or not to create a secret for objectstore + type: boolean + name: + description: Name is the name of secret which contains + credentials to access objectstore + type: string + secretContents: + description: SecretContents contains credentials to + access objectstore + properties: + aws_access_key_id: + description: AccessKeyID is a name of key ID to + access objectstore + type: string + aws_secret_access_key: + description: AccessKey contains the key to access + objectstore + type: string + type: object + type: object + type: array + deployNodeAgent: + description: DeployNodeAgent is to enable/disable node-agent + services + type: boolean + enabled: + description: Enabled is used to indicate wether or not to + deploy a module + type: boolean + envs: + description: Envs is the set of environment variables for + the container + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + hostname: + description: Hostname is the authorization proxy server hostname + type: string + image: + description: Image is the image tag for the Container + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy for + the image + type: string + kvEnginePath: + description: kvEnginePath is the Authorization vault secret + path + type: string + leaderElection: + description: LeaderElection is boolean flag to enable leader + election + type: boolean + licenseName: + description: LicenseName is the name of the license for app-mobility + type: string + name: + description: Name is the name of Container + type: string + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + type: object + objectStoreSecretName: + description: ObjectStoreSecretName is the name of the secret + for the object store for app-mobility + type: string + opa: + description: Opa is the image tag for the Container + type: string + opaKubeMgmt: + description: OpaKubeMgmt is the image tag for the Container + type: string + privateKey: + description: PrivateKey is a private key used for a certificate/private-key + pair + type: string + proxyServerIngress: + description: ProxyServerIngress is the authorization proxy + server ingress configuration + items: + description: ProxyServerIngress is the authorization ingress + configuration struct + properties: + annotations: + additionalProperties: + type: string + description: Annotations is an unstructured key value + map that stores additional annotations for the ingress + type: object + hosts: + description: Hosts is the hosts rules for the ingress + items: + type: string + type: array + ingressClassName: + description: IngressClassName is the ingressClassName + type: string + type: object + type: array + proxyService: + description: ProxyService is the image tag for the Container + type: string + proxyServiceReplicas: + description: ProxyServiceReplicas is the number of replicas + for the proxy service deployment + type: integer + redis: + description: Redis is the image tag for the Container + type: string + redisCommander: + description: RedisCommander is the name of the redis deployment + type: string + redisName: + description: RedisName is the name of the redis statefulset + type: string + redisReplicas: + description: RedisReplicas is the number of replicas for the + redis deployment + type: integer + replicaCount: + description: ReplicaCount is the replica count for app mobility + type: string + roleService: + description: RoleService is the image tag for the Container + type: string + roleServiceReplicas: + description: RoleServiceReplicas is the number of replicas + for the role service deployment + type: integer + sentinel: + description: Sentinel is the name of the sentinel statefulSet + type: string + skipCertificateValidation: + description: skipCertificateValidation is the flag to skip + certificate validation + type: boolean + storageService: + description: StorageService is the image tag for the Container + type: string + storageServiceReplicas: + description: StorageServiceReplicas is the number of replicas + for storage service deployment + type: integer + storageclass: + description: RedisStorageClass is the authorization proxy + server redis storage class for persistence + type: string + tenantService: + description: TenantService is the image tag for the Container + type: string + tenantServiceReplicas: + description: TenantServiceReplicas is the number of replicas + for the tenant service deployment + type: integer + tolerations: + description: Tolerations is the list of tolerations for the + driver pods + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + 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. + type: string + operator: + 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. + type: string + tolerationSeconds: + 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. + format: int64 + type: integer + value: + 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. + type: string + type: object + type: array + useVolumeSnapshot: + description: UseSnapshot is to check whether volume snapshot + is enabled under velero component + type: boolean + vaultAddress: + description: VaultAddress is the address of the vault + type: string + vaultRole: + description: VaultRole is the role for the vault + type: string + veleroNamespace: + description: VeleroNamespace is the namespace that Velero + is installed in + type: string + type: object + csiDriverSpec: + description: CSIDriverSpec is the specification for CSIDriver + properties: + fSGroupPolicy: + type: string + storageCapacity: + type: boolean + type: object + csiDriverType: + description: CSIDriverType is the CSI Driver type for Dell Technologies + - e.g, powermax, powerflex,... + type: string + dnsPolicy: + description: DNSPolicy is the dnsPolicy of the daemonset for Node + plugin + type: string + forceRemoveDriver: + description: ForceRemoveDriver is the boolean flag used to remove + driver deployment when CR is deleted + type: boolean + forceUpdate: + description: ForceUpdate is the boolean flag used to force an + update of the driver instance + type: boolean + initContainers: + description: InitContainers is the specification for Driver InitContainers + items: + description: ContainerTemplate template + properties: + args: + description: Args is the set of arguments for the container + items: + type: string + type: array + authorizationController: + description: AuthorizationController is the image tag for + the container + type: string + authorizationControllerReplicas: + description: AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment + type: integer + certificate: + description: Certificate is a certificate used for a certificate/private-key + pair + type: string + certificateAuthority: + description: CertificateAuthority is a certificate authority + used to validate a certificate + type: string + commander: + description: Commander is the image tag for the Container + type: string + controllerReconcileInterval: + description: The interval which the reconcile of each controller + is run + type: string + credentials: + description: ComponentCred is to store the velero credential + contents + items: + description: Credential struct + properties: + createWithInstall: + description: CreateWithInstall is used to indicate + wether or not to create a secret for objectstore + type: boolean + name: + description: Name is the name of secret which contains + credentials to access objectstore + type: string + secretContents: + description: SecretContents contains credentials to + access objectstore + properties: + aws_access_key_id: + description: AccessKeyID is a name of key ID to + access objectstore + type: string + aws_secret_access_key: + description: AccessKey contains the key to access + objectstore + type: string + type: object + type: object + type: array + deployNodeAgent: + description: DeployNodeAgent is to enable/disable node-agent + services + type: boolean + enabled: + description: Enabled is used to indicate wether or not to + deploy a module + type: boolean + envs: + description: Envs is the set of environment variables for + the container + items: + description: EnvVar represents an environment variable + present in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's + value. Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for + volumes, optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the + pod's namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + hostname: + description: Hostname is the authorization proxy server + hostname + type: string + image: + description: Image is the image tag for the Container + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy for + the image + type: string + kvEnginePath: + description: kvEnginePath is the Authorization vault secret + path + type: string + leaderElection: + description: LeaderElection is boolean flag to enable leader + election + type: boolean + licenseName: + description: LicenseName is the name of the license for + app-mobility + type: string + name: + description: Name is the name of Container + type: string + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + type: object + objectStoreSecretName: + description: ObjectStoreSecretName is the name of the secret + for the object store for app-mobility + type: string + opa: + description: Opa is the image tag for the Container + type: string + opaKubeMgmt: + description: OpaKubeMgmt is the image tag for the Container + type: string + privateKey: + description: PrivateKey is a private key used for a certificate/private-key + pair + type: string + proxyServerIngress: + description: ProxyServerIngress is the authorization proxy + server ingress configuration + items: + description: ProxyServerIngress is the authorization ingress + configuration struct + properties: + annotations: + additionalProperties: + type: string + description: Annotations is an unstructured key value + map that stores additional annotations for the ingress + type: object + hosts: + description: Hosts is the hosts rules for the ingress + items: + type: string + type: array + ingressClassName: + description: IngressClassName is the ingressClassName + type: string + type: object + type: array + proxyService: + description: ProxyService is the image tag for the Container + type: string + proxyServiceReplicas: + description: ProxyServiceReplicas is the number of replicas + for the proxy service deployment + type: integer + redis: + description: Redis is the image tag for the Container + type: string + redisCommander: + description: RedisCommander is the name of the redis deployment + type: string + redisName: + description: RedisName is the name of the redis statefulset + type: string + redisReplicas: + description: RedisReplicas is the number of replicas for + the redis deployment + type: integer + replicaCount: + description: ReplicaCount is the replica count for app mobility + type: string + roleService: + description: RoleService is the image tag for the Container + type: string + roleServiceReplicas: + description: RoleServiceReplicas is the number of replicas + for the role service deployment + type: integer + sentinel: + description: Sentinel is the name of the sentinel statefulSet + type: string + skipCertificateValidation: + description: skipCertificateValidation is the flag to skip + certificate validation + type: boolean + storageService: + description: StorageService is the image tag for the Container + type: string + storageServiceReplicas: + description: StorageServiceReplicas is the number of replicas + for storage service deployment + type: integer + storageclass: + description: RedisStorageClass is the authorization proxy + server redis storage class for persistence + type: string + tenantService: + description: TenantService is the image tag for the Container + type: string + tenantServiceReplicas: + description: TenantServiceReplicas is the number of replicas + for the tenant service deployment + type: integer + tolerations: + description: Tolerations is the list of tolerations for + the driver pods + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + 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. + type: string + operator: + 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. + type: string + tolerationSeconds: + 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. + format: int64 + type: integer + value: + 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. + type: string + type: object + type: array + useVolumeSnapshot: + description: UseSnapshot is to check whether volume snapshot + is enabled under velero component + type: boolean + vaultAddress: + description: VaultAddress is the address of the vault + type: string + vaultRole: + description: VaultRole is the role for the vault + type: string + veleroNamespace: + description: VeleroNamespace is the namespace that Velero + is installed in + type: string + type: object + type: array + node: + description: Node is the specification for Node plugin only + properties: + args: + description: Args is the set of arguments for the container + items: + type: string + type: array + authorizationController: + description: AuthorizationController is the image tag for + the container + type: string + authorizationControllerReplicas: + description: AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment + type: integer + certificate: + description: Certificate is a certificate used for a certificate/private-key + pair + type: string + certificateAuthority: + description: CertificateAuthority is a certificate authority + used to validate a certificate + type: string + commander: + description: Commander is the image tag for the Container + type: string + controllerReconcileInterval: + description: The interval which the reconcile of each controller + is run + type: string + credentials: + description: ComponentCred is to store the velero credential + contents + items: + description: Credential struct + properties: + createWithInstall: + description: CreateWithInstall is used to indicate wether + or not to create a secret for objectstore + type: boolean + name: + description: Name is the name of secret which contains + credentials to access objectstore + type: string + secretContents: + description: SecretContents contains credentials to + access objectstore + properties: + aws_access_key_id: + description: AccessKeyID is a name of key ID to + access objectstore + type: string + aws_secret_access_key: + description: AccessKey contains the key to access + objectstore + type: string + type: object + type: object + type: array + deployNodeAgent: + description: DeployNodeAgent is to enable/disable node-agent + services + type: boolean + enabled: + description: Enabled is used to indicate wether or not to + deploy a module + type: boolean + envs: + description: Envs is the set of environment variables for + the container + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + hostname: + description: Hostname is the authorization proxy server hostname + type: string + image: + description: Image is the image tag for the Container + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy for + the image + type: string + kvEnginePath: + description: kvEnginePath is the Authorization vault secret + path + type: string + leaderElection: + description: LeaderElection is boolean flag to enable leader + election + type: boolean + licenseName: + description: LicenseName is the name of the license for app-mobility + type: string + name: + description: Name is the name of Container + type: string + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + type: object + objectStoreSecretName: + description: ObjectStoreSecretName is the name of the secret + for the object store for app-mobility + type: string + opa: + description: Opa is the image tag for the Container + type: string + opaKubeMgmt: + description: OpaKubeMgmt is the image tag for the Container + type: string + privateKey: + description: PrivateKey is a private key used for a certificate/private-key + pair + type: string + proxyServerIngress: + description: ProxyServerIngress is the authorization proxy + server ingress configuration + items: + description: ProxyServerIngress is the authorization ingress + configuration struct + properties: + annotations: + additionalProperties: + type: string + description: Annotations is an unstructured key value + map that stores additional annotations for the ingress + type: object + hosts: + description: Hosts is the hosts rules for the ingress + items: + type: string + type: array + ingressClassName: + description: IngressClassName is the ingressClassName + type: string + type: object + type: array + proxyService: + description: ProxyService is the image tag for the Container + type: string + proxyServiceReplicas: + description: ProxyServiceReplicas is the number of replicas + for the proxy service deployment + type: integer + redis: + description: Redis is the image tag for the Container + type: string + redisCommander: + description: RedisCommander is the name of the redis deployment + type: string + redisName: + description: RedisName is the name of the redis statefulset + type: string + redisReplicas: + description: RedisReplicas is the number of replicas for the + redis deployment + type: integer + replicaCount: + description: ReplicaCount is the replica count for app mobility + type: string + roleService: + description: RoleService is the image tag for the Container + type: string + roleServiceReplicas: + description: RoleServiceReplicas is the number of replicas + for the role service deployment + type: integer + sentinel: + description: Sentinel is the name of the sentinel statefulSet + type: string + skipCertificateValidation: + description: skipCertificateValidation is the flag to skip + certificate validation + type: boolean + storageService: + description: StorageService is the image tag for the Container + type: string + storageServiceReplicas: + description: StorageServiceReplicas is the number of replicas + for storage service deployment + type: integer + storageclass: + description: RedisStorageClass is the authorization proxy + server redis storage class for persistence + type: string + tenantService: + description: TenantService is the image tag for the Container + type: string + tenantServiceReplicas: + description: TenantServiceReplicas is the number of replicas + for the tenant service deployment + type: integer + tolerations: + description: Tolerations is the list of tolerations for the + driver pods + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + 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. + type: string + operator: + 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. + type: string + tolerationSeconds: + 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. + format: int64 + type: integer + value: + 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. + type: string + type: object + type: array + useVolumeSnapshot: + description: UseSnapshot is to check whether volume snapshot + is enabled under velero component + type: boolean + vaultAddress: + description: VaultAddress is the address of the vault + type: string + vaultRole: + description: VaultRole is the role for the vault + type: string + veleroNamespace: + description: VeleroNamespace is the namespace that Velero + is installed in + type: string + type: object + replicas: + description: Replicas is the count of controllers for Controller + plugin + format: int32 + type: integer + sideCars: + description: SideCars is the specification for CSI sidecar containers + items: + description: ContainerTemplate template + properties: + args: + description: Args is the set of arguments for the container + items: + type: string + type: array + authorizationController: + description: AuthorizationController is the image tag for + the container + type: string + authorizationControllerReplicas: + description: AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment + type: integer + certificate: + description: Certificate is a certificate used for a certificate/private-key + pair + type: string + certificateAuthority: + description: CertificateAuthority is a certificate authority + used to validate a certificate + type: string + commander: + description: Commander is the image tag for the Container + type: string + controllerReconcileInterval: + description: The interval which the reconcile of each controller + is run + type: string + credentials: + description: ComponentCred is to store the velero credential + contents + items: + description: Credential struct + properties: + createWithInstall: + description: CreateWithInstall is used to indicate + wether or not to create a secret for objectstore + type: boolean + name: + description: Name is the name of secret which contains + credentials to access objectstore + type: string + secretContents: + description: SecretContents contains credentials to + access objectstore + properties: + aws_access_key_id: + description: AccessKeyID is a name of key ID to + access objectstore + type: string + aws_secret_access_key: + description: AccessKey contains the key to access + objectstore + type: string + type: object + type: object + type: array + deployNodeAgent: + description: DeployNodeAgent is to enable/disable node-agent + services + type: boolean + enabled: + description: Enabled is used to indicate wether or not to + deploy a module + type: boolean + envs: + description: Envs is the set of environment variables for + the container + items: + description: EnvVar represents an environment variable + present in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's + value. Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in + the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for + volumes, optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of + the exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the + pod's namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + hostname: + description: Hostname is the authorization proxy server + hostname + type: string + image: + description: Image is the image tag for the Container + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy for + the image + type: string + kvEnginePath: + description: kvEnginePath is the Authorization vault secret + path + type: string + leaderElection: + description: LeaderElection is boolean flag to enable leader + election + type: boolean + licenseName: + description: LicenseName is the name of the license for + app-mobility + type: string + name: + description: Name is the name of Container + type: string + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + type: object + objectStoreSecretName: + description: ObjectStoreSecretName is the name of the secret + for the object store for app-mobility + type: string + opa: + description: Opa is the image tag for the Container + type: string + opaKubeMgmt: + description: OpaKubeMgmt is the image tag for the Container + type: string + privateKey: + description: PrivateKey is a private key used for a certificate/private-key + pair + type: string + proxyServerIngress: + description: ProxyServerIngress is the authorization proxy + server ingress configuration + items: + description: ProxyServerIngress is the authorization ingress + configuration struct + properties: + annotations: + additionalProperties: + type: string + description: Annotations is an unstructured key value + map that stores additional annotations for the ingress + type: object + hosts: + description: Hosts is the hosts rules for the ingress + items: + type: string + type: array + ingressClassName: + description: IngressClassName is the ingressClassName + type: string + type: object + type: array + proxyService: + description: ProxyService is the image tag for the Container + type: string + proxyServiceReplicas: + description: ProxyServiceReplicas is the number of replicas + for the proxy service deployment + type: integer + redis: + description: Redis is the image tag for the Container + type: string + redisCommander: + description: RedisCommander is the name of the redis deployment + type: string + redisName: + description: RedisName is the name of the redis statefulset + type: string + redisReplicas: + description: RedisReplicas is the number of replicas for + the redis deployment + type: integer + replicaCount: + description: ReplicaCount is the replica count for app mobility + type: string + roleService: + description: RoleService is the image tag for the Container + type: string + roleServiceReplicas: + description: RoleServiceReplicas is the number of replicas + for the role service deployment + type: integer + sentinel: + description: Sentinel is the name of the sentinel statefulSet + type: string + skipCertificateValidation: + description: skipCertificateValidation is the flag to skip + certificate validation + type: boolean + storageService: + description: StorageService is the image tag for the Container + type: string + storageServiceReplicas: + description: StorageServiceReplicas is the number of replicas + for storage service deployment + type: integer + storageclass: + description: RedisStorageClass is the authorization proxy + server redis storage class for persistence + type: string + tenantService: + description: TenantService is the image tag for the Container + type: string + tenantServiceReplicas: + description: TenantServiceReplicas is the number of replicas + for the tenant service deployment + type: integer + tolerations: + description: Tolerations is the list of tolerations for + the driver pods + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + 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. + type: string + operator: + 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. + type: string + tolerationSeconds: + 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. + format: int64 + type: integer + value: + 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. + type: string + type: object + type: array + useVolumeSnapshot: + description: UseSnapshot is to check whether volume snapshot + is enabled under velero component + type: boolean + vaultAddress: + description: VaultAddress is the address of the vault + type: string + vaultRole: + description: VaultRole is the role for the vault + type: string + veleroNamespace: + description: VeleroNamespace is the namespace that Velero + is installed in + type: string + type: object + type: array + snapshotClass: + description: SnapshotClass is the specification for Snapshot Classes + items: + description: SnapshotClass struct + properties: + name: + description: Name is the name of the Snapshot Class + type: string + parameters: + additionalProperties: + type: string + description: Parameters is a map of driver specific parameters + for snapshot class + type: object + type: object + type: array + tlsCertSecret: + description: TLSCertSecret is the name of the TLS Cert secret + type: string + type: object + modules: + description: Modules is list of Container Storage Module modules you + want to deploy + items: + description: Module defines the desired state of a ContainerStorageModule + properties: + components: + description: Components is the specification for CSM components + containers + items: + description: ContainerTemplate template + properties: + args: + description: Args is the set of arguments for the container + items: + type: string + type: array + authorizationController: + description: AuthorizationController is the image tag + for the container + type: string + authorizationControllerReplicas: + description: AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment + type: integer + certificate: + description: Certificate is a certificate used for a certificate/private-key + pair + type: string + certificateAuthority: + description: CertificateAuthority is a certificate authority + used to validate a certificate + type: string + commander: + description: Commander is the image tag for the Container + type: string + controllerReconcileInterval: + description: The interval which the reconcile of each + controller is run + type: string + credentials: + description: ComponentCred is to store the velero credential + contents + items: + description: Credential struct + properties: + createWithInstall: + description: CreateWithInstall is used to indicate + wether or not to create a secret for objectstore + type: boolean + name: + description: Name is the name of secret which contains + credentials to access objectstore + type: string + secretContents: + description: SecretContents contains credentials + to access objectstore + properties: + aws_access_key_id: + description: AccessKeyID is a name of key ID + to access objectstore + type: string + aws_secret_access_key: + description: AccessKey contains the key to access + objectstore + type: string + type: object + type: object + type: array + deployNodeAgent: + description: DeployNodeAgent is to enable/disable node-agent + services + type: boolean + enabled: + description: Enabled is used to indicate wether or not + to deploy a module + type: boolean + envs: + description: Envs is the set of environment variables + for the container + items: + description: EnvVar represents an environment variable + present in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's + value. Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select + in the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for + volumes, optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format + of the exposed resources, defaults to + "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the + pod's namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + hostname: + description: Hostname is the authorization proxy server + hostname + type: string + image: + description: Image is the image tag for the Container + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy + for the image + type: string + kvEnginePath: + description: kvEnginePath is the Authorization vault secret + path + type: string + leaderElection: + description: LeaderElection is boolean flag to enable + leader election + type: boolean + licenseName: + description: LicenseName is the name of the license for + app-mobility + type: string + name: + description: Name is the name of Container + type: string + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + type: object + objectStoreSecretName: + description: ObjectStoreSecretName is the name of the + secret for the object store for app-mobility + type: string + opa: + description: Opa is the image tag for the Container + type: string + opaKubeMgmt: + description: OpaKubeMgmt is the image tag for the Container + type: string + privateKey: + description: PrivateKey is a private key used for a certificate/private-key + pair + type: string + proxyServerIngress: + description: ProxyServerIngress is the authorization proxy + server ingress configuration + items: + description: ProxyServerIngress is the authorization + ingress configuration struct + properties: + annotations: + additionalProperties: + type: string + description: Annotations is an unstructured key + value map that stores additional annotations for + the ingress + type: object + hosts: + description: Hosts is the hosts rules for the ingress + items: + type: string + type: array + ingressClassName: + description: IngressClassName is the ingressClassName + type: string + type: object + type: array + proxyService: + description: ProxyService is the image tag for the Container + type: string + proxyServiceReplicas: + description: ProxyServiceReplicas is the number of replicas + for the proxy service deployment + type: integer + redis: + description: Redis is the image tag for the Container + type: string + redisCommander: + description: RedisCommander is the name of the redis deployment + type: string + redisName: + description: RedisName is the name of the redis statefulset + type: string + redisReplicas: + description: RedisReplicas is the number of replicas for + the redis deployment + type: integer + replicaCount: + description: ReplicaCount is the replica count for app + mobility + type: string + roleService: + description: RoleService is the image tag for the Container + type: string + roleServiceReplicas: + description: RoleServiceReplicas is the number of replicas + for the role service deployment + type: integer + sentinel: + description: Sentinel is the name of the sentinel statefulSet + type: string + skipCertificateValidation: + description: skipCertificateValidation is the flag to + skip certificate validation + type: boolean + storageService: + description: StorageService is the image tag for the Container + type: string + storageServiceReplicas: + description: StorageServiceReplicas is the number of replicas + for storage service deployment + type: integer + storageclass: + description: RedisStorageClass is the authorization proxy + server redis storage class for persistence + type: string + tenantService: + description: TenantService is the image tag for the Container + type: string + tenantServiceReplicas: + description: TenantServiceReplicas is the number of replicas + for the tenant service deployment + type: integer + tolerations: + description: Tolerations is the list of tolerations for + the driver pods + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + 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. + type: string + operator: + 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. + type: string + tolerationSeconds: + 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. + format: int64 + type: integer + value: + 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. + type: string + type: object + type: array + useVolumeSnapshot: + description: UseSnapshot is to check whether volume snapshot + is enabled under velero component + type: boolean + vaultAddress: + description: VaultAddress is the address of the vault + type: string + vaultRole: + description: VaultRole is the role for the vault + type: string + veleroNamespace: + description: VeleroNamespace is the namespace that Velero + is installed in + type: string + type: object + type: array + configVersion: + description: ConfigVersion is the configuration version of the + module + type: string + enabled: + description: Enabled is used to indicate whether or not to deploy + a module + type: boolean + forceRemoveModule: + description: ForceRemoveModule is the boolean flag used to remove + authorization proxy server deployment when CR is deleted + type: boolean + initContainer: + description: InitContainer is the specification for Module InitContainer + items: + description: ContainerTemplate template + properties: + args: + description: Args is the set of arguments for the container + items: + type: string + type: array + authorizationController: + description: AuthorizationController is the image tag + for the container + type: string + authorizationControllerReplicas: + description: AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment + type: integer + certificate: + description: Certificate is a certificate used for a certificate/private-key + pair + type: string + certificateAuthority: + description: CertificateAuthority is a certificate authority + used to validate a certificate + type: string + commander: + description: Commander is the image tag for the Container + type: string + controllerReconcileInterval: + description: The interval which the reconcile of each + controller is run + type: string + credentials: + description: ComponentCred is to store the velero credential + contents + items: + description: Credential struct + properties: + createWithInstall: + description: CreateWithInstall is used to indicate + wether or not to create a secret for objectstore + type: boolean + name: + description: Name is the name of secret which contains + credentials to access objectstore + type: string + secretContents: + description: SecretContents contains credentials + to access objectstore + properties: + aws_access_key_id: + description: AccessKeyID is a name of key ID + to access objectstore + type: string + aws_secret_access_key: + description: AccessKey contains the key to access + objectstore + type: string + type: object + type: object + type: array + deployNodeAgent: + description: DeployNodeAgent is to enable/disable node-agent + services + type: boolean + enabled: + description: Enabled is used to indicate wether or not + to deploy a module + type: boolean + envs: + description: Envs is the set of environment variables + for the container + items: + description: EnvVar represents an environment variable + present in a Container. + properties: + name: + description: Name of the environment variable. Must + be a C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's + value. Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select + in the specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for + volumes, optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format + of the exposed resources, defaults to + "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the + pod's namespace + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + hostname: + description: Hostname is the authorization proxy server + hostname + type: string + image: + description: Image is the image tag for the Container + type: string + imagePullPolicy: + description: ImagePullPolicy is the image pull policy + for the image + type: string + kvEnginePath: + description: kvEnginePath is the Authorization vault secret + path + type: string + leaderElection: + description: LeaderElection is boolean flag to enable + leader election + type: boolean + licenseName: + description: LicenseName is the name of the license for + app-mobility + type: string + name: + description: Name is the name of Container + type: string + nodeSelector: + additionalProperties: + type: string + description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + type: object + objectStoreSecretName: + description: ObjectStoreSecretName is the name of the + secret for the object store for app-mobility + type: string + opa: + description: Opa is the image tag for the Container + type: string + opaKubeMgmt: + description: OpaKubeMgmt is the image tag for the Container + type: string + privateKey: + description: PrivateKey is a private key used for a certificate/private-key + pair + type: string + proxyServerIngress: + description: ProxyServerIngress is the authorization proxy + server ingress configuration + items: + description: ProxyServerIngress is the authorization + ingress configuration struct + properties: + annotations: + additionalProperties: + type: string + description: Annotations is an unstructured key + value map that stores additional annotations for + the ingress + type: object + hosts: + description: Hosts is the hosts rules for the ingress + items: + type: string + type: array + ingressClassName: + description: IngressClassName is the ingressClassName + type: string + type: object + type: array + proxyService: + description: ProxyService is the image tag for the Container + type: string + proxyServiceReplicas: + description: ProxyServiceReplicas is the number of replicas + for the proxy service deployment + type: integer + redis: + description: Redis is the image tag for the Container + type: string + redisCommander: + description: RedisCommander is the name of the redis deployment + type: string + redisName: + description: RedisName is the name of the redis statefulset + type: string + redisReplicas: + description: RedisReplicas is the number of replicas for + the redis deployment + type: integer + replicaCount: + description: ReplicaCount is the replica count for app + mobility + type: string + roleService: + description: RoleService is the image tag for the Container + type: string + roleServiceReplicas: + description: RoleServiceReplicas is the number of replicas + for the role service deployment + type: integer + sentinel: + description: Sentinel is the name of the sentinel statefulSet + type: string + skipCertificateValidation: + description: skipCertificateValidation is the flag to + skip certificate validation + type: boolean + storageService: + description: StorageService is the image tag for the Container + type: string + storageServiceReplicas: + description: StorageServiceReplicas is the number of replicas + for storage service deployment + type: integer + storageclass: + description: RedisStorageClass is the authorization proxy + server redis storage class for persistence + type: string + tenantService: + description: TenantService is the image tag for the Container + type: string + tenantServiceReplicas: + description: TenantServiceReplicas is the number of replicas + for the tenant service deployment + type: integer + tolerations: + description: Tolerations is the list of tolerations for + the driver pods + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + 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. + type: string + operator: + 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. + type: string + tolerationSeconds: + 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. + format: int64 + type: integer + value: + 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. + type: string + type: object + type: array + useVolumeSnapshot: + description: UseSnapshot is to check whether volume snapshot + is enabled under velero component + type: boolean + vaultAddress: + description: VaultAddress is the address of the vault + type: string + vaultRole: + description: VaultRole is the role for the vault + type: string + veleroNamespace: + description: VeleroNamespace is the namespace that Velero + is installed in + type: string + type: object + type: array + name: + description: Name is name of ContainerStorageModule modules + type: string + type: object + type: array + type: object + status: + description: ContainerStorageModuleStatus defines the observed state of + ContainerStorageModule + properties: + controllerStatus: + description: ControllerStatus is the status of Controller pods + properties: + available: + type: string + desired: + type: string + failed: + type: string + type: object + nodeStatus: + description: NodeStatus is the status of Controller pods + properties: + available: + type: string + desired: + type: string + failed: + type: string + type: object + state: + description: State is the state of the driver installation + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/dell-csm-operator/1.6.1/manifests/dell-csm-operator.v1.6.1.clusterserviceversion.yaml b/operators/dell-csm-operator/1.6.1/manifests/dell-csm-operator.v1.6.1.clusterserviceversion.yaml new file mode 100644 index 00000000000..9bba1ea7cfd --- /dev/null +++ b/operators/dell-csm-operator/1.6.1/manifests/dell-csm-operator.v1.6.1.clusterserviceversion.yaml @@ -0,0 +1,4783 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "storage.dell.com/v1", + "kind": "ApexConnectivityClient", + "metadata": { + "name": "dell-connectivity-client", + "namespace": "dell-connectivity-client" + }, + "spec": { + "client": { + "common": { + "image": "dellemc/connectivity-client-docker-k8s:1.19.0", + "imagePullPolicy": "IfNotPresent", + "name": "connectivity-client-docker-k8s" + }, + "configVersion": "v1.1.0", + "connectionTarget": "connect-into.dell.com", + "csmClientType": "apexConnectivityClient", + "forceRemoveClient": true, + "initContainers": [ + { + "image": "dellemc/connectivity-client-docker-k8s:1.19.0", + "imagePullPolicy": "IfNotPresent", + "name": "connectivity-client-init" + } + ], + "sideCars": [ + { + "image": "bitnami/kubectl:1.28", + "imagePullPolicy": "IfNotPresent", + "name": "kubernetes-proxy" + }, + { + "image": "dellemc/connectivity-cert-persister-k8s:0.11.0", + "imagePullPolicy": "IfNotPresent", + "name": "cert-persister" + } + ] + } + } + }, + { + "apiVersion": "storage.dell.com/v1", + "kind": "ContainerStorageModule", + "metadata": { + "name": "isilon", + "namespace": "isilon" + }, + "spec": { + "driver": { + "authSecret": "isilon-creds", + "common": { + "envs": [ + { + "name": "X_CSI_VERBOSE", + "value": "1" + }, + { + "name": "X_CSI_ISI_PORT", + "value": "8080" + }, + { + "name": "X_CSI_ISI_PATH", + "value": "/ifs/data/csi" + }, + { + "name": "X_CSI_ISI_NO_PROBE_ON_START", + "value": "false" + }, + { + "name": "X_CSI_ISI_AUTOPROBE", + "value": "true" + }, + { + "name": "X_CSI_ISI_SKIP_CERTIFICATE_VALIDATION", + "value": "true" + }, + { + "name": "X_CSI_ISI_AUTH_TYPE", + "value": "0" + }, + { + "name": "X_CSI_CUSTOM_TOPOLOGY_ENABLED", + "value": "false" + }, + { + "name": "KUBELET_CONFIG_DIR", + "value": "/var/lib/kubelet" + }, + { + "name": "CERT_SECRET_COUNT", + "value": "1" + }, + { + "name": "CSI_LOG_LEVEL", + "value": "debug" + } + ], + "image": "dellemc/csi-isilon:v2.11.0", + "imagePullPolicy": "IfNotPresent" + }, + "configVersion": "v2.11.0", + "controller": { + "envs": [ + { + "name": "X_CSI_ISI_QUOTA_ENABLED", + "value": "true" + }, + { + "name": "X_CSI_ISI_ACCESS_ZONE", + "value": "System" + }, + { + "name": "X_CSI_ISI_VOLUME_PATH_PERMISSIONS", + "value": "0777" + }, + { + "name": "X_CSI_HEALTH_MONITOR_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_ISI_IGNORE_UNRESOLVABLE_HOSTS", + "value": "false" + }, + { + "name": "X_CSI_MAX_PATH_LIMIT", + "value": "192" + } + ], + "nodeSelector": null, + "tolerations": null + }, + "csiDriverSpec": { + "fSGroupPolicy": "ReadWriteOnceWithFSType", + "storageCapacity": true + }, + "csiDriverType": "isilon", + "dnsPolicy": "ClusterFirstWithHostNet", + "forceRemoveDriver": true, + "node": { + "envs": [ + { + "name": "X_CSI_MAX_VOLUMES_PER_NODE", + "value": "0" + }, + { + "name": "X_CSI_ALLOWED_NETWORKS", + "value": "" + }, + { + "name": "X_CSI_HEALTH_MONITOR_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_MAX_PATH_LIMIT", + "value": "192" + } + ], + "nodeSelector": null, + "tolerations": null + }, + "replicas": 2, + "sideCars": [ + { + "args": [ + "--volume-name-prefix=csipscale" + ], + "image": "registry.k8s.io/sig-storage/csi-provisioner:v5.0.1", + "name": "provisioner" + }, + { + "image": "registry.k8s.io/sig-storage/csi-attacher:v4.6.1", + "name": "attacher" + }, + { + "image": "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.1", + "name": "registrar" + }, + { + "image": "registry.k8s.io/sig-storage/csi-resizer:v1.11.1", + "name": "resizer" + }, + { + "image": "registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1", + "name": "snapshotter" + }, + { + "image": "dellemc/csi-metadata-retriever:v1.8.0", + "name": "csi-metadata-retriever" + }, + { + "args": [ + "--monitor-interval=60s" + ], + "enabled": false, + "image": "registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.12.1", + "name": "external-health-monitor" + } + ] + }, + "modules": [ + { + "components": [ + { + "envs": [ + { + "name": "PROXY_HOST", + "value": "csm-authorization.com" + }, + { + "name": "SKIP_CERTIFICATE_VALIDATION", + "value": "true" + } + ], + "image": "dellemc/csm-authorization-sidecar:v1.11.0", + "name": "karavi-authorization-proxy" + } + ], + "configVersion": "v1.11.0", + "enabled": false, + "name": "authorization" + }, + { + "components": [ + { + "envs": [ + { + "name": "X_CSI_REPLICATION_PREFIX", + "value": "replication.storage.dell.com" + }, + { + "name": "X_CSI_REPLICATION_CONTEXT_PREFIX", + "value": "powerscale" + } + ], + "image": "dellemc/dell-csi-replicator:v1.9.0", + "name": "dell-csi-replicator" + }, + { + "envs": [ + { + "name": "TARGET_CLUSTERS_IDS", + "value": "target-cluster-1" + }, + { + "name": "REPLICATION_CTRL_LOG_LEVEL", + "value": "debug" + }, + { + "name": "REPLICATION_CTRL_REPLICAS", + "value": "1" + }, + { + "name": "RETRY_INTERVAL_MIN", + "value": "1s" + }, + { + "name": "RETRY_INTERVAL_MAX", + "value": "5m" + } + ], + "image": "dellemc/dell-replication-controller:v1.9.0", + "name": "dell-replication-controller-manager" + } + ], + "configVersion": "v1.9.0", + "enabled": false, + "name": "replication" + }, + { + "components": [ + { + "certificate": "", + "enabled": false, + "envs": [ + { + "name": "TOPOLOGY_LOG_LEVEL", + "value": "INFO" + } + ], + "image": "dellemc/csm-topology:v1.9.0", + "name": "topology", + "privateKey": "" + }, + { + "certificate": "", + "enabled": false, + "envs": [ + { + "name": "NGINX_PROXY_IMAGE", + "value": "nginxinc/nginx-unprivileged:1.20" + } + ], + "image": "otel/opentelemetry-collector:0.42.0", + "name": "otel-collector", + "privateKey": "" + }, + { + "enabled": false, + "name": "cert-manager" + }, + { + "enabled": false, + "envs": [ + { + "name": "POWERSCALE_MAX_CONCURRENT_QUERIES", + "value": "10" + }, + { + "name": "POWERSCALE_CAPACITY_METRICS_ENABLED", + "value": "true" + }, + { + "name": "POWERSCALE_PERFORMANCE_METRICS_ENABLED", + "value": "true" + }, + { + "name": "POWERSCALE_CLUSTER_CAPACITY_POLL_FREQUENCY", + "value": "30" + }, + { + "name": "POWERSCALE_CLUSTER_PERFORMANCE_POLL_FREQUENCY", + "value": "20" + }, + { + "name": "POWERSCALE_QUOTA_CAPACITY_POLL_FREQUENCY", + "value": "30" + }, + { + "name": "ISICLIENT_INSECURE", + "value": "true" + }, + { + "name": "ISICLIENT_AUTH_TYPE", + "value": "1" + }, + { + "name": "ISICLIENT_VERBOSE", + "value": "0" + }, + { + "name": "POWERSCALE_LOG_LEVEL", + "value": "INFO" + }, + { + "name": "POWERSCALE_LOG_FORMAT", + "value": "TEXT" + }, + { + "name": "COLLECTOR_ADDRESS", + "value": "otel-collector:55680" + } + ], + "image": "dellemc/csm-metrics-powerscale:v1.6.0", + "name": "metrics-powerscale" + } + ], + "configVersion": "v1.9.0", + "enabled": false, + "name": "observability" + }, + { + "components": [ + { + "args": [ + "--labelvalue=csi-isilon", + "--arrayConnectivityPollRate=60", + "--skipArrayConnectionValidation=false", + "--driverPodLabelValue=dell-storage", + "--ignoreVolumelessPods=false", + "--arrayConnectivityConnectionLossThreshold=3", + "--csisock=unix:/var/run/csi/csi.sock", + "--mode=controller", + "--driverPath=csi-isilon.dellemc.com", + "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" + ], + "image": "dellemc/podmon:v1.10.0", + "imagePullPolicy": "IfNotPresent", + "name": "podmon-controller" + }, + { + "args": [ + "--labelvalue=csi-isilon", + "--arrayConnectivityPollRate=60", + "--leaderelection=false", + "--driverPodLabelValue=dell-storage", + "--ignoreVolumelessPods=false", + "--csisock=unix:/var/lib/kubelet/plugins/csi-isilon/csi_sock", + "--mode=node", + "--driverPath=csi-isilon.dellemc.com", + "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" + ], + "envs": [ + { + "name": "X_CSI_PODMON_API_PORT", + "value": "8083" + } + ], + "image": "dellemc/podmon:v1.10.0", + "imagePullPolicy": "IfNotPresent", + "name": "podmon-node" + } + ], + "configVersion": "v1.10.0", + "enabled": false, + "name": "resiliency" + } + ] + } + }, + { + "apiVersion": "storage.dell.com/v1", + "kind": "ContainerStorageModule", + "metadata": { + "name": "powermax", + "namespace": "powermax" + }, + "spec": { + "driver": { + "authSecret": "powermax-creds", + "common": { + "envs": [ + { + "name": "X_CSI_MANAGED_ARRAYS", + "value": "000000000000,000000000001" + }, + { + "name": "X_CSI_POWERMAX_ENDPOINT", + "value": "https://0.0.0.0:8443/" + }, + { + "name": "X_CSI_K8S_CLUSTER_PREFIX", + "value": "XYZ" + }, + { + "name": "KUBELET_CONFIG_DIR", + "value": "/var/lib/kubelet" + }, + { + "name": "X_CSI_POWERMAX_PORTGROUPS", + "value": "" + }, + { + "name": "X_CSI_TRANSPORT_PROTOCOL", + "value": "" + }, + { + "name": "X_CSI_VSPHERE_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_VSPHERE_PORTGROUP", + "value": "" + }, + { + "name": "X_CSI_VSPHERE_HOSTNAME", + "value": "" + }, + { + "name": "X_CSI_VCENTER_HOST", + "value": "" + } + ], + "image": "dellemc/csi-powermax:v2.11.0", + "imagePullPolicy": "IfNotPresent" + }, + "configVersion": "v2.11.0", + "controller": { + "envs": [ + { + "name": "X_CSI_HEALTH_MONITOR_ENABLED", + "value": "false" + } + ], + "nodeSelector": null, + "tolerations": null + }, + "csiDriverSpec": { + "fSGroupPolicy": "ReadWriteOnceWithFSType", + "storageCapacity": true + }, + "csiDriverType": "powermax", + "dnsPolicy": "ClusterFirstWithHostNet", + "forceRemoveDriver": true, + "forceUpdate": false, + "node": { + "envs": [ + { + "name": "X_CSI_POWERMAX_ISCSI_ENABLE_CHAP", + "value": "false" + }, + { + "name": "X_CSI_HEALTH_MONITOR_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_TOPOLOGY_CONTROL_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_MAX_VOLUMES_PER_NODE", + "value": "0" + } + ], + "nodeSelector": null, + "tolerations": [ + { + "effect": "NoExecute", + "key": "node.kubernetes.io/memory-pressure", + "operator": "Exists" + }, + { + "effect": "NoExecute", + "key": "node.kubernetes.io/disk-pressure", + "operator": "Exists" + }, + { + "effect": "NoExecute", + "key": "node.kubernetes.io/network-unavailable", + "operator": "Exists" + } + ] + }, + "replicas": 2, + "sideCars": [ + { + "args": [ + "--volume-name-prefix=pmax" + ], + "image": "registry.k8s.io/sig-storage/csi-provisioner:v5.0.1", + "name": "provisioner" + }, + { + "image": "registry.k8s.io/sig-storage/csi-attacher:v4.6.1", + "name": "attacher" + }, + { + "image": "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.1", + "name": "registrar" + }, + { + "image": "registry.k8s.io/sig-storage/csi-resizer:v1.11.1", + "name": "resizer" + }, + { + "image": "registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1", + "name": "snapshotter" + }, + { + "image": "dellemc/csi-metadata-retriever:v1.8.0", + "name": "csi-metadata-retriever" + }, + { + "args": [ + "--monitor-interval=60s" + ], + "enabled": false, + "image": "registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.12.1", + "name": "external-health-monitor" + } + ] + }, + "modules": [ + { + "components": [ + { + "envs": [ + { + "name": "X_CSI_REVPROXY_TLS_SECRET", + "value": "csirevproxy-tls-secret" + }, + { + "name": "X_CSI_REVPROXY_PORT", + "value": "2222" + }, + { + "name": "X_CSI_CONFIG_MAP_NAME", + "value": "powermax-reverseproxy-config" + }, + { + "name": "DeployAsSidecar", + "value": "true" + } + ], + "image": "dellemc/csipowermax-reverseproxy:v2.10.0", + "name": "csipowermax-reverseproxy" + } + ], + "configVersion": "v2.10.0", + "enabled": true, + "forceRemoveModule": true, + "name": "csireverseproxy" + }, + { + "components": [ + { + "envs": [ + { + "name": "PROXY_HOST", + "value": "csm-authorization.com" + }, + { + "name": "SKIP_CERTIFICATE_VALIDATION", + "value": "true" + } + ], + "image": "dellemc/csm-authorization-sidecar:v1.11.0", + "name": "karavi-authorization-proxy" + } + ], + "configVersion": "v1.11.0", + "enabled": false, + "name": "authorization" + }, + { + "components": [ + { + "envs": [ + { + "name": "X_CSI_REPLICATION_PREFIX", + "value": "replication.storage.dell.com" + }, + { + "name": "X_CSI_REPLICATION_CONTEXT_PREFIX", + "value": "powermax" + } + ], + "image": "dellemc/dell-csi-replicator:v1.9.0", + "name": "dell-csi-replicator" + }, + { + "envs": [ + { + "name": "TARGET_CLUSTERS_IDS", + "value": "target-cluster-1" + }, + { + "name": "REPLICATION_CTRL_LOG_LEVEL", + "value": "debug" + }, + { + "name": "REPLICATION_CTRL_REPLICAS", + "value": "1" + }, + { + "name": "RETRY_INTERVAL_MIN", + "value": "1s" + }, + { + "name": "RETRY_INTERVAL_MAX", + "value": "5m" + } + ], + "image": "dellemc/dell-replication-controller:v1.9.0", + "name": "dell-replication-controller-manager" + } + ], + "configVersion": "v1.9.0", + "enabled": false, + "name": "replication" + }, + { + "components": [ + { + "certificate": "", + "enabled": false, + "envs": [ + { + "name": "TOPOLOGY_LOG_LEVEL", + "value": "INFO" + } + ], + "image": "dellemc/csm-topology:v1.9.0", + "name": "topology", + "privateKey": "" + }, + { + "certificate": "", + "enabled": false, + "envs": [ + { + "name": "NGINX_PROXY_IMAGE", + "value": "nginxinc/nginx-unprivileged:1.20" + } + ], + "image": "otel/opentelemetry-collector:0.42.0", + "name": "otel-collector", + "privateKey": "" + }, + { + "enabled": false, + "name": "cert-manager" + }, + { + "enabled": false, + "envs": [ + { + "name": "POWERMAX_MAX_CONCURRENT_QUERIES", + "value": "10" + }, + { + "name": "POWERMAX_CAPACITY_METRICS_ENABLED", + "value": "true" + }, + { + "name": "POWERMAX_PERFORMANCE_METRICS_ENABLED", + "value": "true" + }, + { + "name": "POWERMAX_CAPACITY_POLL_FREQUENCY", + "value": "10" + }, + { + "name": "POWERMAX_PERFORMANCE_POLL_FREQUENCY", + "value": "10" + }, + { + "name": "POWERMAX_LOG_LEVEL", + "value": "INFO" + }, + { + "name": "POWERMAX_LOG_FORMAT", + "value": "TEXT" + }, + { + "name": "COLLECTOR_ADDRESS", + "value": "otel-collector:55680" + }, + { + "name": "X_CSI_CONFIG_MAP_NAME", + "value": "powermax-reverseproxy-config" + } + ], + "image": "dellemc/csm-metrics-powermax:v1.4.0", + "name": "metrics-powermax" + } + ], + "configVersion": "v1.9.0", + "enabled": false, + "name": "observability" + }, + { + "components": [ + { + "args": [ + "--labelvalue=csi-powermax", + "--arrayConnectivityPollRate=60", + "--skipArrayConnectionValidation=false", + "--driverPodLabelValue=dell-storage", + "--ignoreVolumelessPods=false", + "--arrayConnectivityConnectionLossThreshold=3", + "--csisock=unix:/var/run/csi/csi.sock", + "--mode=controller", + "--driver-config-params=/powermax-config-params/driver-config-params.yaml", + "--driverPath=csi-powermax.dellemc.com" + ], + "image": "dellemc/podmon:v1.10.0", + "imagePullPolicy": "IfNotPresent", + "name": "podmon-controller" + }, + { + "args": [ + "--labelvalue=csi-powermax", + "--arrayConnectivityPollRate=60", + "--leaderelection=false", + "--driverPodLabelValue=dell-storage", + "--ignoreVolumelessPods=false", + "--csisock=unix:/var/lib/kubelet/plugins/powermax.emc.dell.com/csi_sock", + "--mode=node", + "--driver-config-params=/powermax-config-params/driver-config-params.yaml", + "--driverPath=csi-powermax.dellemc.com" + ], + "envs": [ + { + "name": "X_CSI_PODMON_API_PORT", + "value": "8083" + } + ], + "image": "dellemc/podmon:v1.10.0", + "imagePullPolicy": "IfNotPresent", + "name": "podmon-node" + } + ], + "configVersion": "v1.10.0", + "enabled": false, + "name": "resiliency" + } + ] + } + }, + { + "apiVersion": "storage.dell.com/v1", + "kind": "ContainerStorageModule", + "metadata": { + "name": "powerstore", + "namespace": "powerstore" + }, + "spec": { + "driver": { + "authSecret": "powerstore-config", + "common": { + "envs": [ + { + "name": "X_CSI_POWERSTORE_NODE_NAME_PREFIX", + "value": "csi-node" + }, + { + "name": "X_CSI_FC_PORTS_FILTER_FILE_PATH", + "value": "/etc/fc-ports-filter" + }, + { + "name": "KUBELET_CONFIG_DIR", + "value": "/var/lib/kubelet" + }, + { + "name": "CSI_LOG_LEVEL", + "value": "debug" + } + ], + "image": "dellemc/csi-powerstore:v2.11.1", + "imagePullPolicy": "IfNotPresent" + }, + "configVersion": "v2.11.1", + "controller": { + "envs": [ + { + "name": "X_CSI_NFS_ACLS", + "value": "0777" + }, + { + "name": "X_CSI_HEALTH_MONITOR_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_POWERSTORE_EXTERNAL_ACCESS", + "value": null + } + ], + "nodeSelector": null, + "tolerations": null + }, + "csiDriverSpec": { + "fSGroupPolicy": "ReadWriteOnceWithFSType", + "storageCapacity": true + }, + "csiDriverType": "powerstore", + "dnsPolicy": "ClusterFirstWithHostNet", + "forceRemoveDriver": true, + "forceUpdate": false, + "node": { + "envs": [ + { + "name": "X_CSI_POWERSTORE_ENABLE_CHAP", + "value": "false" + }, + { + "name": "X_CSI_HEALTH_MONITOR_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE", + "value": "0" + } + ], + "nodeSelector": null, + "tolerations": null + }, + "replicas": 2, + "sideCars": [ + { + "args": [ + "--volume-name-prefix=csivol" + ], + "image": "registry.k8s.io/sig-storage/csi-provisioner:v5.0.1", + "name": "provisioner" + }, + { + "image": "registry.k8s.io/sig-storage/csi-attacher:v4.6.1", + "name": "attacher" + }, + { + "image": "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.1", + "name": "registrar" + }, + { + "image": "registry.k8s.io/sig-storage/csi-resizer:v1.11.1", + "name": "resizer" + }, + { + "image": "registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1", + "name": "snapshotter" + }, + { + "image": "dellemc/csi-metadata-retriever:v1.8.0", + "name": "csi-metadata-retriever" + }, + { + "args": [ + "--monitor-interval=60s" + ], + "enabled": false, + "image": "registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.12.1", + "name": "external-health-monitor" + } + ] + }, + "modules": [ + { + "components": [ + { + "args": [ + "--labelvalue=csi-powerstore", + "--arrayConnectivityPollRate=60", + "--skipArrayConnectionValidation=false", + "--driverPodLabelValue=dell-storage", + "--ignoreVolumelessPods=false", + "--arrayConnectivityConnectionLossThreshold=3", + "--csisock=unix:/var/run/csi/csi.sock", + "--mode=controller", + "--driver-config-params=/powerstore-config-params/driver-config-params.yaml", + "--driverPath=csi-powerstore.dellemc.com" + ], + "image": "dellemc/podmon:v1.10.0", + "imagePullPolicy": "IfNotPresent", + "name": "podmon-controller" + }, + { + "args": [ + "--labelvalue=csi-powerstore", + "--arrayConnectivityPollRate=60", + "--leaderelection=false", + "--driverPodLabelValue=dell-storage", + "--ignoreVolumelessPods=false", + "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock", + "--mode=node", + "--driver-config-params=/powerstore-config-params/driver-config-params.yaml", + "--driverPath=csi-powerstore.dellemc.com" + ], + "envs": [ + { + "name": "X_CSI_PODMON_API_PORT", + "value": "8083" + } + ], + "image": "dellemc/podmon:v1.10.0", + "imagePullPolicy": "IfNotPresent", + "name": "podmon-node" + } + ], + "configVersion": "v1.10.0", + "enabled": false, + "name": "resiliency" + } + ] + } + }, + { + "apiVersion": "storage.dell.com/v1", + "kind": "ContainerStorageModule", + "metadata": { + "name": "unity", + "namespace": "unity" + }, + "spec": { + "driver": { + "common": { + "envs": [ + { + "name": "X_CSI_UNITY_ALLOW_MULTI_POD_ACCESS", + "value": "false" + }, + { + "name": "X_CSI_EPHEMERAL_STAGING_PATH", + "value": "/var/lib/kubelet/plugins/kubernetes.io/csi/pv/" + }, + { + "name": "X_CSI_ISCSI_CHROOT", + "value": "/noderoot" + }, + { + "name": "X_CSI_UNITY_SYNC_NODEINFO_INTERVAL", + "value": "15" + }, + { + "name": "KUBELET_CONFIG_DIR", + "value": "/var/lib/kubelet" + }, + { + "name": "CSI_LOG_LEVEL", + "value": "debug" + }, + { + "name": "CSI_LOG_FORMAT", + "value": "TEXT" + }, + { + "name": "TENANT_NAME", + "value": "" + }, + { + "name": "CERT_SECRET_COUNT", + "value": "1" + }, + { + "name": "X_CSI_UNITY_SKIP_CERTIFICATE_VALIDATION", + "value": "true" + } + ], + "image": "dellemc/csi-unity:v2.11.1", + "imagePullPolicy": "IfNotPresent" + }, + "configVersion": "v2.11.1", + "controller": { + "envs": [ + { + "name": "X_CSI_HEALTH_MONITOR_ENABLED", + "value": "false" + } + ], + "nodeSelector": null, + "tolerations": null + }, + "csiDriverSpec": { + "fSGroupPolicy": "ReadWriteOnceWithFSType", + "storageCapacity": true + }, + "csiDriverType": "unity", + "dnsPolicy": "ClusterFirstWithHostNet", + "forceRemoveDriver": true, + "forceUpdate": false, + "node": { + "envs": [ + { + "name": "X_CSI_HEALTH_MONITOR_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_ALLOWED_NETWORKS", + "value": "" + } + ], + "nodeSelector": null, + "tolerations": null + }, + "replicas": 2, + "sideCars": [ + { + "args": [ + "--volume-name-prefix=csivol" + ], + "image": "registry.k8s.io/sig-storage/csi-provisioner:v5.0.1", + "name": "provisioner" + }, + { + "image": "registry.k8s.io/sig-storage/csi-attacher:v4.6.1", + "name": "attacher" + }, + { + "image": "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.1", + "name": "registrar" + }, + { + "image": "registry.k8s.io/sig-storage/csi-resizer:v1.11.1", + "name": "resizer" + }, + { + "image": "registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1", + "name": "snapshotter" + }, + { + "image": "dellemc/csi-metadata-retriever:v1.8.0", + "name": "csi-metadata-retriever" + }, + { + "args": [ + "--monitor-interval=60s" + ], + "enabled": false, + "image": "registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.12.1", + "name": "external-health-monitor" + } + ] + } + } + }, + { + "apiVersion": "storage.dell.com/v1", + "kind": "ContainerStorageModule", + "metadata": { + "name": "vxflexos", + "namespace": "vxflexos" + }, + "spec": { + "driver": { + "common": { + "envs": [ + { + "name": "X_CSI_VXFLEXOS_ENABLELISTVOLUMESNAPSHOT", + "value": "false" + }, + { + "name": "X_CSI_VXFLEXOS_ENABLESNAPSHOTCGDELETE", + "value": "false" + }, + { + "name": "X_CSI_DEBUG", + "value": "true" + }, + { + "name": "KUBELET_CONFIG_DIR", + "value": "/var/lib/kubelet" + }, + { + "name": "CERT_SECRET_COUNT", + "value": "0" + }, + { + "name": "X_CSI_QUOTA_ENABLED", + "value": "false" + } + ], + "image": "dellemc/csi-vxflexos:v2.11.0", + "imagePullPolicy": "IfNotPresent" + }, + "configVersion": "v2.11.0", + "controller": { + "envs": [ + { + "name": "X_CSI_HEALTH_MONITOR_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_POWERFLEX_EXTERNAL_ACCESS", + "value": null + } + ], + "nodeSelector": null, + "tolerations": null + }, + "csiDriverSpec": { + "fSGroupPolicy": "File", + "storageCapacity": true + }, + "csiDriverType": "powerflex", + "dnsPolicy": "ClusterFirstWithHostNet", + "forceRemoveDriver": true, + "forceUpdate": false, + "initContainers": [ + { + "envs": [ + { + "name": "MDM", + "value": "10.xx.xx.xx,10.xx.xx.xx" + } + ], + "image": "dellemc/sdc:4.5.2.1", + "imagePullPolicy": "IfNotPresent", + "name": "sdc" + } + ], + "node": { + "envs": [ + { + "name": "X_CSI_APPROVE_SDC_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_HEALTH_MONITOR_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_RENAME_SDC_ENABLED", + "value": "false" + }, + { + "name": "X_CSI_RENAME_SDC_PREFIX", + "value": "" + }, + { + "name": "X_CSI_MAX_VOLUMES_PER_NODE", + "value": "0" + } + ], + "nodeSelector": null, + "tolerations": null + }, + "replicas": 1, + "sideCars": [ + { + "args": [ + "--volume-name-prefix=k8s" + ], + "image": "registry.k8s.io/sig-storage/csi-provisioner:v5.0.1", + "name": "provisioner" + }, + { + "image": "registry.k8s.io/sig-storage/csi-attacher:v4.6.1", + "name": "attacher" + }, + { + "image": "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.1", + "name": "registrar" + }, + { + "image": "registry.k8s.io/sig-storage/csi-resizer:v1.11.1", + "name": "resizer" + }, + { + "image": "registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1", + "name": "snapshotter" + }, + { + "image": "dellemc/csi-metadata-retriever:v1.8.0", + "name": "csi-metadata-retriever" + }, + { + "enabled": false, + "envs": [ + { + "name": "HOST_PID", + "value": "1" + }, + { + "name": "MDM", + "value": "10.xx.xx.xx,10.xx.xx.xx" + } + ], + "image": "dellemc/sdc:4.5.2.1", + "name": "sdc-monitor" + }, + { + "args": [ + "--monitor-interval=60s" + ], + "enabled": false, + "image": "registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.12.1", + "name": "csi-external-health-monitor-controller" + } + ] + }, + "modules": [ + { + "components": [ + { + "envs": [ + { + "name": "PROXY_HOST", + "value": "csm-authorization.com" + }, + { + "name": "SKIP_CERTIFICATE_VALIDATION", + "value": "true" + } + ], + "image": "dellemc/csm-authorization-sidecar:v1.11.0", + "name": "karavi-authorization-proxy" + } + ], + "configVersion": "v1.11.0", + "enabled": false, + "name": "authorization" + }, + { + "components": [ + { + "certificate": "", + "enabled": false, + "envs": [ + { + "name": "TOPOLOGY_LOG_LEVEL", + "value": "INFO" + } + ], + "image": "dellemc/csm-topology:v1.9.0", + "name": "topology", + "privateKey": "" + }, + { + "certificate": "", + "enabled": false, + "envs": [ + { + "name": "NGINX_PROXY_IMAGE", + "value": "nginxinc/nginx-unprivileged:1.20" + } + ], + "image": "otel/opentelemetry-collector:0.42.0", + "name": "otel-collector", + "privateKey": "" + }, + { + "enabled": false, + "name": "cert-manager" + }, + { + "enabled": false, + "envs": [ + { + "name": "POWERFLEX_MAX_CONCURRENT_QUERIES", + "value": "10" + }, + { + "name": "POWERFLEX_SDC_METRICS_ENABLED", + "value": "true" + }, + { + "name": "POWERFLEX_VOLUME_METRICS_ENABLED", + "value": "true" + }, + { + "name": "POWERFLEX_STORAGE_POOL_METRICS_ENABLED", + "value": "true" + }, + { + "name": "POWERFLEX_SDC_IO_POLL_FREQUENCY", + "value": "10" + }, + { + "name": "POWERFLEX_VOLUME_IO_POLL_FREQUENCY", + "value": "10" + }, + { + "name": "POWERFLEX_STORAGE_POOL_POLL_FREQUENCY", + "value": "10" + }, + { + "name": "POWERFLEX_LOG_LEVEL", + "value": "INFO" + }, + { + "name": "POWERFLEX_LOG_FORMAT", + "value": "TEXT" + }, + { + "name": "COLLECTOR_ADDRESS", + "value": "otel-collector:55680" + } + ], + "image": "dellemc/csm-metrics-powerflex:v1.9.0", + "name": "metrics-powerflex" + } + ], + "configVersion": "v1.9.0", + "enabled": false, + "name": "observability" + }, + { + "components": [ + { + "envs": [ + { + "name": "X_CSI_REPLICATION_PREFIX", + "value": "replication.storage.dell.com" + }, + { + "name": "X_CSI_REPLICATION_CONTEXT_PREFIX", + "value": "powerflex" + } + ], + "image": "dellemc/dell-csi-replicator:v1.9.0", + "name": "dell-csi-replicator" + }, + { + "envs": [ + { + "name": "TARGET_CLUSTERS_IDS", + "value": "target-cluster-1" + }, + { + "name": "REPLICATION_CTRL_LOG_LEVEL", + "value": "debug" + }, + { + "name": "REPLICATION_CTRL_REPLICAS", + "value": "1" + }, + { + "name": "RETRY_INTERVAL_MIN", + "value": "1s" + }, + { + "name": "RETRY_INTERVAL_MAX", + "value": "5m" + } + ], + "image": "dellemc/dell-replication-controller:v1.9.0", + "name": "dell-replication-controller-manager" + } + ], + "configVersion": "v1.9.0", + "enabled": false, + "name": "replication" + }, + { + "components": [ + { + "args": [ + "--labelvalue=csi-vxflexos", + "--skipArrayConnectionValidation=false", + "--driverPodLabelValue=dell-storage", + "--ignoreVolumelessPods=false", + "--arrayConnectivityPollRate=5", + "--arrayConnectivityConnectionLossThreshold=3", + "--csisock=unix:/var/run/csi/csi.sock", + "--mode=controller", + "--driver-config-params=/vxflexos-config-params/driver-config-params.yaml" + ], + "image": "dellemc/podmon:v1.10.0", + "imagePullPolicy": "IfNotPresent", + "name": "podmon-controller" + }, + { + "args": [ + "--labelvalue=csi-vxflexos", + "--leaderelection=false", + "--driverPodLabelValue=dell-storage", + "--ignoreVolumelessPods=false", + "--arrayConnectivityPollRate=5", + "--csisock=unix:/var/lib/kubelet/plugins/vxflexos.emc.dell.com/csi_sock", + "--mode=node", + "--driver-config-params=/vxflexos-config-params/driver-config-params.yaml" + ], + "envs": [ + { + "name": "X_CSI_PODMON_API_PORT", + "value": "8083" + } + ], + "image": "dellemc/podmon:v1.10.0", + "imagePullPolicy": "IfNotPresent", + "name": "podmon-node" + } + ], + "configVersion": "v1.10.0", + "enabled": false, + "name": "resiliency" + } + ] + } + } + ] + capabilities: Seamless Upgrades + categories: Storage + containerImage: docker.io/dellemc/dell-csm-operator:v1.6.1 + createdAt: "2024-10-04T12:51:14Z" + description: Easily install and manage Dell’s CSI Drivers and CSM + features.operators.openshift.io/disconnected: "true" + features.operators.openshift.io/fips-compliant: "false" + features.operators.openshift.io/proxy-aware: "false" + features.operators.openshift.io/tls-profiles: "false" + features.operators.openshift.io/token-auth-aws: "false" + features.operators.openshift.io/token-auth-azure: "false" + features.operators.openshift.io/token-auth-gcp: "false" + operators.operatorframework.io/builder: operator-sdk-v1.37.0 + operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 + repository: https://github.com/dell/csm-operator + support: Dell Technologies + name: dell-csm-operator.v1.6.1 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: ApexConnectivityClient is the Schema for the ApexConnectivityClient + API + displayName: Apex Connectivity Client + kind: ApexConnectivityClient + name: apexconnectivityclients.storage.dell.com + specDescriptors: + - description: Common is the common specification for both controller and node + plugins + displayName: Common specification + path: client.common + - description: Args is the set of arguments for the container + displayName: Container Arguments + path: client.common.args + - description: AuthorizationController is the image tag for the container + displayName: Authorization Controller Container Image + path: client.common.authorizationController + - description: AuthorizationControllerReplicas is the number of replicas for + the authorization controller deployment + displayName: Authorization Controller Replicas + path: client.common.authorizationControllerReplicas + - description: Certificate is a certificate used for a certificate/private-key + pair + displayName: Certificate for certificate/private-key pair + path: client.common.certificate + - description: CertificateAuthority is a certificate authority used to validate + a certificate + displayName: Certificate authority for validating a certificate + path: client.common.certificateAuthority + - description: Commander is the image tag for the Container + displayName: Authorization Commander Container Image + path: client.common.commander + - description: The interval which the reconcile of each controller is run + displayName: Controller Reconcile Interval + path: client.common.controllerReconcileInterval + - description: ComponentCred is to store the velero credential contents + displayName: ComponentCred for velero component + path: client.common.credentials + - description: CreateWithInstall is used to indicate wether or not to create + a secret for objectstore + displayName: CreateWithInstall + path: client.common.credentials[0].createWithInstall + - description: Name is the name of secret which contains credentials to access + objectstore + displayName: Name + path: client.common.credentials[0].name + - description: SecretContents contains credentials to access objectstore + displayName: secretContents + path: client.common.credentials[0].secretContents + - description: AccessKeyID is a name of key ID to access objectstore + displayName: AccessKeyID + path: client.common.credentials[0].secretContents.aws_access_key_id + - description: AccessKey contains the key to access objectstore + displayName: AccessKey + path: client.common.credentials[0].secretContents.aws_secret_access_key + - description: DeployNodeAgent is to enable/disable node-agent services + displayName: Deploy node-agent for Application Mobility + path: client.common.deployNodeAgent + - description: Enabled is used to indicate wether or not to deploy a module + displayName: Enabled + path: client.common.enabled + - description: Envs is the set of environment variables for the container + displayName: Container Environment vars + path: client.common.envs + - description: Hostname is the authorization proxy server hostname + displayName: Authorization Proxy Server Hostname + path: client.common.hostname + - description: Image is the image tag for the Container + displayName: Container Image + path: client.common.image + - description: ImagePullPolicy is the image pull policy for the image + displayName: Container Image Pull Policy + path: client.common.imagePullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: kvEnginePath is the Authorization vault secret path + displayName: Authorization KV Engine Path + path: client.common.kvEnginePath + - description: LeaderElection is boolean flag to enable leader election + displayName: Leader Election + path: client.common.leaderElection + - description: LicenseName is the name of the license for app-mobility + displayName: License Name for Application Mobility + path: client.common.licenseName + - description: Name is the name of Container + displayName: Container Name + path: client.common.name + - description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + displayName: NodeSelector + path: client.common.nodeSelector + - description: ObjectStoreSecretName is the name of the secret for the object + store for app-mobility + displayName: Application Mobility Object Store Secret + path: client.common.objectStoreSecretName + - description: Opa is the image tag for the Container + displayName: Authorization Opa Container Image + path: client.common.opa + - description: OpaKubeMgmt is the image tag for the Container + displayName: Authorization Opa Kube Management Container Image + path: client.common.opaKubeMgmt + - description: PrivateKey is a private key used for a certificate/private-key + pair + displayName: Private key for certificate/private-key pair + path: client.common.privateKey + - description: ProxyServerIngress is the authorization proxy server ingress + configuration + displayName: Authorization Proxy Server ingress configuration + path: client.common.proxyServerIngress + - description: Annotations is an unstructured key value map that stores additional + annotations for the ingress + displayName: Authorization Proxy Server Annotations + path: client.common.proxyServerIngress[0].annotations + - description: Hosts is the hosts rules for the ingress + displayName: Authorization Proxy Server Hosts + path: client.common.proxyServerIngress[0].hosts + - description: IngressClassName is the ingressClassName + displayName: Authorization Proxy Server Ingress Class Name + path: client.common.proxyServerIngress[0].ingressClassName + - description: ProxyService is the image tag for the Container + displayName: Authorization Proxy Service Container Image + path: client.common.proxyService + - description: ProxyServiceReplicas is the number of replicas for the proxy + service deployment + displayName: Proxy Service Replicas + path: client.common.proxyServiceReplicas + - description: Redis is the image tag for the Container + displayName: Authorization Redis Container Image + path: client.common.redis + - description: RedisCommander is the name of the redis deployment + displayName: Redis Deployment Name + path: client.common.redisCommander + - description: RedisName is the name of the redis statefulset + displayName: Redis StatefulSet Name + path: client.common.redisName + - description: RedisReplicas is the number of replicas for the redis deployment + displayName: Redis Deployment Replicas + path: client.common.redisReplicas + - description: ReplicaCount is the replica count for app mobility + displayName: Application Mobility Replica Count + path: client.common.replicaCount + - description: RoleService is the image tag for the Container + displayName: Authorization Role Service Container Image + path: client.common.roleService + - description: RoleServiceReplicas is the number of replicas for the role service + deployment + displayName: Role Service Replicas + path: client.common.roleServiceReplicas + - description: Sentinel is the name of the sentinel statefulSet + displayName: Sentinel StatefulSet Name + path: client.common.sentinel + - description: skipCertificateValidation is the flag to skip certificate validation + displayName: Authorization Skip Certificate Validation + path: client.common.skipCertificateValidation + - description: StorageService is the image tag for the Container + displayName: Authorization Storage Service Container Image + path: client.common.storageService + - description: StorageServiceReplicas is the number of replicas for storage + service deployment + displayName: Storage Service Replicas + path: client.common.storageServiceReplicas + - description: RedisStorageClass is the authorization proxy server redis storage + class for persistence + displayName: Authorization Proxy Server Redis storage class + path: client.common.storageclass + - description: TenantService is the image tag for the Container + displayName: Authorization Tenant Service Container Image + path: client.common.tenantService + - description: TenantServiceReplicas is the number of replicas for the tenant + service deployment + displayName: Tenant Service Replicas + path: client.common.tenantServiceReplicas + - description: Tolerations is the list of tolerations for the driver pods + displayName: Tolerations + path: client.common.tolerations + - description: UseSnapshot is to check whether volume snapshot is enabled under + velero component + displayName: use-volume-snapshots for Application Mobilit- Velero + path: client.common.useVolumeSnapshot + - description: VaultAddress is the address of the vault + displayName: Authorization Vault Address + path: client.common.vaultAddress + - description: VaultRole is the role for the vault + displayName: Authorization Vault Role + path: client.common.vaultRole + - description: VeleroNamespace is the namespace that Velero is installed in + displayName: Velero namespace + path: client.common.veleroNamespace + - description: ConfigVersion is the configuration version of the client + displayName: Config Version + path: client.configVersion + - description: ConnectionTarget is the target that the client connects to in + the Dell datacenter + displayName: Connection Target + path: client.connectionTarget + - description: ClientType is the Client type for Dell Technologies - e.g, ApexConnectivityClient + displayName: Client Type + path: client.csmClientType + - description: ForceRemoveClient is the boolean flag used to remove client deployment + when CR is deleted + displayName: Force Remove Client + path: client.forceRemoveClient + - description: Args is the set of arguments for the container + displayName: Container Arguments + path: client.initContainers[0].args + - description: AuthorizationController is the image tag for the container + displayName: Authorization Controller Container Image + path: client.initContainers[0].authorizationController + - description: AuthorizationControllerReplicas is the number of replicas for + the authorization controller deployment + displayName: Authorization Controller Replicas + path: client.initContainers[0].authorizationControllerReplicas + - description: Certificate is a certificate used for a certificate/private-key + pair + displayName: Certificate for certificate/private-key pair + path: client.initContainers[0].certificate + - description: CertificateAuthority is a certificate authority used to validate + a certificate + displayName: Certificate authority for validating a certificate + path: client.initContainers[0].certificateAuthority + - description: Commander is the image tag for the Container + displayName: Authorization Commander Container Image + path: client.initContainers[0].commander + - description: The interval which the reconcile of each controller is run + displayName: Controller Reconcile Interval + path: client.initContainers[0].controllerReconcileInterval + - description: ComponentCred is to store the velero credential contents + displayName: ComponentCred for velero component + path: client.initContainers[0].credentials + - description: CreateWithInstall is used to indicate wether or not to create + a secret for objectstore + displayName: CreateWithInstall + path: client.initContainers[0].credentials[0].createWithInstall + - description: Name is the name of secret which contains credentials to access + objectstore + displayName: Name + path: client.initContainers[0].credentials[0].name + - description: SecretContents contains credentials to access objectstore + displayName: secretContents + path: client.initContainers[0].credentials[0].secretContents + - description: AccessKeyID is a name of key ID to access objectstore + displayName: AccessKeyID + path: client.initContainers[0].credentials[0].secretContents.aws_access_key_id + - description: AccessKey contains the key to access objectstore + displayName: AccessKey + path: client.initContainers[0].credentials[0].secretContents.aws_secret_access_key + - description: DeployNodeAgent is to enable/disable node-agent services + displayName: Deploy node-agent for Application Mobility + path: client.initContainers[0].deployNodeAgent + - description: Enabled is used to indicate wether or not to deploy a module + displayName: Enabled + path: client.initContainers[0].enabled + - description: Envs is the set of environment variables for the container + displayName: Container Environment vars + path: client.initContainers[0].envs + - description: Hostname is the authorization proxy server hostname + displayName: Authorization Proxy Server Hostname + path: client.initContainers[0].hostname + - description: Image is the image tag for the Container + displayName: Container Image + path: client.initContainers[0].image + - description: ImagePullPolicy is the image pull policy for the image + displayName: Container Image Pull Policy + path: client.initContainers[0].imagePullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: kvEnginePath is the Authorization vault secret path + displayName: Authorization KV Engine Path + path: client.initContainers[0].kvEnginePath + - description: LeaderElection is boolean flag to enable leader election + displayName: Leader Election + path: client.initContainers[0].leaderElection + - description: LicenseName is the name of the license for app-mobility + displayName: License Name for Application Mobility + path: client.initContainers[0].licenseName + - description: Name is the name of Container + displayName: Container Name + path: client.initContainers[0].name + - description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + displayName: NodeSelector + path: client.initContainers[0].nodeSelector + - description: ObjectStoreSecretName is the name of the secret for the object + store for app-mobility + displayName: Application Mobility Object Store Secret + path: client.initContainers[0].objectStoreSecretName + - description: Opa is the image tag for the Container + displayName: Authorization Opa Container Image + path: client.initContainers[0].opa + - description: OpaKubeMgmt is the image tag for the Container + displayName: Authorization Opa Kube Management Container Image + path: client.initContainers[0].opaKubeMgmt + - description: PrivateKey is a private key used for a certificate/private-key + pair + displayName: Private key for certificate/private-key pair + path: client.initContainers[0].privateKey + - description: ProxyServerIngress is the authorization proxy server ingress + configuration + displayName: Authorization Proxy Server ingress configuration + path: client.initContainers[0].proxyServerIngress + - description: Annotations is an unstructured key value map that stores additional + annotations for the ingress + displayName: Authorization Proxy Server Annotations + path: client.initContainers[0].proxyServerIngress[0].annotations + - description: Hosts is the hosts rules for the ingress + displayName: Authorization Proxy Server Hosts + path: client.initContainers[0].proxyServerIngress[0].hosts + - description: IngressClassName is the ingressClassName + displayName: Authorization Proxy Server Ingress Class Name + path: client.initContainers[0].proxyServerIngress[0].ingressClassName + - description: ProxyService is the image tag for the Container + displayName: Authorization Proxy Service Container Image + path: client.initContainers[0].proxyService + - description: ProxyServiceReplicas is the number of replicas for the proxy + service deployment + displayName: Proxy Service Replicas + path: client.initContainers[0].proxyServiceReplicas + - description: Redis is the image tag for the Container + displayName: Authorization Redis Container Image + path: client.initContainers[0].redis + - description: RedisCommander is the name of the redis deployment + displayName: Redis Deployment Name + path: client.initContainers[0].redisCommander + - description: RedisName is the name of the redis statefulset + displayName: Redis StatefulSet Name + path: client.initContainers[0].redisName + - description: RedisReplicas is the number of replicas for the redis deployment + displayName: Redis Deployment Replicas + path: client.initContainers[0].redisReplicas + - description: ReplicaCount is the replica count for app mobility + displayName: Application Mobility Replica Count + path: client.initContainers[0].replicaCount + - description: RoleService is the image tag for the Container + displayName: Authorization Role Service Container Image + path: client.initContainers[0].roleService + - description: RoleServiceReplicas is the number of replicas for the role service + deployment + displayName: Role Service Replicas + path: client.initContainers[0].roleServiceReplicas + - description: Sentinel is the name of the sentinel statefulSet + displayName: Sentinel StatefulSet Name + path: client.initContainers[0].sentinel + - description: skipCertificateValidation is the flag to skip certificate validation + displayName: Authorization Skip Certificate Validation + path: client.initContainers[0].skipCertificateValidation + - description: StorageService is the image tag for the Container + displayName: Authorization Storage Service Container Image + path: client.initContainers[0].storageService + - description: StorageServiceReplicas is the number of replicas for storage + service deployment + displayName: Storage Service Replicas + path: client.initContainers[0].storageServiceReplicas + - description: RedisStorageClass is the authorization proxy server redis storage + class for persistence + displayName: Authorization Proxy Server Redis storage class + path: client.initContainers[0].storageclass + - description: TenantService is the image tag for the Container + displayName: Authorization Tenant Service Container Image + path: client.initContainers[0].tenantService + - description: TenantServiceReplicas is the number of replicas for the tenant + service deployment + displayName: Tenant Service Replicas + path: client.initContainers[0].tenantServiceReplicas + - description: Tolerations is the list of tolerations for the driver pods + displayName: Tolerations + path: client.initContainers[0].tolerations + - description: UseSnapshot is to check whether volume snapshot is enabled under + velero component + displayName: use-volume-snapshots for Application Mobilit- Velero + path: client.initContainers[0].useVolumeSnapshot + - description: VaultAddress is the address of the vault + displayName: Authorization Vault Address + path: client.initContainers[0].vaultAddress + - description: VaultRole is the role for the vault + displayName: Authorization Vault Role + path: client.initContainers[0].vaultRole + - description: VeleroNamespace is the namespace that Velero is installed in + displayName: Velero namespace + path: client.initContainers[0].veleroNamespace + - description: SideCars is the specification for CSI sidecar containers + displayName: CSI SideCars specification + path: client.sideCars + - description: Args is the set of arguments for the container + displayName: Container Arguments + path: client.sideCars[0].args + - description: AuthorizationController is the image tag for the container + displayName: Authorization Controller Container Image + path: client.sideCars[0].authorizationController + - description: AuthorizationControllerReplicas is the number of replicas for + the authorization controller deployment + displayName: Authorization Controller Replicas + path: client.sideCars[0].authorizationControllerReplicas + - description: Certificate is a certificate used for a certificate/private-key + pair + displayName: Certificate for certificate/private-key pair + path: client.sideCars[0].certificate + - description: CertificateAuthority is a certificate authority used to validate + a certificate + displayName: Certificate authority for validating a certificate + path: client.sideCars[0].certificateAuthority + - description: Commander is the image tag for the Container + displayName: Authorization Commander Container Image + path: client.sideCars[0].commander + - description: The interval which the reconcile of each controller is run + displayName: Controller Reconcile Interval + path: client.sideCars[0].controllerReconcileInterval + - description: ComponentCred is to store the velero credential contents + displayName: ComponentCred for velero component + path: client.sideCars[0].credentials + - description: CreateWithInstall is used to indicate wether or not to create + a secret for objectstore + displayName: CreateWithInstall + path: client.sideCars[0].credentials[0].createWithInstall + - description: Name is the name of secret which contains credentials to access + objectstore + displayName: Name + path: client.sideCars[0].credentials[0].name + - description: SecretContents contains credentials to access objectstore + displayName: secretContents + path: client.sideCars[0].credentials[0].secretContents + - description: AccessKeyID is a name of key ID to access objectstore + displayName: AccessKeyID + path: client.sideCars[0].credentials[0].secretContents.aws_access_key_id + - description: AccessKey contains the key to access objectstore + displayName: AccessKey + path: client.sideCars[0].credentials[0].secretContents.aws_secret_access_key + - description: DeployNodeAgent is to enable/disable node-agent services + displayName: Deploy node-agent for Application Mobility + path: client.sideCars[0].deployNodeAgent + - description: Enabled is used to indicate wether or not to deploy a module + displayName: Enabled + path: client.sideCars[0].enabled + - description: Envs is the set of environment variables for the container + displayName: Container Environment vars + path: client.sideCars[0].envs + - description: Hostname is the authorization proxy server hostname + displayName: Authorization Proxy Server Hostname + path: client.sideCars[0].hostname + - description: Image is the image tag for the Container + displayName: Container Image + path: client.sideCars[0].image + - description: ImagePullPolicy is the image pull policy for the image + displayName: Container Image Pull Policy + path: client.sideCars[0].imagePullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: kvEnginePath is the Authorization vault secret path + displayName: Authorization KV Engine Path + path: client.sideCars[0].kvEnginePath + - description: LeaderElection is boolean flag to enable leader election + displayName: Leader Election + path: client.sideCars[0].leaderElection + - description: LicenseName is the name of the license for app-mobility + displayName: License Name for Application Mobility + path: client.sideCars[0].licenseName + - description: Name is the name of Container + displayName: Container Name + path: client.sideCars[0].name + - description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + displayName: NodeSelector + path: client.sideCars[0].nodeSelector + - description: ObjectStoreSecretName is the name of the secret for the object + store for app-mobility + displayName: Application Mobility Object Store Secret + path: client.sideCars[0].objectStoreSecretName + - description: Opa is the image tag for the Container + displayName: Authorization Opa Container Image + path: client.sideCars[0].opa + - description: OpaKubeMgmt is the image tag for the Container + displayName: Authorization Opa Kube Management Container Image + path: client.sideCars[0].opaKubeMgmt + - description: PrivateKey is a private key used for a certificate/private-key + pair + displayName: Private key for certificate/private-key pair + path: client.sideCars[0].privateKey + - description: ProxyServerIngress is the authorization proxy server ingress + configuration + displayName: Authorization Proxy Server ingress configuration + path: client.sideCars[0].proxyServerIngress + - description: Annotations is an unstructured key value map that stores additional + annotations for the ingress + displayName: Authorization Proxy Server Annotations + path: client.sideCars[0].proxyServerIngress[0].annotations + - description: Hosts is the hosts rules for the ingress + displayName: Authorization Proxy Server Hosts + path: client.sideCars[0].proxyServerIngress[0].hosts + - description: IngressClassName is the ingressClassName + displayName: Authorization Proxy Server Ingress Class Name + path: client.sideCars[0].proxyServerIngress[0].ingressClassName + - description: ProxyService is the image tag for the Container + displayName: Authorization Proxy Service Container Image + path: client.sideCars[0].proxyService + - description: ProxyServiceReplicas is the number of replicas for the proxy + service deployment + displayName: Proxy Service Replicas + path: client.sideCars[0].proxyServiceReplicas + - description: Redis is the image tag for the Container + displayName: Authorization Redis Container Image + path: client.sideCars[0].redis + - description: RedisCommander is the name of the redis deployment + displayName: Redis Deployment Name + path: client.sideCars[0].redisCommander + - description: RedisName is the name of the redis statefulset + displayName: Redis StatefulSet Name + path: client.sideCars[0].redisName + - description: RedisReplicas is the number of replicas for the redis deployment + displayName: Redis Deployment Replicas + path: client.sideCars[0].redisReplicas + - description: ReplicaCount is the replica count for app mobility + displayName: Application Mobility Replica Count + path: client.sideCars[0].replicaCount + - description: RoleService is the image tag for the Container + displayName: Authorization Role Service Container Image + path: client.sideCars[0].roleService + - description: RoleServiceReplicas is the number of replicas for the role service + deployment + displayName: Role Service Replicas + path: client.sideCars[0].roleServiceReplicas + - description: Sentinel is the name of the sentinel statefulSet + displayName: Sentinel StatefulSet Name + path: client.sideCars[0].sentinel + - description: skipCertificateValidation is the flag to skip certificate validation + displayName: Authorization Skip Certificate Validation + path: client.sideCars[0].skipCertificateValidation + - description: StorageService is the image tag for the Container + displayName: Authorization Storage Service Container Image + path: client.sideCars[0].storageService + - description: StorageServiceReplicas is the number of replicas for storage + service deployment + displayName: Storage Service Replicas + path: client.sideCars[0].storageServiceReplicas + - description: RedisStorageClass is the authorization proxy server redis storage + class for persistence + displayName: Authorization Proxy Server Redis storage class + path: client.sideCars[0].storageclass + - description: TenantService is the image tag for the Container + displayName: Authorization Tenant Service Container Image + path: client.sideCars[0].tenantService + - description: TenantServiceReplicas is the number of replicas for the tenant + service deployment + displayName: Tenant Service Replicas + path: client.sideCars[0].tenantServiceReplicas + - description: Tolerations is the list of tolerations for the driver pods + displayName: Tolerations + path: client.sideCars[0].tolerations + - description: UseSnapshot is to check whether volume snapshot is enabled under + velero component + displayName: use-volume-snapshots for Application Mobilit- Velero + path: client.sideCars[0].useVolumeSnapshot + - description: VaultAddress is the address of the vault + displayName: Authorization Vault Address + path: client.sideCars[0].vaultAddress + - description: VaultRole is the role for the vault + displayName: Authorization Vault Role + path: client.sideCars[0].vaultRole + - description: VeleroNamespace is the namespace that Velero is installed in + displayName: Velero namespace + path: client.sideCars[0].veleroNamespace + - description: UsePrivateCaCerts is used to specify private CA signed certs + displayName: Use Private CA Certs + path: client.usePrivateCaCerts + statusDescriptors: + - description: ClientStatus is the status of Client pods + displayName: ClientStatus + path: clientStatus + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:podStatuses + - description: State is the state of the client installation + displayName: State + path: state + x-descriptors: + - urn:alm:descriptor:text + version: v1 + - description: ContainerStorageModule is the Schema for the containerstoragemodules + API + displayName: Container Storage Module + kind: ContainerStorageModule + name: containerstoragemodules.storage.dell.com + specDescriptors: + - description: AuthSecret is the name of the credentials secret for the driver + displayName: Auth Secret + path: driver.authSecret + - description: Common is the common specification for both controller and node + plugins + displayName: Common specification + path: driver.common + - description: Args is the set of arguments for the container + displayName: Container Arguments + path: driver.common.args + - description: AuthorizationController is the image tag for the container + displayName: Authorization Controller Container Image + path: driver.common.authorizationController + - description: AuthorizationControllerReplicas is the number of replicas for + the authorization controller deployment + displayName: Authorization Controller Replicas + path: driver.common.authorizationControllerReplicas + - description: Certificate is a certificate used for a certificate/private-key + pair + displayName: Certificate for certificate/private-key pair + path: driver.common.certificate + - description: CertificateAuthority is a certificate authority used to validate + a certificate + displayName: Certificate authority for validating a certificate + path: driver.common.certificateAuthority + - description: Commander is the image tag for the Container + displayName: Authorization Commander Container Image + path: driver.common.commander + - description: The interval which the reconcile of each controller is run + displayName: Controller Reconcile Interval + path: driver.common.controllerReconcileInterval + - description: ComponentCred is to store the velero credential contents + displayName: ComponentCred for velero component + path: driver.common.credentials + - description: CreateWithInstall is used to indicate wether or not to create + a secret for objectstore + displayName: CreateWithInstall + path: driver.common.credentials[0].createWithInstall + - description: Name is the name of secret which contains credentials to access + objectstore + displayName: Name + path: driver.common.credentials[0].name + - description: SecretContents contains credentials to access objectstore + displayName: secretContents + path: driver.common.credentials[0].secretContents + - description: AccessKeyID is a name of key ID to access objectstore + displayName: AccessKeyID + path: driver.common.credentials[0].secretContents.aws_access_key_id + - description: AccessKey contains the key to access objectstore + displayName: AccessKey + path: driver.common.credentials[0].secretContents.aws_secret_access_key + - description: DeployNodeAgent is to enable/disable node-agent services + displayName: Deploy node-agent for Application Mobility + path: driver.common.deployNodeAgent + - description: Enabled is used to indicate wether or not to deploy a module + displayName: Enabled + path: driver.common.enabled + - description: Envs is the set of environment variables for the container + displayName: Container Environment vars + path: driver.common.envs + - description: Hostname is the authorization proxy server hostname + displayName: Authorization Proxy Server Hostname + path: driver.common.hostname + - description: Image is the image tag for the Container + displayName: Container Image + path: driver.common.image + - description: ImagePullPolicy is the image pull policy for the image + displayName: Container Image Pull Policy + path: driver.common.imagePullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: kvEnginePath is the Authorization vault secret path + displayName: Authorization KV Engine Path + path: driver.common.kvEnginePath + - description: LeaderElection is boolean flag to enable leader election + displayName: Leader Election + path: driver.common.leaderElection + - description: LicenseName is the name of the license for app-mobility + displayName: License Name for Application Mobility + path: driver.common.licenseName + - description: Name is the name of Container + displayName: Container Name + path: driver.common.name + - description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + displayName: NodeSelector + path: driver.common.nodeSelector + - description: ObjectStoreSecretName is the name of the secret for the object + store for app-mobility + displayName: Application Mobility Object Store Secret + path: driver.common.objectStoreSecretName + - description: Opa is the image tag for the Container + displayName: Authorization Opa Container Image + path: driver.common.opa + - description: OpaKubeMgmt is the image tag for the Container + displayName: Authorization Opa Kube Management Container Image + path: driver.common.opaKubeMgmt + - description: PrivateKey is a private key used for a certificate/private-key + pair + displayName: Private key for certificate/private-key pair + path: driver.common.privateKey + - description: ProxyServerIngress is the authorization proxy server ingress + configuration + displayName: Authorization Proxy Server ingress configuration + path: driver.common.proxyServerIngress + - description: Annotations is an unstructured key value map that stores additional + annotations for the ingress + displayName: Authorization Proxy Server Annotations + path: driver.common.proxyServerIngress[0].annotations + - description: Hosts is the hosts rules for the ingress + displayName: Authorization Proxy Server Hosts + path: driver.common.proxyServerIngress[0].hosts + - description: IngressClassName is the ingressClassName + displayName: Authorization Proxy Server Ingress Class Name + path: driver.common.proxyServerIngress[0].ingressClassName + - description: ProxyService is the image tag for the Container + displayName: Authorization Proxy Service Container Image + path: driver.common.proxyService + - description: ProxyServiceReplicas is the number of replicas for the proxy + service deployment + displayName: Proxy Service Replicas + path: driver.common.proxyServiceReplicas + - description: Redis is the image tag for the Container + displayName: Authorization Redis Container Image + path: driver.common.redis + - description: RedisCommander is the name of the redis deployment + displayName: Redis Deployment Name + path: driver.common.redisCommander + - description: RedisName is the name of the redis statefulset + displayName: Redis StatefulSet Name + path: driver.common.redisName + - description: RedisReplicas is the number of replicas for the redis deployment + displayName: Redis Deployment Replicas + path: driver.common.redisReplicas + - description: ReplicaCount is the replica count for app mobility + displayName: Application Mobility Replica Count + path: driver.common.replicaCount + - description: RoleService is the image tag for the Container + displayName: Authorization Role Service Container Image + path: driver.common.roleService + - description: RoleServiceReplicas is the number of replicas for the role service + deployment + displayName: Role Service Replicas + path: driver.common.roleServiceReplicas + - description: Sentinel is the name of the sentinel statefulSet + displayName: Sentinel StatefulSet Name + path: driver.common.sentinel + - description: skipCertificateValidation is the flag to skip certificate validation + displayName: Authorization Skip Certificate Validation + path: driver.common.skipCertificateValidation + - description: StorageService is the image tag for the Container + displayName: Authorization Storage Service Container Image + path: driver.common.storageService + - description: StorageServiceReplicas is the number of replicas for storage + service deployment + displayName: Storage Service Replicas + path: driver.common.storageServiceReplicas + - description: RedisStorageClass is the authorization proxy server redis storage + class for persistence + displayName: Authorization Proxy Server Redis storage class + path: driver.common.storageclass + - description: TenantService is the image tag for the Container + displayName: Authorization Tenant Service Container Image + path: driver.common.tenantService + - description: TenantServiceReplicas is the number of replicas for the tenant + service deployment + displayName: Tenant Service Replicas + path: driver.common.tenantServiceReplicas + - description: Tolerations is the list of tolerations for the driver pods + displayName: Tolerations + path: driver.common.tolerations + - description: UseSnapshot is to check whether volume snapshot is enabled under + velero component + displayName: use-volume-snapshots for Application Mobilit- Velero + path: driver.common.useVolumeSnapshot + - description: VaultAddress is the address of the vault + displayName: Authorization Vault Address + path: driver.common.vaultAddress + - description: VaultRole is the role for the vault + displayName: Authorization Vault Role + path: driver.common.vaultRole + - description: VeleroNamespace is the namespace that Velero is installed in + displayName: Velero namespace + path: driver.common.veleroNamespace + - description: ConfigVersion is the configuration version of the driver + displayName: Config Version + path: driver.configVersion + - description: Controller is the specification for Controller plugin only + displayName: Controller Specification + path: driver.controller + - description: Args is the set of arguments for the container + displayName: Container Arguments + path: driver.controller.args + - description: AuthorizationController is the image tag for the container + displayName: Authorization Controller Container Image + path: driver.controller.authorizationController + - description: AuthorizationControllerReplicas is the number of replicas for + the authorization controller deployment + displayName: Authorization Controller Replicas + path: driver.controller.authorizationControllerReplicas + - description: Certificate is a certificate used for a certificate/private-key + pair + displayName: Certificate for certificate/private-key pair + path: driver.controller.certificate + - description: CertificateAuthority is a certificate authority used to validate + a certificate + displayName: Certificate authority for validating a certificate + path: driver.controller.certificateAuthority + - description: Commander is the image tag for the Container + displayName: Authorization Commander Container Image + path: driver.controller.commander + - description: The interval which the reconcile of each controller is run + displayName: Controller Reconcile Interval + path: driver.controller.controllerReconcileInterval + - description: ComponentCred is to store the velero credential contents + displayName: ComponentCred for velero component + path: driver.controller.credentials + - description: CreateWithInstall is used to indicate wether or not to create + a secret for objectstore + displayName: CreateWithInstall + path: driver.controller.credentials[0].createWithInstall + - description: Name is the name of secret which contains credentials to access + objectstore + displayName: Name + path: driver.controller.credentials[0].name + - description: SecretContents contains credentials to access objectstore + displayName: secretContents + path: driver.controller.credentials[0].secretContents + - description: AccessKeyID is a name of key ID to access objectstore + displayName: AccessKeyID + path: driver.controller.credentials[0].secretContents.aws_access_key_id + - description: AccessKey contains the key to access objectstore + displayName: AccessKey + path: driver.controller.credentials[0].secretContents.aws_secret_access_key + - description: DeployNodeAgent is to enable/disable node-agent services + displayName: Deploy node-agent for Application Mobility + path: driver.controller.deployNodeAgent + - description: Enabled is used to indicate wether or not to deploy a module + displayName: Enabled + path: driver.controller.enabled + - description: Envs is the set of environment variables for the container + displayName: Container Environment vars + path: driver.controller.envs + - description: Hostname is the authorization proxy server hostname + displayName: Authorization Proxy Server Hostname + path: driver.controller.hostname + - description: Image is the image tag for the Container + displayName: Container Image + path: driver.controller.image + - description: ImagePullPolicy is the image pull policy for the image + displayName: Container Image Pull Policy + path: driver.controller.imagePullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: kvEnginePath is the Authorization vault secret path + displayName: Authorization KV Engine Path + path: driver.controller.kvEnginePath + - description: LeaderElection is boolean flag to enable leader election + displayName: Leader Election + path: driver.controller.leaderElection + - description: LicenseName is the name of the license for app-mobility + displayName: License Name for Application Mobility + path: driver.controller.licenseName + - description: Name is the name of Container + displayName: Container Name + path: driver.controller.name + - description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + displayName: NodeSelector + path: driver.controller.nodeSelector + - description: ObjectStoreSecretName is the name of the secret for the object + store for app-mobility + displayName: Application Mobility Object Store Secret + path: driver.controller.objectStoreSecretName + - description: Opa is the image tag for the Container + displayName: Authorization Opa Container Image + path: driver.controller.opa + - description: OpaKubeMgmt is the image tag for the Container + displayName: Authorization Opa Kube Management Container Image + path: driver.controller.opaKubeMgmt + - description: PrivateKey is a private key used for a certificate/private-key + pair + displayName: Private key for certificate/private-key pair + path: driver.controller.privateKey + - description: ProxyServerIngress is the authorization proxy server ingress + configuration + displayName: Authorization Proxy Server ingress configuration + path: driver.controller.proxyServerIngress + - description: Annotations is an unstructured key value map that stores additional + annotations for the ingress + displayName: Authorization Proxy Server Annotations + path: driver.controller.proxyServerIngress[0].annotations + - description: Hosts is the hosts rules for the ingress + displayName: Authorization Proxy Server Hosts + path: driver.controller.proxyServerIngress[0].hosts + - description: IngressClassName is the ingressClassName + displayName: Authorization Proxy Server Ingress Class Name + path: driver.controller.proxyServerIngress[0].ingressClassName + - description: ProxyService is the image tag for the Container + displayName: Authorization Proxy Service Container Image + path: driver.controller.proxyService + - description: ProxyServiceReplicas is the number of replicas for the proxy + service deployment + displayName: Proxy Service Replicas + path: driver.controller.proxyServiceReplicas + - description: Redis is the image tag for the Container + displayName: Authorization Redis Container Image + path: driver.controller.redis + - description: RedisCommander is the name of the redis deployment + displayName: Redis Deployment Name + path: driver.controller.redisCommander + - description: RedisName is the name of the redis statefulset + displayName: Redis StatefulSet Name + path: driver.controller.redisName + - description: RedisReplicas is the number of replicas for the redis deployment + displayName: Redis Deployment Replicas + path: driver.controller.redisReplicas + - description: ReplicaCount is the replica count for app mobility + displayName: Application Mobility Replica Count + path: driver.controller.replicaCount + - description: RoleService is the image tag for the Container + displayName: Authorization Role Service Container Image + path: driver.controller.roleService + - description: RoleServiceReplicas is the number of replicas for the role service + deployment + displayName: Role Service Replicas + path: driver.controller.roleServiceReplicas + - description: Sentinel is the name of the sentinel statefulSet + displayName: Sentinel StatefulSet Name + path: driver.controller.sentinel + - description: skipCertificateValidation is the flag to skip certificate validation + displayName: Authorization Skip Certificate Validation + path: driver.controller.skipCertificateValidation + - description: StorageService is the image tag for the Container + displayName: Authorization Storage Service Container Image + path: driver.controller.storageService + - description: StorageServiceReplicas is the number of replicas for storage + service deployment + displayName: Storage Service Replicas + path: driver.controller.storageServiceReplicas + - description: RedisStorageClass is the authorization proxy server redis storage + class for persistence + displayName: Authorization Proxy Server Redis storage class + path: driver.controller.storageclass + - description: TenantService is the image tag for the Container + displayName: Authorization Tenant Service Container Image + path: driver.controller.tenantService + - description: TenantServiceReplicas is the number of replicas for the tenant + service deployment + displayName: Tenant Service Replicas + path: driver.controller.tenantServiceReplicas + - description: Tolerations is the list of tolerations for the driver pods + displayName: Tolerations + path: driver.controller.tolerations + - description: UseSnapshot is to check whether volume snapshot is enabled under + velero component + displayName: use-volume-snapshots for Application Mobilit- Velero + path: driver.controller.useVolumeSnapshot + - description: VaultAddress is the address of the vault + displayName: Authorization Vault Address + path: driver.controller.vaultAddress + - description: VaultRole is the role for the vault + displayName: Authorization Vault Role + path: driver.controller.vaultRole + - description: VeleroNamespace is the namespace that Velero is installed in + displayName: Velero namespace + path: driver.controller.veleroNamespace + - description: CSIDriverSpec is the specification for CSIDriver + displayName: CSI Driver Spec + path: driver.csiDriverSpec + - description: CSIDriverType is the CSI Driver type for Dell Technologies - + e.g, powermax, powerflex,... + displayName: CSI Driver Type + path: driver.csiDriverType + - description: DNSPolicy is the dnsPolicy of the daemonset for Node plugin + displayName: DNSPolicy + path: driver.dnsPolicy + - description: ForceRemoveDriver is the boolean flag used to remove driver deployment + when CR is deleted + displayName: Force Remove Driver + path: driver.forceRemoveDriver + - description: ForceUpdate is the boolean flag used to force an update of the + driver instance + displayName: Force update + path: driver.forceUpdate + - description: Args is the set of arguments for the container + displayName: Container Arguments + path: driver.initContainers[0].args + - description: AuthorizationController is the image tag for the container + displayName: Authorization Controller Container Image + path: driver.initContainers[0].authorizationController + - description: AuthorizationControllerReplicas is the number of replicas for + the authorization controller deployment + displayName: Authorization Controller Replicas + path: driver.initContainers[0].authorizationControllerReplicas + - description: Certificate is a certificate used for a certificate/private-key + pair + displayName: Certificate for certificate/private-key pair + path: driver.initContainers[0].certificate + - description: CertificateAuthority is a certificate authority used to validate + a certificate + displayName: Certificate authority for validating a certificate + path: driver.initContainers[0].certificateAuthority + - description: Commander is the image tag for the Container + displayName: Authorization Commander Container Image + path: driver.initContainers[0].commander + - description: The interval which the reconcile of each controller is run + displayName: Controller Reconcile Interval + path: driver.initContainers[0].controllerReconcileInterval + - description: ComponentCred is to store the velero credential contents + displayName: ComponentCred for velero component + path: driver.initContainers[0].credentials + - description: CreateWithInstall is used to indicate wether or not to create + a secret for objectstore + displayName: CreateWithInstall + path: driver.initContainers[0].credentials[0].createWithInstall + - description: Name is the name of secret which contains credentials to access + objectstore + displayName: Name + path: driver.initContainers[0].credentials[0].name + - description: SecretContents contains credentials to access objectstore + displayName: secretContents + path: driver.initContainers[0].credentials[0].secretContents + - description: AccessKeyID is a name of key ID to access objectstore + displayName: AccessKeyID + path: driver.initContainers[0].credentials[0].secretContents.aws_access_key_id + - description: AccessKey contains the key to access objectstore + displayName: AccessKey + path: driver.initContainers[0].credentials[0].secretContents.aws_secret_access_key + - description: DeployNodeAgent is to enable/disable node-agent services + displayName: Deploy node-agent for Application Mobility + path: driver.initContainers[0].deployNodeAgent + - description: Enabled is used to indicate wether or not to deploy a module + displayName: Enabled + path: driver.initContainers[0].enabled + - description: Envs is the set of environment variables for the container + displayName: Container Environment vars + path: driver.initContainers[0].envs + - description: Hostname is the authorization proxy server hostname + displayName: Authorization Proxy Server Hostname + path: driver.initContainers[0].hostname + - description: Image is the image tag for the Container + displayName: Container Image + path: driver.initContainers[0].image + - description: ImagePullPolicy is the image pull policy for the image + displayName: Container Image Pull Policy + path: driver.initContainers[0].imagePullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: kvEnginePath is the Authorization vault secret path + displayName: Authorization KV Engine Path + path: driver.initContainers[0].kvEnginePath + - description: LeaderElection is boolean flag to enable leader election + displayName: Leader Election + path: driver.initContainers[0].leaderElection + - description: LicenseName is the name of the license for app-mobility + displayName: License Name for Application Mobility + path: driver.initContainers[0].licenseName + - description: Name is the name of Container + displayName: Container Name + path: driver.initContainers[0].name + - description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + displayName: NodeSelector + path: driver.initContainers[0].nodeSelector + - description: ObjectStoreSecretName is the name of the secret for the object + store for app-mobility + displayName: Application Mobility Object Store Secret + path: driver.initContainers[0].objectStoreSecretName + - description: Opa is the image tag for the Container + displayName: Authorization Opa Container Image + path: driver.initContainers[0].opa + - description: OpaKubeMgmt is the image tag for the Container + displayName: Authorization Opa Kube Management Container Image + path: driver.initContainers[0].opaKubeMgmt + - description: PrivateKey is a private key used for a certificate/private-key + pair + displayName: Private key for certificate/private-key pair + path: driver.initContainers[0].privateKey + - description: ProxyServerIngress is the authorization proxy server ingress + configuration + displayName: Authorization Proxy Server ingress configuration + path: driver.initContainers[0].proxyServerIngress + - description: Annotations is an unstructured key value map that stores additional + annotations for the ingress + displayName: Authorization Proxy Server Annotations + path: driver.initContainers[0].proxyServerIngress[0].annotations + - description: Hosts is the hosts rules for the ingress + displayName: Authorization Proxy Server Hosts + path: driver.initContainers[0].proxyServerIngress[0].hosts + - description: IngressClassName is the ingressClassName + displayName: Authorization Proxy Server Ingress Class Name + path: driver.initContainers[0].proxyServerIngress[0].ingressClassName + - description: ProxyService is the image tag for the Container + displayName: Authorization Proxy Service Container Image + path: driver.initContainers[0].proxyService + - description: ProxyServiceReplicas is the number of replicas for the proxy + service deployment + displayName: Proxy Service Replicas + path: driver.initContainers[0].proxyServiceReplicas + - description: Redis is the image tag for the Container + displayName: Authorization Redis Container Image + path: driver.initContainers[0].redis + - description: RedisCommander is the name of the redis deployment + displayName: Redis Deployment Name + path: driver.initContainers[0].redisCommander + - description: RedisName is the name of the redis statefulset + displayName: Redis StatefulSet Name + path: driver.initContainers[0].redisName + - description: RedisReplicas is the number of replicas for the redis deployment + displayName: Redis Deployment Replicas + path: driver.initContainers[0].redisReplicas + - description: ReplicaCount is the replica count for app mobility + displayName: Application Mobility Replica Count + path: driver.initContainers[0].replicaCount + - description: RoleService is the image tag for the Container + displayName: Authorization Role Service Container Image + path: driver.initContainers[0].roleService + - description: RoleServiceReplicas is the number of replicas for the role service + deployment + displayName: Role Service Replicas + path: driver.initContainers[0].roleServiceReplicas + - description: Sentinel is the name of the sentinel statefulSet + displayName: Sentinel StatefulSet Name + path: driver.initContainers[0].sentinel + - description: skipCertificateValidation is the flag to skip certificate validation + displayName: Authorization Skip Certificate Validation + path: driver.initContainers[0].skipCertificateValidation + - description: StorageService is the image tag for the Container + displayName: Authorization Storage Service Container Image + path: driver.initContainers[0].storageService + - description: StorageServiceReplicas is the number of replicas for storage + service deployment + displayName: Storage Service Replicas + path: driver.initContainers[0].storageServiceReplicas + - description: RedisStorageClass is the authorization proxy server redis storage + class for persistence + displayName: Authorization Proxy Server Redis storage class + path: driver.initContainers[0].storageclass + - description: TenantService is the image tag for the Container + displayName: Authorization Tenant Service Container Image + path: driver.initContainers[0].tenantService + - description: TenantServiceReplicas is the number of replicas for the tenant + service deployment + displayName: Tenant Service Replicas + path: driver.initContainers[0].tenantServiceReplicas + - description: Tolerations is the list of tolerations for the driver pods + displayName: Tolerations + path: driver.initContainers[0].tolerations + - description: UseSnapshot is to check whether volume snapshot is enabled under + velero component + displayName: use-volume-snapshots for Application Mobilit- Velero + path: driver.initContainers[0].useVolumeSnapshot + - description: VaultAddress is the address of the vault + displayName: Authorization Vault Address + path: driver.initContainers[0].vaultAddress + - description: VaultRole is the role for the vault + displayName: Authorization Vault Role + path: driver.initContainers[0].vaultRole + - description: VeleroNamespace is the namespace that Velero is installed in + displayName: Velero namespace + path: driver.initContainers[0].veleroNamespace + - description: Node is the specification for Node plugin only + displayName: Node specification + path: driver.node + - description: Args is the set of arguments for the container + displayName: Container Arguments + path: driver.node.args + - description: AuthorizationController is the image tag for the container + displayName: Authorization Controller Container Image + path: driver.node.authorizationController + - description: AuthorizationControllerReplicas is the number of replicas for + the authorization controller deployment + displayName: Authorization Controller Replicas + path: driver.node.authorizationControllerReplicas + - description: Certificate is a certificate used for a certificate/private-key + pair + displayName: Certificate for certificate/private-key pair + path: driver.node.certificate + - description: CertificateAuthority is a certificate authority used to validate + a certificate + displayName: Certificate authority for validating a certificate + path: driver.node.certificateAuthority + - description: Commander is the image tag for the Container + displayName: Authorization Commander Container Image + path: driver.node.commander + - description: The interval which the reconcile of each controller is run + displayName: Controller Reconcile Interval + path: driver.node.controllerReconcileInterval + - description: ComponentCred is to store the velero credential contents + displayName: ComponentCred for velero component + path: driver.node.credentials + - description: CreateWithInstall is used to indicate wether or not to create + a secret for objectstore + displayName: CreateWithInstall + path: driver.node.credentials[0].createWithInstall + - description: Name is the name of secret which contains credentials to access + objectstore + displayName: Name + path: driver.node.credentials[0].name + - description: SecretContents contains credentials to access objectstore + displayName: secretContents + path: driver.node.credentials[0].secretContents + - description: AccessKeyID is a name of key ID to access objectstore + displayName: AccessKeyID + path: driver.node.credentials[0].secretContents.aws_access_key_id + - description: AccessKey contains the key to access objectstore + displayName: AccessKey + path: driver.node.credentials[0].secretContents.aws_secret_access_key + - description: DeployNodeAgent is to enable/disable node-agent services + displayName: Deploy node-agent for Application Mobility + path: driver.node.deployNodeAgent + - description: Enabled is used to indicate wether or not to deploy a module + displayName: Enabled + path: driver.node.enabled + - description: Envs is the set of environment variables for the container + displayName: Container Environment vars + path: driver.node.envs + - description: Hostname is the authorization proxy server hostname + displayName: Authorization Proxy Server Hostname + path: driver.node.hostname + - description: Image is the image tag for the Container + displayName: Container Image + path: driver.node.image + - description: ImagePullPolicy is the image pull policy for the image + displayName: Container Image Pull Policy + path: driver.node.imagePullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: kvEnginePath is the Authorization vault secret path + displayName: Authorization KV Engine Path + path: driver.node.kvEnginePath + - description: LeaderElection is boolean flag to enable leader election + displayName: Leader Election + path: driver.node.leaderElection + - description: LicenseName is the name of the license for app-mobility + displayName: License Name for Application Mobility + path: driver.node.licenseName + - description: Name is the name of Container + displayName: Container Name + path: driver.node.name + - description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + displayName: NodeSelector + path: driver.node.nodeSelector + - description: ObjectStoreSecretName is the name of the secret for the object + store for app-mobility + displayName: Application Mobility Object Store Secret + path: driver.node.objectStoreSecretName + - description: Opa is the image tag for the Container + displayName: Authorization Opa Container Image + path: driver.node.opa + - description: OpaKubeMgmt is the image tag for the Container + displayName: Authorization Opa Kube Management Container Image + path: driver.node.opaKubeMgmt + - description: PrivateKey is a private key used for a certificate/private-key + pair + displayName: Private key for certificate/private-key pair + path: driver.node.privateKey + - description: ProxyServerIngress is the authorization proxy server ingress + configuration + displayName: Authorization Proxy Server ingress configuration + path: driver.node.proxyServerIngress + - description: Annotations is an unstructured key value map that stores additional + annotations for the ingress + displayName: Authorization Proxy Server Annotations + path: driver.node.proxyServerIngress[0].annotations + - description: Hosts is the hosts rules for the ingress + displayName: Authorization Proxy Server Hosts + path: driver.node.proxyServerIngress[0].hosts + - description: IngressClassName is the ingressClassName + displayName: Authorization Proxy Server Ingress Class Name + path: driver.node.proxyServerIngress[0].ingressClassName + - description: ProxyService is the image tag for the Container + displayName: Authorization Proxy Service Container Image + path: driver.node.proxyService + - description: ProxyServiceReplicas is the number of replicas for the proxy + service deployment + displayName: Proxy Service Replicas + path: driver.node.proxyServiceReplicas + - description: Redis is the image tag for the Container + displayName: Authorization Redis Container Image + path: driver.node.redis + - description: RedisCommander is the name of the redis deployment + displayName: Redis Deployment Name + path: driver.node.redisCommander + - description: RedisName is the name of the redis statefulset + displayName: Redis StatefulSet Name + path: driver.node.redisName + - description: RedisReplicas is the number of replicas for the redis deployment + displayName: Redis Deployment Replicas + path: driver.node.redisReplicas + - description: ReplicaCount is the replica count for app mobility + displayName: Application Mobility Replica Count + path: driver.node.replicaCount + - description: RoleService is the image tag for the Container + displayName: Authorization Role Service Container Image + path: driver.node.roleService + - description: RoleServiceReplicas is the number of replicas for the role service + deployment + displayName: Role Service Replicas + path: driver.node.roleServiceReplicas + - description: Sentinel is the name of the sentinel statefulSet + displayName: Sentinel StatefulSet Name + path: driver.node.sentinel + - description: skipCertificateValidation is the flag to skip certificate validation + displayName: Authorization Skip Certificate Validation + path: driver.node.skipCertificateValidation + - description: StorageService is the image tag for the Container + displayName: Authorization Storage Service Container Image + path: driver.node.storageService + - description: StorageServiceReplicas is the number of replicas for storage + service deployment + displayName: Storage Service Replicas + path: driver.node.storageServiceReplicas + - description: RedisStorageClass is the authorization proxy server redis storage + class for persistence + displayName: Authorization Proxy Server Redis storage class + path: driver.node.storageclass + - description: TenantService is the image tag for the Container + displayName: Authorization Tenant Service Container Image + path: driver.node.tenantService + - description: TenantServiceReplicas is the number of replicas for the tenant + service deployment + displayName: Tenant Service Replicas + path: driver.node.tenantServiceReplicas + - description: Tolerations is the list of tolerations for the driver pods + displayName: Tolerations + path: driver.node.tolerations + - description: UseSnapshot is to check whether volume snapshot is enabled under + velero component + displayName: use-volume-snapshots for Application Mobilit- Velero + path: driver.node.useVolumeSnapshot + - description: VaultAddress is the address of the vault + displayName: Authorization Vault Address + path: driver.node.vaultAddress + - description: VaultRole is the role for the vault + displayName: Authorization Vault Role + path: driver.node.vaultRole + - description: VeleroNamespace is the namespace that Velero is installed in + displayName: Velero namespace + path: driver.node.veleroNamespace + - description: Replicas is the count of controllers for Controller plugin + displayName: Controller count + path: driver.replicas + - description: SideCars is the specification for CSI sidecar containers + displayName: CSI SideCars specification + path: driver.sideCars + - description: Args is the set of arguments for the container + displayName: Container Arguments + path: driver.sideCars[0].args + - description: AuthorizationController is the image tag for the container + displayName: Authorization Controller Container Image + path: driver.sideCars[0].authorizationController + - description: AuthorizationControllerReplicas is the number of replicas for + the authorization controller deployment + displayName: Authorization Controller Replicas + path: driver.sideCars[0].authorizationControllerReplicas + - description: Certificate is a certificate used for a certificate/private-key + pair + displayName: Certificate for certificate/private-key pair + path: driver.sideCars[0].certificate + - description: CertificateAuthority is a certificate authority used to validate + a certificate + displayName: Certificate authority for validating a certificate + path: driver.sideCars[0].certificateAuthority + - description: Commander is the image tag for the Container + displayName: Authorization Commander Container Image + path: driver.sideCars[0].commander + - description: The interval which the reconcile of each controller is run + displayName: Controller Reconcile Interval + path: driver.sideCars[0].controllerReconcileInterval + - description: ComponentCred is to store the velero credential contents + displayName: ComponentCred for velero component + path: driver.sideCars[0].credentials + - description: CreateWithInstall is used to indicate wether or not to create + a secret for objectstore + displayName: CreateWithInstall + path: driver.sideCars[0].credentials[0].createWithInstall + - description: Name is the name of secret which contains credentials to access + objectstore + displayName: Name + path: driver.sideCars[0].credentials[0].name + - description: SecretContents contains credentials to access objectstore + displayName: secretContents + path: driver.sideCars[0].credentials[0].secretContents + - description: AccessKeyID is a name of key ID to access objectstore + displayName: AccessKeyID + path: driver.sideCars[0].credentials[0].secretContents.aws_access_key_id + - description: AccessKey contains the key to access objectstore + displayName: AccessKey + path: driver.sideCars[0].credentials[0].secretContents.aws_secret_access_key + - description: DeployNodeAgent is to enable/disable node-agent services + displayName: Deploy node-agent for Application Mobility + path: driver.sideCars[0].deployNodeAgent + - description: Enabled is used to indicate wether or not to deploy a module + displayName: Enabled + path: driver.sideCars[0].enabled + - description: Envs is the set of environment variables for the container + displayName: Container Environment vars + path: driver.sideCars[0].envs + - description: Hostname is the authorization proxy server hostname + displayName: Authorization Proxy Server Hostname + path: driver.sideCars[0].hostname + - description: Image is the image tag for the Container + displayName: Container Image + path: driver.sideCars[0].image + - description: ImagePullPolicy is the image pull policy for the image + displayName: Container Image Pull Policy + path: driver.sideCars[0].imagePullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: kvEnginePath is the Authorization vault secret path + displayName: Authorization KV Engine Path + path: driver.sideCars[0].kvEnginePath + - description: LeaderElection is boolean flag to enable leader election + displayName: Leader Election + path: driver.sideCars[0].leaderElection + - description: LicenseName is the name of the license for app-mobility + displayName: License Name for Application Mobility + path: driver.sideCars[0].licenseName + - description: Name is the name of Container + displayName: Container Name + path: driver.sideCars[0].name + - description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + displayName: NodeSelector + path: driver.sideCars[0].nodeSelector + - description: ObjectStoreSecretName is the name of the secret for the object + store for app-mobility + displayName: Application Mobility Object Store Secret + path: driver.sideCars[0].objectStoreSecretName + - description: Opa is the image tag for the Container + displayName: Authorization Opa Container Image + path: driver.sideCars[0].opa + - description: OpaKubeMgmt is the image tag for the Container + displayName: Authorization Opa Kube Management Container Image + path: driver.sideCars[0].opaKubeMgmt + - description: PrivateKey is a private key used for a certificate/private-key + pair + displayName: Private key for certificate/private-key pair + path: driver.sideCars[0].privateKey + - description: ProxyServerIngress is the authorization proxy server ingress + configuration + displayName: Authorization Proxy Server ingress configuration + path: driver.sideCars[0].proxyServerIngress + - description: Annotations is an unstructured key value map that stores additional + annotations for the ingress + displayName: Authorization Proxy Server Annotations + path: driver.sideCars[0].proxyServerIngress[0].annotations + - description: Hosts is the hosts rules for the ingress + displayName: Authorization Proxy Server Hosts + path: driver.sideCars[0].proxyServerIngress[0].hosts + - description: IngressClassName is the ingressClassName + displayName: Authorization Proxy Server Ingress Class Name + path: driver.sideCars[0].proxyServerIngress[0].ingressClassName + - description: ProxyService is the image tag for the Container + displayName: Authorization Proxy Service Container Image + path: driver.sideCars[0].proxyService + - description: ProxyServiceReplicas is the number of replicas for the proxy + service deployment + displayName: Proxy Service Replicas + path: driver.sideCars[0].proxyServiceReplicas + - description: Redis is the image tag for the Container + displayName: Authorization Redis Container Image + path: driver.sideCars[0].redis + - description: RedisCommander is the name of the redis deployment + displayName: Redis Deployment Name + path: driver.sideCars[0].redisCommander + - description: RedisName is the name of the redis statefulset + displayName: Redis StatefulSet Name + path: driver.sideCars[0].redisName + - description: RedisReplicas is the number of replicas for the redis deployment + displayName: Redis Deployment Replicas + path: driver.sideCars[0].redisReplicas + - description: ReplicaCount is the replica count for app mobility + displayName: Application Mobility Replica Count + path: driver.sideCars[0].replicaCount + - description: RoleService is the image tag for the Container + displayName: Authorization Role Service Container Image + path: driver.sideCars[0].roleService + - description: RoleServiceReplicas is the number of replicas for the role service + deployment + displayName: Role Service Replicas + path: driver.sideCars[0].roleServiceReplicas + - description: Sentinel is the name of the sentinel statefulSet + displayName: Sentinel StatefulSet Name + path: driver.sideCars[0].sentinel + - description: skipCertificateValidation is the flag to skip certificate validation + displayName: Authorization Skip Certificate Validation + path: driver.sideCars[0].skipCertificateValidation + - description: StorageService is the image tag for the Container + displayName: Authorization Storage Service Container Image + path: driver.sideCars[0].storageService + - description: StorageServiceReplicas is the number of replicas for storage + service deployment + displayName: Storage Service Replicas + path: driver.sideCars[0].storageServiceReplicas + - description: RedisStorageClass is the authorization proxy server redis storage + class for persistence + displayName: Authorization Proxy Server Redis storage class + path: driver.sideCars[0].storageclass + - description: TenantService is the image tag for the Container + displayName: Authorization Tenant Service Container Image + path: driver.sideCars[0].tenantService + - description: TenantServiceReplicas is the number of replicas for the tenant + service deployment + displayName: Tenant Service Replicas + path: driver.sideCars[0].tenantServiceReplicas + - description: Tolerations is the list of tolerations for the driver pods + displayName: Tolerations + path: driver.sideCars[0].tolerations + - description: UseSnapshot is to check whether volume snapshot is enabled under + velero component + displayName: use-volume-snapshots for Application Mobilit- Velero + path: driver.sideCars[0].useVolumeSnapshot + - description: VaultAddress is the address of the vault + displayName: Authorization Vault Address + path: driver.sideCars[0].vaultAddress + - description: VaultRole is the role for the vault + displayName: Authorization Vault Role + path: driver.sideCars[0].vaultRole + - description: VeleroNamespace is the namespace that Velero is installed in + displayName: Velero namespace + path: driver.sideCars[0].veleroNamespace + - description: SnapshotClass is the specification for Snapshot Classes + displayName: Snapshot Classes + path: driver.snapshotClass + - description: Name is the name of the Snapshot Class + displayName: Snapshot Class Name + path: driver.snapshotClass[0].name + - description: Parameters is a map of driver specific parameters for snapshot + class + displayName: Snapshot Class Parameters + path: driver.snapshotClass[0].parameters + - description: TLSCertSecret is the name of the TLS Cert secret + displayName: TLSCert Secret + path: driver.tlsCertSecret + - description: Components is the specification for CSM components containers + displayName: ContainerStorageModule components specification + path: modules[0].components + - description: Args is the set of arguments for the container + displayName: Container Arguments + path: modules[0].components[0].args + - description: AuthorizationController is the image tag for the container + displayName: Authorization Controller Container Image + path: modules[0].components[0].authorizationController + - description: AuthorizationControllerReplicas is the number of replicas for + the authorization controller deployment + displayName: Authorization Controller Replicas + path: modules[0].components[0].authorizationControllerReplicas + - description: Certificate is a certificate used for a certificate/private-key + pair + displayName: Certificate for certificate/private-key pair + path: modules[0].components[0].certificate + - description: CertificateAuthority is a certificate authority used to validate + a certificate + displayName: Certificate authority for validating a certificate + path: modules[0].components[0].certificateAuthority + - description: Commander is the image tag for the Container + displayName: Authorization Commander Container Image + path: modules[0].components[0].commander + - description: The interval which the reconcile of each controller is run + displayName: Controller Reconcile Interval + path: modules[0].components[0].controllerReconcileInterval + - description: ComponentCred is to store the velero credential contents + displayName: ComponentCred for velero component + path: modules[0].components[0].credentials + - description: CreateWithInstall is used to indicate wether or not to create + a secret for objectstore + displayName: CreateWithInstall + path: modules[0].components[0].credentials[0].createWithInstall + - description: Name is the name of secret which contains credentials to access + objectstore + displayName: Name + path: modules[0].components[0].credentials[0].name + - description: SecretContents contains credentials to access objectstore + displayName: secretContents + path: modules[0].components[0].credentials[0].secretContents + - description: AccessKeyID is a name of key ID to access objectstore + displayName: AccessKeyID + path: modules[0].components[0].credentials[0].secretContents.aws_access_key_id + - description: AccessKey contains the key to access objectstore + displayName: AccessKey + path: modules[0].components[0].credentials[0].secretContents.aws_secret_access_key + - description: DeployNodeAgent is to enable/disable node-agent services + displayName: Deploy node-agent for Application Mobility + path: modules[0].components[0].deployNodeAgent + - description: Enabled is used to indicate wether or not to deploy a module + displayName: Enabled + path: modules[0].components[0].enabled + - description: Envs is the set of environment variables for the container + displayName: Container Environment vars + path: modules[0].components[0].envs + - description: Hostname is the authorization proxy server hostname + displayName: Authorization Proxy Server Hostname + path: modules[0].components[0].hostname + - description: Image is the image tag for the Container + displayName: Container Image + path: modules[0].components[0].image + - description: ImagePullPolicy is the image pull policy for the image + displayName: Container Image Pull Policy + path: modules[0].components[0].imagePullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: kvEnginePath is the Authorization vault secret path + displayName: Authorization KV Engine Path + path: modules[0].components[0].kvEnginePath + - description: LeaderElection is boolean flag to enable leader election + displayName: Leader Election + path: modules[0].components[0].leaderElection + - description: LicenseName is the name of the license for app-mobility + displayName: License Name for Application Mobility + path: modules[0].components[0].licenseName + - description: Name is the name of Container + displayName: Container Name + path: modules[0].components[0].name + - description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + displayName: NodeSelector + path: modules[0].components[0].nodeSelector + - description: ObjectStoreSecretName is the name of the secret for the object + store for app-mobility + displayName: Application Mobility Object Store Secret + path: modules[0].components[0].objectStoreSecretName + - description: Opa is the image tag for the Container + displayName: Authorization Opa Container Image + path: modules[0].components[0].opa + - description: OpaKubeMgmt is the image tag for the Container + displayName: Authorization Opa Kube Management Container Image + path: modules[0].components[0].opaKubeMgmt + - description: PrivateKey is a private key used for a certificate/private-key + pair + displayName: Private key for certificate/private-key pair + path: modules[0].components[0].privateKey + - description: ProxyServerIngress is the authorization proxy server ingress + configuration + displayName: Authorization Proxy Server ingress configuration + path: modules[0].components[0].proxyServerIngress + - description: Annotations is an unstructured key value map that stores additional + annotations for the ingress + displayName: Authorization Proxy Server Annotations + path: modules[0].components[0].proxyServerIngress[0].annotations + - description: Hosts is the hosts rules for the ingress + displayName: Authorization Proxy Server Hosts + path: modules[0].components[0].proxyServerIngress[0].hosts + - description: IngressClassName is the ingressClassName + displayName: Authorization Proxy Server Ingress Class Name + path: modules[0].components[0].proxyServerIngress[0].ingressClassName + - description: ProxyService is the image tag for the Container + displayName: Authorization Proxy Service Container Image + path: modules[0].components[0].proxyService + - description: ProxyServiceReplicas is the number of replicas for the proxy + service deployment + displayName: Proxy Service Replicas + path: modules[0].components[0].proxyServiceReplicas + - description: Redis is the image tag for the Container + displayName: Authorization Redis Container Image + path: modules[0].components[0].redis + - description: RedisCommander is the name of the redis deployment + displayName: Redis Deployment Name + path: modules[0].components[0].redisCommander + - description: RedisName is the name of the redis statefulset + displayName: Redis StatefulSet Name + path: modules[0].components[0].redisName + - description: RedisReplicas is the number of replicas for the redis deployment + displayName: Redis Deployment Replicas + path: modules[0].components[0].redisReplicas + - description: ReplicaCount is the replica count for app mobility + displayName: Application Mobility Replica Count + path: modules[0].components[0].replicaCount + - description: RoleService is the image tag for the Container + displayName: Authorization Role Service Container Image + path: modules[0].components[0].roleService + - description: RoleServiceReplicas is the number of replicas for the role service + deployment + displayName: Role Service Replicas + path: modules[0].components[0].roleServiceReplicas + - description: Sentinel is the name of the sentinel statefulSet + displayName: Sentinel StatefulSet Name + path: modules[0].components[0].sentinel + - description: skipCertificateValidation is the flag to skip certificate validation + displayName: Authorization Skip Certificate Validation + path: modules[0].components[0].skipCertificateValidation + - description: StorageService is the image tag for the Container + displayName: Authorization Storage Service Container Image + path: modules[0].components[0].storageService + - description: StorageServiceReplicas is the number of replicas for storage + service deployment + displayName: Storage Service Replicas + path: modules[0].components[0].storageServiceReplicas + - description: RedisStorageClass is the authorization proxy server redis storage + class for persistence + displayName: Authorization Proxy Server Redis storage class + path: modules[0].components[0].storageclass + - description: TenantService is the image tag for the Container + displayName: Authorization Tenant Service Container Image + path: modules[0].components[0].tenantService + - description: TenantServiceReplicas is the number of replicas for the tenant + service deployment + displayName: Tenant Service Replicas + path: modules[0].components[0].tenantServiceReplicas + - description: Tolerations is the list of tolerations for the driver pods + displayName: Tolerations + path: modules[0].components[0].tolerations + - description: UseSnapshot is to check whether volume snapshot is enabled under + velero component + displayName: use-volume-snapshots for Application Mobilit- Velero + path: modules[0].components[0].useVolumeSnapshot + - description: VaultAddress is the address of the vault + displayName: Authorization Vault Address + path: modules[0].components[0].vaultAddress + - description: VaultRole is the role for the vault + displayName: Authorization Vault Role + path: modules[0].components[0].vaultRole + - description: VeleroNamespace is the namespace that Velero is installed in + displayName: Velero namespace + path: modules[0].components[0].veleroNamespace + - description: ConfigVersion is the configuration version of the module + displayName: Config Version + path: modules[0].configVersion + - description: Enabled is used to indicate whether or not to deploy a module + displayName: Enabled + path: modules[0].enabled + - description: ForceRemoveModule is the boolean flag used to remove authorization + proxy server deployment when CR is deleted + displayName: Force Remove Module + path: modules[0].forceRemoveModule + - description: Args is the set of arguments for the container + displayName: Container Arguments + path: modules[0].initContainer[0].args + - description: AuthorizationController is the image tag for the container + displayName: Authorization Controller Container Image + path: modules[0].initContainer[0].authorizationController + - description: AuthorizationControllerReplicas is the number of replicas for + the authorization controller deployment + displayName: Authorization Controller Replicas + path: modules[0].initContainer[0].authorizationControllerReplicas + - description: Certificate is a certificate used for a certificate/private-key + pair + displayName: Certificate for certificate/private-key pair + path: modules[0].initContainer[0].certificate + - description: CertificateAuthority is a certificate authority used to validate + a certificate + displayName: Certificate authority for validating a certificate + path: modules[0].initContainer[0].certificateAuthority + - description: Commander is the image tag for the Container + displayName: Authorization Commander Container Image + path: modules[0].initContainer[0].commander + - description: The interval which the reconcile of each controller is run + displayName: Controller Reconcile Interval + path: modules[0].initContainer[0].controllerReconcileInterval + - description: ComponentCred is to store the velero credential contents + displayName: ComponentCred for velero component + path: modules[0].initContainer[0].credentials + - description: CreateWithInstall is used to indicate wether or not to create + a secret for objectstore + displayName: CreateWithInstall + path: modules[0].initContainer[0].credentials[0].createWithInstall + - description: Name is the name of secret which contains credentials to access + objectstore + displayName: Name + path: modules[0].initContainer[0].credentials[0].name + - description: SecretContents contains credentials to access objectstore + displayName: secretContents + path: modules[0].initContainer[0].credentials[0].secretContents + - description: AccessKeyID is a name of key ID to access objectstore + displayName: AccessKeyID + path: modules[0].initContainer[0].credentials[0].secretContents.aws_access_key_id + - description: AccessKey contains the key to access objectstore + displayName: AccessKey + path: modules[0].initContainer[0].credentials[0].secretContents.aws_secret_access_key + - description: DeployNodeAgent is to enable/disable node-agent services + displayName: Deploy node-agent for Application Mobility + path: modules[0].initContainer[0].deployNodeAgent + - description: Enabled is used to indicate wether or not to deploy a module + displayName: Enabled + path: modules[0].initContainer[0].enabled + - description: Envs is the set of environment variables for the container + displayName: Container Environment vars + path: modules[0].initContainer[0].envs + - description: Hostname is the authorization proxy server hostname + displayName: Authorization Proxy Server Hostname + path: modules[0].initContainer[0].hostname + - description: Image is the image tag for the Container + displayName: Container Image + path: modules[0].initContainer[0].image + - description: ImagePullPolicy is the image pull policy for the image + displayName: Container Image Pull Policy + path: modules[0].initContainer[0].imagePullPolicy + x-descriptors: + - urn:alm:descriptor:com.tectonic.ui:imagePullPolicy + - description: kvEnginePath is the Authorization vault secret path + displayName: Authorization KV Engine Path + path: modules[0].initContainer[0].kvEnginePath + - description: LeaderElection is boolean flag to enable leader election + displayName: Leader Election + path: modules[0].initContainer[0].leaderElection + - description: LicenseName is the name of the license for app-mobility + displayName: License Name for Application Mobility + path: modules[0].initContainer[0].licenseName + - description: Name is the name of Container + displayName: Container Name + path: modules[0].initContainer[0].name + - description: |- + NodeSelector is a selector which must be true for the pod to fit on a node. + Selector which must match a node's labels for the pod to be scheduled on that node. + displayName: NodeSelector + path: modules[0].initContainer[0].nodeSelector + - description: ObjectStoreSecretName is the name of the secret for the object + store for app-mobility + displayName: Application Mobility Object Store Secret + path: modules[0].initContainer[0].objectStoreSecretName + - description: Opa is the image tag for the Container + displayName: Authorization Opa Container Image + path: modules[0].initContainer[0].opa + - description: OpaKubeMgmt is the image tag for the Container + displayName: Authorization Opa Kube Management Container Image + path: modules[0].initContainer[0].opaKubeMgmt + - description: PrivateKey is a private key used for a certificate/private-key + pair + displayName: Private key for certificate/private-key pair + path: modules[0].initContainer[0].privateKey + - description: ProxyServerIngress is the authorization proxy server ingress + configuration + displayName: Authorization Proxy Server ingress configuration + path: modules[0].initContainer[0].proxyServerIngress + - description: Annotations is an unstructured key value map that stores additional + annotations for the ingress + displayName: Authorization Proxy Server Annotations + path: modules[0].initContainer[0].proxyServerIngress[0].annotations + - description: Hosts is the hosts rules for the ingress + displayName: Authorization Proxy Server Hosts + path: modules[0].initContainer[0].proxyServerIngress[0].hosts + - description: IngressClassName is the ingressClassName + displayName: Authorization Proxy Server Ingress Class Name + path: modules[0].initContainer[0].proxyServerIngress[0].ingressClassName + - description: ProxyService is the image tag for the Container + displayName: Authorization Proxy Service Container Image + path: modules[0].initContainer[0].proxyService + - description: ProxyServiceReplicas is the number of replicas for the proxy + service deployment + displayName: Proxy Service Replicas + path: modules[0].initContainer[0].proxyServiceReplicas + - description: Redis is the image tag for the Container + displayName: Authorization Redis Container Image + path: modules[0].initContainer[0].redis + - description: RedisCommander is the name of the redis deployment + displayName: Redis Deployment Name + path: modules[0].initContainer[0].redisCommander + - description: RedisName is the name of the redis statefulset + displayName: Redis StatefulSet Name + path: modules[0].initContainer[0].redisName + - description: RedisReplicas is the number of replicas for the redis deployment + displayName: Redis Deployment Replicas + path: modules[0].initContainer[0].redisReplicas + - description: ReplicaCount is the replica count for app mobility + displayName: Application Mobility Replica Count + path: modules[0].initContainer[0].replicaCount + - description: RoleService is the image tag for the Container + displayName: Authorization Role Service Container Image + path: modules[0].initContainer[0].roleService + - description: RoleServiceReplicas is the number of replicas for the role service + deployment + displayName: Role Service Replicas + path: modules[0].initContainer[0].roleServiceReplicas + - description: Sentinel is the name of the sentinel statefulSet + displayName: Sentinel StatefulSet Name + path: modules[0].initContainer[0].sentinel + - description: skipCertificateValidation is the flag to skip certificate validation + displayName: Authorization Skip Certificate Validation + path: modules[0].initContainer[0].skipCertificateValidation + - description: StorageService is the image tag for the Container + displayName: Authorization Storage Service Container Image + path: modules[0].initContainer[0].storageService + - description: StorageServiceReplicas is the number of replicas for storage + service deployment + displayName: Storage Service Replicas + path: modules[0].initContainer[0].storageServiceReplicas + - description: RedisStorageClass is the authorization proxy server redis storage + class for persistence + displayName: Authorization Proxy Server Redis storage class + path: modules[0].initContainer[0].storageclass + - description: TenantService is the image tag for the Container + displayName: Authorization Tenant Service Container Image + path: modules[0].initContainer[0].tenantService + - description: TenantServiceReplicas is the number of replicas for the tenant + service deployment + displayName: Tenant Service Replicas + path: modules[0].initContainer[0].tenantServiceReplicas + - description: Tolerations is the list of tolerations for the driver pods + displayName: Tolerations + path: modules[0].initContainer[0].tolerations + - description: UseSnapshot is to check whether volume snapshot is enabled under + velero component + displayName: use-volume-snapshots for Application Mobilit- Velero + path: modules[0].initContainer[0].useVolumeSnapshot + - description: VaultAddress is the address of the vault + displayName: Authorization Vault Address + path: modules[0].initContainer[0].vaultAddress + - description: VaultRole is the role for the vault + displayName: Authorization Vault Role + path: modules[0].initContainer[0].vaultRole + - description: VeleroNamespace is the namespace that Velero is installed in + displayName: Velero namespace + path: modules[0].initContainer[0].veleroNamespace + - description: Name is name of ContainerStorageModule modules + displayName: Name + path: modules[0].name + statusDescriptors: + - description: Number of Available Controller pods + displayName: Available + path: controllerStatus.available + x-descriptors: + - urn:alm:descriptor:text + - description: Number of Desired Controller pods + displayName: Desired + path: controllerStatus.desired + x-descriptors: + - urn:alm:descriptor:text + - description: Number of Failed Controller pods + displayName: Failed + path: controllerStatus.failed + x-descriptors: + - urn:alm:descriptor:text + - description: Number of Available Node pods + displayName: Available + path: nodeStatus.available + x-descriptors: + - urn:alm:descriptor:text + - description: Number of Desired Node pods + displayName: Desired + path: nodeStatus.desired + x-descriptors: + - urn:alm:descriptor:text + - description: Number of Failed Node pods + displayName: Failed + path: nodeStatus.failed + x-descriptors: + - urn:alm:descriptor:text + version: v1 + description: "Dell Container Storage Modules (CSM) Operator is a Kubernetes Operator + which can be \nused to install and manage Dell’s CSI drivers and CSM modules. + \nBy using Dell CSM Operator, enterprises can quickly and easily deploy the \nCSM + modules for CSI drivers making it easy for DevOps \nteams to build and optimize + their Kubernetes workloads using enterprise grade storage \nwhile consistently + aligning with the desired outcomes of the organization.\nThis operator is available + as both community and certified operator for Openshift \nand as a community operator + for upstream Kubernetes.\nOperator can be deployed via OperatorHub.io. using Operator + Lifecycle Manager (OLM)\n\n### About Dell CSM\n\nDell CSM brings powerful enterprise + storage features and functionality to Kubernetes for \neasier adoption of cloud + native workloads, improved productivity and scalable operations. \n\nCSM delivers + software modules for storage management that provide developers access to \nbuild + automation for enhanced IT needs and other critical enterprise storage features. + \n\nCurrently, the following modules are available as part of Dell CSM. \n*\tObservability + - Delivers a high-level view of the storage capacity \n and performance usage + via Grafana dashboards to the Kubernetes users\n*\tReplication - Enables array + replication capabilities for Kubernetes users\n*\tAuthorization - Provides both + storage and Kubernetes administrators the ability \n to apply RBAC for Dell CSI + Drivers\n*\tResiliency - Designed to make Kubernetes applications more resilient + to \n node failures\n\nThese modules are available for various storage platforms + in the Dell portfolio, \nsuch as Dell PowerStore, Dell PowerMax, Dell PowerFlex, + Dell PowerScale, and Dell Unity XT.\n\n### Supported Openshift Platforms\n\nCSM Operator v1.6.1 qualified Openshift versions- 4.15-4.16 + \nCSM Operator v1.6.0 qualified Openshift versions- 4.15-4.16\n\nFor more information, visit [Dell’s Container + Storage Module web page](https://www.dell.com/en-us/dt/solutions/kubernetes-containers/kubernetes-storage.html)\n\nAdditional + Materials\n*\t[CSM Operator GitHub Page](https://dell.github.io/csm-docs/docs/deployment/csmoperator/)\n*\t[CSM + Introduction Video](https://www.youtube.com/watch?v=NtNSKdF9Iyo)\n*\t[CSM Solution + Brief](https://www.delltechnologies.com/asset/en-us/products/storage/briefs-summaries/csm-solution-brief.pdf)\n*\t[CSI + Solution Brief](https://www.delltechnologies.com/asset/en-us/products/storage/briefs-summaries/h17893-dellemc-storage-for-containers-kubernetes-csi-so.pdf)\n" + displayName: Dell Container Storage Modules + icon: + - base64data: iVBORw0KGgoAAAANSUhEUgAAAFAAAAAoCAYAAABpYH0BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAALiMAAC4jAXilP3YAAAtlSURBVGhD7ZoNcFXFFcfPfS8JSdBQG5GK38PUDwhFkgAiLQ5+UloGq5OoRcap1lSxKiMhAYOEoIGQhGqNoIJUseo4oGMFpVpHbasiFEIQAWurUrWAGQoin/m829+5d1/ee0leQhJtUof/zL7dc87uubvnnj37cZ8jPQG5lWMl4EyQ+poCuf/CvZb7fwFHcjfeasttI2BqxHV3iLibpXzEF5bbNdy+NkUSE8rpxS+h9GXuJMuR0qEve/L2MHVTmjjujyzlIyB1Upq+1FLtI69qkLhmtKV8OFIvZemPWapNOJK30dhyB2C2kJ6RQONiKRmxxzI7hmmVl4jj6EDP8BmRcBfL/IxbkLfdt7zKXzOECkv5MPIVg/+OpdrHtEp9zsOWsjCHpDTjOEu0iYDNOwgnjaZzxY3bLnkbciVredAK2sfUTb0Z+EJe3WtQrRhPNosT90i7xush6KQBQ3COR0WZnDXgFbmzqv23nl85WoLue7SbTIqOv0YamEpzJSlhmMw/v8pyRWZs7ifT3uY5PROtG9CYNfw+FU7maQa8mvJ/SK3AuVQSzKued7WGnA3JTJX7xXXehBrgMyNg5AMJyoVSnlEgRWl1lsv02nidNDRsFUnaLNOqxlhuj0IsD3yEQDwpnDKuJ7D/RJK+OlmMk438U79aBBwZLsGGZrEE5FaOlD5OFQ43hTrNn9dIKpPkr9KlJH29zwJT3zkJ4z1H/WdIqbQ9k7j4OryKmC+pm9CxKVw0pkHKhq6Q+oR03CY84CYEJjHIi7xi4ZuJlOezPXkLA5zt8aLxD9JoXlAeemt8FsitvFoCiVsw3NWW48PxpvyN7AbG+Yyegc7FwPvT9kqcO4Gp/qXlhOGYPJn6t2FyOKUSI+TBiV5gjHH5+a0kuUMxnoYKH9PXpbK4sLI7eJ7T13IjYN7h53zvBfYgdM6AirnDdmGtBywViSskELcGIwy0dBhGPqHNxYSEKVKUedhyWVw2jWdFZ2vkXGc5YRj2n0ZyJSl9NNuTf1ounrp+AOFkoqW6DZ03oMIJvmBLEXCCeF6cJXwYY0gPy6GEIRjhL5bLNGflnlb1hBh3Je2+Z7mRWIeudNoskCIHzwXGOISGyRIIbkJ2gcfrRnTNgObAv2ypbTjOi5K8/w5ZlHbQcvzj22GXWGdusJxI1JLulsyho/DWD3wWmFp5huRXvYbhFkId1Ub3m0bXDBiXkmxL7eFKYuJa79ikx7e8yiXEutUY9hQrj4DZyOI8jPg4T7IdXaWVRzTdcLMEnc0Ql/i8noGuGdBtOPop5DgZNKiUpPhtEKGzbyTqkc+WfeYCKR32vuVxXFt7KoZnDxpYDJXiM3sOumhA5zZbCsOYHfwS01qD04vUitfp8a1hhJRmFsniTAxpkbeR6R2vxhzrMyKgZ16RP/lE96HzBpxWmUP8usxSYTjOEqbfBHHlBgbZcpvTHMaZ5x/fhoePb1PWn8xCoS/hCRS2PCIa85okxA+msMpyug0dN2ChCRDD7sJQiywnAuYLcVx/a1Oe/qTEO4MZ7B89OhYc80OprT3dUv7xLT74PhN8vOVE4gD6bmVVvkKKB39ued2KGNdZZqo01oe3KPEBR+rjUtkSj4S6ifQDjx8JYxrFBMZJ+dDm04ptx/qb2N0soBwjhplD/Myi6oXk0SeQEIz5s7j1N8qCC7ZbTuvXWWrkxrohthwbgfhaKcvY2ep1lpHD4talWSo20NHJ+8Bm0JsUg2HV62Ihf8vpYmqXMuBLLecogXFdmSG9Vy6UoiJ/LxhC6wY8SnAULc0Y3vp94FHCmKquLSI+dqJpbJvGU8xP+4zYeDmlydQP7wfbBMe3AMe38oyKFsbrIeiCAc0+3sA8Yt5ApsLrltkOHIMRH5ZAI1PMhE8kLXEEj/aPbyUZH1lej4QaUO/42k9GPiN/l/xR8ixJMqdguLtlfqZuJzqGkuGfSNLKi9E1hRQ+E/tYJ0E3+vgWE84Rflrvb3vJ3wZhgYDeBLVep73kyL7u/yp317qzJRj3OJ1ho22KJDOjNHwCOYajg35Tya8601LHcAzHcAz/KzhFRUXPGmPiLd0CyJZSR7/IdQiFhYVscmUtbTf4nK8P6Nbdw2PovtHndB4zZszol5CQ8CW6wl8DO4DAli1bJg4cODBbE8bSLUpiiNY0e/bsts+yMeA4zgiyU33qa0cA/T+z5S4hMTGxIhAIsAPoHKK2MbyFMRhxCkabYFkeysrKeh88eLDPoEGDqrOzs1tsMYqLi/sil3nz5u22LEHH79H1PDr/gMecCMul3Oofh/CCvikpKQ3kLW5vaKs3zynbtm2rXrFihfdseHEYcDfPOEFphfLITiLt4znN95ZSUlLS58iRI0nIqiFjHl/Vu+Pj4/vV19cfou5+y/YQekZycvKB/Pz8A8pr04AYRhU94glF9A9FA5G/Sr25ykDhVWR5DMa7dkf2fbK5yFerASl/BO888n3U0S9t36Vz1xYUFFQjXwb9V/iXua6rch18Hyvffe+9957W2Ni4iPZqtC+QDyZfzTPn0jYI7RnQDuo+aL2I2Er908hrmJa3qh7k/ZE9Dk+NqmPQ7dJyUhbtx5Gep80C+ryGurfAv576qkdfjl5+TEb2CbIc+JPg6/2k9vW42traidEff5oB4z1Fowdp7N27kWvseYaH3oDbb2LgxSgcBe15FnL1tA3kOhg16CiycXSgQWnq3YnOORR/hawX+dVbt24dH+FZuXV1dWSFd2C8ldQp0JehsuXLlwfxwmfRoZe4oZeqoaKALJU2F1H2PIs6E3mOGmkMvCfQsxg9z6mMeuq9+u+vBKW1H4wjHv7l8LOgL6a9Fw/vueeekcFg8HlkGcjKkPVDj/cNmzqFTP+rYp6Fp0+fnkp29o4dO17JycmJ17Rr1y79xqtX69k89FoULkFh07SkrEeca0mhgPwkPM94Coz+Bm2arpro1LKQ8RTofBPeEHKNSYdp27R4aeigbRHFqIUD3i/i4uJm0a5pWjK4p+GfzMAzIc9Dj2c8hfZHPduSkdA1YCljNKHxVldX6wKoYzkXmZ7dZ82cOXMIehN4RhFpSUwD9urV63gapfbv3//ZyERHb4NfRdIpudOvHQYd1JVXDalofuvi0r7pQzsDiZKj0yUFMXQ/8hYXpjU1NZ/Tvp8lPUD3ZVAt/q8IX+sOotgUl0NAv8bBKFD3eNLtzceL6N+kOrxfF601vCyd4i9ixJd47jkxp/DevXt3paam7tuzZ8/PKyoq9DOjBxqeiFufwOCvgTzX54bBW9E48ZYlOwX0f4z+FheaBO80vPNjS4awnT6dw0v7u6W96U5oOIfBvo2e+cjj1POsWF/UAIxgKR/wVO9b1HvI5/hgGo/o3bv3bnYkP0b2EixN6ijj0fFATA+0RnsaI/5G3Vl5dCSRRsvo1Eg6t4zyJHVplSnmzJkzlGw2qUt/0501a9YH6N7Oy8hnYN5IdaXHeHqrXa50BMqo+5CuskpkZWWp8YopvsHgP6b9auQzoJv04IFTtBwJxrOEerczBl30PDDecbzMR3EinTkLWZTOsiKFxtCGKAPSQd1GNL1JOnI3HdiOK+uq+iIsDeyrsP6TdO5zOnIlD57Jg15Cvor2efB00dhPvQ+pH5rKHujEQfjv2fKH1I36dythQ7cN+u1XPeIaUh/0vor+lSwKumrfh2792KTXXO9qPeTKX8L0Xq59ZKv1Crr1E0GOyvfv368hpw86Xkf+AnoehK2LUGirs41+fMl4tuszcY5iO56X0XMdvJ+yjTtAnsUO4QHtC7JV0FeRWn6V/LaBAWeSor7hQN9F8rZiXUV0IPgWAo8dxcyoYCrejHd9ircN01DQ0NBwBdO5y1/2vvUGVOBt55Pp9kr3qXqz/jsMq6trFyHyX+sbEAjrhciCAAAAAElFTkSuQmCC + mediatype: image/png + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' + - nonResourceURLs: + - /metrics + verbs: + - get + - apiGroups: + - "" + resourceNames: + - cert-manager-cainjector-leader-election + - cert-manager-cainjector-leader-election-core + - cert-manager-controller + resources: + - configmaps + verbs: + - get + - patch + - update + - apiGroups: + - "" + resourceNames: + - cert-manager-controller + resources: + - configmaps + verbs: + - get + - patch + - update + - apiGroups: + - "" + resourceNames: + - ingress-controller-leader + resources: + - configmaps + verbs: + - get + - update + - apiGroups: + - "" + resources: + - configmaps + - endpoints + - events + - ingresses + - persistentvolumeclaims + - pods + - roles + - secrets + - serviceaccounts + - services + - services/finalizers + verbs: + - '*' + - apiGroups: + - "" + resourceNames: + - dell-csm-operator-controller-manager + resources: + - deployments/finalizers + verbs: + - update + - apiGroups: + - "" + resources: + - namespaces + verbs: + - create + - get + - list + - watch + - apiGroups: + - "" + resources: + - nodes + verbs: + - create + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - persistentvolumeclaims/status + verbs: + - get + - patch + - update + - apiGroups: + - "" + resources: + - persistentvolumes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resourceNames: + - cert-manager-webhook-ca + resources: + - secrets + verbs: + - get + - list + - update + - watch + - apiGroups: + - '*' + resourceNames: + - application-mobility-velero-server + resources: + - '*' + verbs: + - '*' + - apiGroups: + - acme.cert-manager.io + resources: + - '*/*' + verbs: + - '*' + - apiGroups: + - acme.cert-manager.io + resources: + - challenges + verbs: + - create + - delete + - apiGroups: + - acme.cert-manager.io + resources: + - challenges + - challenges/status + verbs: + - get + - list + - patch + - update + - watch + - apiGroups: + - acme.cert-manager.io + resources: + - challenges + - orders + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + - apiGroups: + - acme.cert-manager.io + resources: + - challenges/finalizers + verbs: + - update + - apiGroups: + - acme.cert-manager.io + resources: + - clusterissuers + - issuers + verbs: + - get + - list + - watch + - apiGroups: + - acme.cert-manager.io + resources: + - orders + verbs: + - create + - delete + - get + - list + - watch + - apiGroups: + - acme.cert-manager.io + resources: + - orders + - orders/status + verbs: + - patch + - update + - apiGroups: + - acme.cert-manager.io + resources: + - orders/finalizers + verbs: + - update + - apiGroups: + - admissionregistration.k8s.io + resources: + - mutatingwebhookconfigurations + - validatingwebhookconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - '*' + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions/status + verbs: + - get + - list + - patch + - watch + - apiGroups: + - apiregistration.k8s.io + resources: + - apiservices + verbs: + - get + - list + - update + - watch + - apiGroups: + - apiregistration.k8s.io + resources: + - customresourcedefinitions + verbs: + - get + - list + - update + - watch + - apiGroups: + - apps + resources: + - daemonsets + - deployments + - replicasets + - statefulsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - deployments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - auditregistration.k8s.io + resources: + - auditsinks + verbs: + - get + - list + - update + - watch + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create + - apiGroups: + - batch + resources: + - jobs + verbs: + - create + - delete + - list + - update + - watch + - apiGroups: + - cert-manager.io + resources: + - '*/*' + verbs: + - '*' + - apiGroups: + - cert-manager.io + resources: + - certificaterequests + - certificates + - clusterissuers + - issuers + verbs: + - '*' + - apiGroups: + - cert-manager.io + resources: + - certificaterequests + - certificates + - issuers + verbs: + - create + - delete + - deletecollection + - patch + - update + - apiGroups: + - cert-manager.io + resources: + - certificaterequests/finalizers + - certificates/finalizers + verbs: + - update + - apiGroups: + - cert-manager.io + resources: + - certificaterequests/status + - certificates/status + verbs: + - patch + - update + - apiGroups: + - cert-manager.io + resources: + - clusterissuers + - clusterissuers/status + verbs: + - get + - list + - patch + - update + - watch + - apiGroups: + - cert-manager.io + resourceNames: + - cert-manager-cainjector-leader-election + - cert-manager-cainjector-leader-election-core + resources: + - configmaps + verbs: + - get + - patch + - update + - apiGroups: + - cert-manager.io + resources: + - issuers + - issuers/status + verbs: + - get + - list + - patch + - update + - watch + - apiGroups: + - cert-manager.io + resourceNames: + - clusterissuers.cert-manager.io/* + - issuers.cert-manager.io/* + resources: + - signers + verbs: + - approve + - apiGroups: + - certificates.k8s.io + resources: + - certificatesigningrequests + verbs: + - get + - list + - update + - watch + - apiGroups: + - certificates.k8s.io + resources: + - certificatesigningrequests/status + verbs: + - patch + - update + - apiGroups: + - certificates.k8s.io + resourceNames: + - clusterissuers.cert-manager.io/* + - issuers.cert-manager.io/* + resources: + - signers + verbs: + - sign + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - coordination.k8s.io + resourceNames: + - cert-manager-cainjector-leader-election + - cert-manager-cainjector-leader-election-core + resources: + - leases + verbs: + - get + - patch + - update + - apiGroups: + - coordination.k8s.io + resourceNames: + - cert-manager-controller + resources: + - leases + verbs: + - get + - patch + - update + - apiGroups: + - coordination.k8s.io + resourceNames: + - ingress-controller-leader + resources: + - leases + verbs: + - get + - patch + - update + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - list + - watch + - apiGroups: + - csi.storage.k8s.io + resources: + - csinodeinfos + verbs: + - get + - list + - watch + - apiGroups: + - csm-authorization.storage.dell.com + resources: + - csmroles + verbs: + - create + - delete + - patch + - update + - watch + - apiGroups: + - csm-authorization.storage.dell.com + resources: + - csmroles + - csmtenants + - storages + verbs: + - get + - list + - apiGroups: + - csm-authorization.storage.dell.com + resources: + - csmroles/finalizers + verbs: + - update + - apiGroups: + - csm-authorization.storage.dell.com + resources: + - csmroles/status + verbs: + - get + - patch + - update + - apiGroups: + - csm-authorization.storage.dell.com + resources: + - csmtenants + verbs: + - create + - delete + - patch + - update + - watch + - apiGroups: + - csm-authorization.storage.dell.com + resources: + - csmtenants/finalizers + verbs: + - update + - apiGroups: + - csm-authorization.storage.dell.com + resources: + - csmtenants/status + verbs: + - get + - patch + - update + - apiGroups: + - csm-authorization.storage.dell.com + resources: + - storages + verbs: + - create + - delete + - patch + - update + - watch + - apiGroups: + - csm-authorization.storage.dell.com + resources: + - storages/finalizers + verbs: + - update + - apiGroups: + - csm-authorization.storage.dell.com + resources: + - storages/status + verbs: + - get + - patch + - update + - apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - get + - list + - watch + - apiGroups: + - gateway.networking.k8s.io + resources: + - gateways + - httproutes + verbs: + - get + - list + - watch + - apiGroups: + - gateway.networking.k8s.io + resources: + - gateways/finalizers + - httproutes/finalizers + verbs: + - update + - apiGroups: + - gateway.networking.k8s.io + resources: + - httproutes + verbs: + - create + - delete + - get + - list + - update + - watch + - apiGroups: + - mobility.storage.dell.com + resources: + - backups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - mobility.storage.dell.com + resources: + - backups/finalizers + verbs: + - update + - apiGroups: + - mobility.storage.dell.com + resources: + - backups/status + verbs: + - get + - patch + - update + - apiGroups: + - mobility.storage.dell.com + resources: + - clusterconfigs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - mobility.storage.dell.com + resources: + - clusterconfigs/finalizers + verbs: + - update + - apiGroups: + - mobility.storage.dell.com + resources: + - clusterconfigs/status + verbs: + - get + - patch + - update + - apiGroups: + - mobility.storage.dell.com + resources: + - podvolumebackups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - mobility.storage.dell.com + resources: + - podvolumebackups/finalizers + verbs: + - update + - apiGroups: + - mobility.storage.dell.com + resources: + - podvolumebackups/status + verbs: + - get + - patch + - update + - apiGroups: + - mobility.storage.dell.com + resources: + - podvolumerestores + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - mobility.storage.dell.com + resources: + - podvolumerestores/finalizers + verbs: + - update + - apiGroups: + - mobility.storage.dell.com + resources: + - podvolumerestores/status + verbs: + - get + - patch + - update + - apiGroups: + - mobility.storage.dell.com + resources: + - restores + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - mobility.storage.dell.com + resources: + - restores/finalizers + verbs: + - update + - apiGroups: + - mobility.storage.dell.com + resources: + - restores/status + verbs: + - get + - patch + - update + - apiGroups: + - mobility.storage.dell.com + resources: + - schedules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - mobility.storage.dell.com + resources: + - schedules/status + verbs: + - get + - patch + - update + - apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - create + - get + - apiGroups: + - networking.k8s.io + resources: + - ingressclasses + verbs: + - create + - delete + - get + - list + - update + - watch + - apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - '*' + - apiGroups: + - networking.k8s.io + resources: + - ingresses/finalizers + verbs: + - update + - apiGroups: + - networking.k8s.io + resources: + - ingresses/status + verbs: + - get + - list + - update + - watch + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - clusterroles + - replicasets + - rolebindings + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterroles/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - rbac.authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create + - apiGroups: + - replication.storage.dell.com + resources: + - dellcsireplicationgroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - replication.storage.dell.com + resources: + - dellcsireplicationgroups/status + verbs: + - get + - patch + - update + - apiGroups: + - route.openshift.io + resources: + - routes/custom-host + verbs: + - create + - apiGroups: + - security.openshift.io + resourceNames: + - privileged + resources: + - securitycontextconstraints + verbs: + - use + - apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshotclasses + - volumesnapshotcontents + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshotcontents/status + verbs: + - get + - list + - patch + - update + - watch + - apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshots + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshots/status + verbs: + - get + - list + - patch + - update + - watch + - apiGroups: + - storage.dell.com + resources: + - apexconnectivityclients + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - storage.dell.com + resources: + - apexconnectivityclients/finalizers + verbs: + - update + - apiGroups: + - storage.dell.com + resources: + - apexconnectivityclients/status + verbs: + - get + - patch + - update + - apiGroups: + - storage.dell.com + resources: + - containerstoragemodules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - storage.dell.com + resources: + - containerstoragemodules/finalizers + verbs: + - update + - apiGroups: + - storage.dell.com + resources: + - containerstoragemodules/status + verbs: + - get + - patch + - update + - apiGroups: + - storage.k8s.io + resources: + - csidrivers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - storage.k8s.io + resources: + - csinodes + verbs: + - create + - get + - list + - update + - watch + - apiGroups: + - storage.k8s.io + resources: + - csistoragecapacities + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - storage.k8s.io + resources: + - storageclasses + verbs: + - create + - delete + - get + - list + - update + - watch + - apiGroups: + - storage.k8s.io + resources: + - volumeattachments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - storage.k8s.io + resources: + - volumeattachments/status + verbs: + - patch + - apiGroups: + - velero.io + resources: + - backuprepositories + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - velero.io + resources: + - backups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - velero.io + resources: + - backups/finalizers + verbs: + - update + - apiGroups: + - velero.io + resources: + - backups/status + verbs: + - get + - list + - patch + - update + - apiGroups: + - velero.io + resources: + - backupstoragelocations + verbs: + - get + - list + - patch + - update + - watch + - apiGroups: + - velero.io + resources: + - deletebackuprequests + verbs: + - create + - delete + - get + - list + - watch + - apiGroups: + - velero.io + resources: + - podvolumebackups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - velero.io + resources: + - podvolumebackups/finalizers + verbs: + - update + - apiGroups: + - velero.io + resources: + - podvolumebackups/status + verbs: + - create + - get + - list + - patch + - update + - apiGroups: + - velero.io + resources: + - podvolumerestores + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - velero.io + resources: + - restores + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - volumegroup.storage.dell.com + resources: + - dellcsivolumegroupsnapshots + - dellcsivolumegroupsnapshots/status + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + serviceAccountName: dell-csm-operator-manager-service-account + deployments: + - label: + control-plane: controller-manager + name: dell-csm-operator-controller-manager + spec: + replicas: 1 + selector: + matchLabels: + control-plane: controller-manager + strategy: {} + template: + metadata: + annotations: + storage.dell.com/CSMVersion: v1.11.0 + labels: + control-plane: controller-manager + spec: + containers: + - args: + - --secure-listen-address=0.0.0.0:8443 + - --upstream=http://127.0.0.1:8080/ + - --logtostderr=true + - --v=10 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 + name: kube-rbac-proxy + ports: + - containerPort: 8443 + name: https + protocol: TCP + resources: {} + - args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + command: + - /manager + env: + - name: RELATED_IMAGE_dell-csm-operator + value: docker.io/dellemc/dell-csm-operator:v1.6.1 + - name: RELATED_IMAGE_csi-isilon + value: docker.io/dellemc/csi-isilon:v2.11.0 + - name: RELATED_IMAGE_csi-powermax + value: docker.io/dellemc/csi-powermax:v2.11.0 + - name: RELATED_IMAGE_csipowermax-reverseproxy + value: docker.io/dellemc/csipowermax-reverseproxy:v2.10.0 + - name: RELATED_IMAGE_csi-powerstore + value: docker.io/dellemc/csi-powerstore:v2.11.1 + - name: RELATED_IMAGE_csi-unity + value: docker.io/dellemc/csi-unity:v2.11.1 + - name: RELATED_IMAGE_csi-vxflexos + value: docker.io/dellemc/csi-vxflexos:v2.11.0 + - name: RELATED_IMAGE_sdc + value: docker.io/dellemc/sdc:4.5.2.1 + - name: RELATED_IMAGE_karavi-authorization-proxy + value: docker.io/dellemc/csm-authorization-sidecar:v1.11.0 + - name: RELATED_IMAGE_dell-csi-replicator + value: docker.io/dellemc/dell-csi-replicator:v1.9.0 + - name: RELATED_IMAGE_dell-replication-controller-manager + value: docker.io/dellemc/dell-replication-controller:v1.9.0 + - name: RELATED_IMAGE_topology + value: docker.io/dellemc/csm-topology:v1.9.0 + - name: RELATED_IMAGE_otel-collector + value: docker.io/otel/opentelemetry-collector:0.42.0 + - name: RELATED_IMAGE_metrics-powerscale + value: docker.io/dellemc/csm-metrics-powerscale:v1.6.0 + - name: RELATED_IMAGE_metrics-powermax + value: docker.io/dellemc/csm-metrics-powermax:v1.4.0 + - name: RELATED_IMAGE_metrics-powerflex + value: docker.io/dellemc/csm-metrics-powerflex:v1.9.0 + - name: RELATED_IMAGE_podmon-node + value: docker.io/dellemc/podmon:v1.10.0 + - name: RELATED_IMAGE_kube-rbac-proxy + value: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 + - name: RELATED_IMAGE_attacher + value: registry.k8s.io/sig-storage/csi-attacher:v4.6.1 + - name: RELATED_IMAGE_provisioner + value: registry.k8s.io/sig-storage/csi-provisioner:v5.0.1 + - name: RELATED_IMAGE_snapshotter + value: registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1 + - name: RELATED_IMAGE_registrar + value: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.1 + - name: RELATED_IMAGE_resizer + value: registry.k8s.io/sig-storage/csi-resizer:v1.11.1 + - name: RELATED_IMAGE_externalhealthmonitorcontroller + value: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.12.1 + - name: RELATED_IMAGE_metadataretriever + value: dellemc/csi-metadata-retriever:v1.8.0 + - name: RELATED_IMAGE_dell-connectivity-client + value: docker.io/dellemc/connectivity-client-docker-k8s:1.19.0 + - name: RELATED_IMAGE_cert-persister + value: docker.io/dellemc/connectivity-cert-persister-k8s:0.11.0 + image: docker.io/dellemc/dell-csm-operator:v1.6.1 + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + name: manager + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + limits: + cpu: 200m + memory: 512Mi + requests: + cpu: 100m + memory: 192Mi + securityContext: + allowPrivilegeEscalation: false + securityContext: + runAsNonRoot: true + serviceAccountName: dell-csm-operator-manager-service-account + terminationGracePeriodSeconds: 10 + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - Dell Container Storage Modules + - Dell CSI Driver + - Dell CSM Modules + - Powerflex + - Powerscale + - Powerstore + - Unity + - Authorization + - Observability + - Replication + links: + - name: Documentation + url: https://dell.github.io/csm-docs/docs/deployment/csmoperator/ + maintainers: + - email: container.storage.modules@dell.com + name: Dell Container Storage Modules + maturity: stable + minKubeVersion: 1.24.0 + provider: + name: Dell Technologies + url: https://github.com/dell/csm-operator + relatedImages: + - image: docker.io/dellemc/dell-csm-operator:v1.6.1 + name: dell-csm-operator + - image: docker.io/dellemc/csi-isilon:v2.11.0 + name: csi-isilon + - image: docker.io/dellemc/csi-powermax:v2.11.0 + name: csi-powermax + - image: docker.io/dellemc/csipowermax-reverseproxy:v2.10.0 + name: csipowermax-reverseproxy + - image: docker.io/dellemc/csi-powerstore:v2.11.1 + name: csi-powerstore + - image: docker.io/dellemc/csi-unity:v2.11.1 + name: csi-unity + - image: docker.io/dellemc/csi-vxflexos:v2.11.0 + name: csi-vxflexos + - image: docker.io/dellemc/sdc:4.5.2.1 + name: sdc + - image: docker.io/dellemc/csm-authorization-sidecar:v1.11.0 + name: karavi-authorization-proxy + - image: docker.io/dellemc/dell-csi-replicator:v1.9.0 + name: dell-csi-replicator + - image: docker.io/dellemc/dell-replication-controller:v1.9.0 + name: dell-replication-controller-manager + - image: docker.io/dellemc/csm-topology:v1.9.0 + name: topology + - image: docker.io/otel/opentelemetry-collector:0.42.0 + name: otel-collector + - image: docker.io/dellemc/csm-metrics-powerscale:v1.6.0 + name: metrics-powerscale + - image: docker.io/dellemc/csm-metrics-powermax:v1.4.0 + name: metrics-powermax + - image: docker.io/dellemc/csm-metrics-powerflex:v1.9.0 + name: metrics-powerflex + - image: docker.io/dellemc/podmon:v1.10.0 + name: podmon-node + - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 + name: kube-rbac-proxy + - image: registry.k8s.io/sig-storage/csi-attacher:v4.6.1 + name: attacher + - image: registry.k8s.io/sig-storage/csi-provisioner:v5.0.1 + name: provisioner + - image: registry.k8s.io/sig-storage/csi-snapshotter:v8.0.1 + name: snapshotter + - image: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.10.1 + name: registrar + - image: registry.k8s.io/sig-storage/csi-resizer:v1.11.1 + name: resizer + - image: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.12.1 + name: externalhealthmonitorcontroller + - image: dellemc/csi-metadata-retriever:v1.8.0 + name: metadataretriever + - image: docker.io/dellemc/connectivity-client-docker-k8s:1.19.0 + name: dell-connectivity-client + - image: docker.io/dellemc/connectivity-cert-persister-k8s:0.11.0 + name: cert-persister + replaces: dell-csm-operator.v1.6.0 + version: 1.6.1 diff --git a/operators/dell-csm-operator/1.6.1/metadata/annotations.yaml b/operators/dell-csm-operator/1.6.1/metadata/annotations.yaml new file mode 100644 index 00000000000..64cae78f260 --- /dev/null +++ b/operators/dell-csm-operator/1.6.1/metadata/annotations.yaml @@ -0,0 +1,18 @@ +annotations: + # Core bundle annotations. + operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.manifests.v1: manifests/ + operators.operatorframework.io.bundle.metadata.v1: metadata/ + operators.operatorframework.io.bundle.package.v1: dell-csm-operator + operators.operatorframework.io.bundle.channels.v1: stable + operators.operatorframework.io.bundle.channel.default.v1: stable + operators.operatorframework.io.metrics.builder: operator-sdk-v1.37.0 + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 + + # Annotations for testing. + operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ + + # Annotations to specify supported OCP versions. + com.redhat.openshift.versions: "v4.15" diff --git a/operators/dell-csm-operator/1.6.1/tests/scorecard/config.yaml b/operators/dell-csm-operator/1.6.1/tests/scorecard/config.yaml new file mode 100644 index 00000000000..2cbf8825d2a --- /dev/null +++ b/operators/dell-csm-operator/1.6.1/tests/scorecard/config.yaml @@ -0,0 +1,70 @@ +apiVersion: scorecard.operatorframework.io/v1alpha3 +kind: Configuration +metadata: + name: config +stages: +- parallel: true + tests: + - entrypoint: + - scorecard-test + - basic-check-spec + image: quay.io/operator-framework/scorecard-test:v1.13.1 + labels: + suite: basic + test: basic-check-spec-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-bundle-validation + image: quay.io/operator-framework/scorecard-test:v1.13.1 + labels: + suite: olm + test: olm-bundle-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-validation + image: quay.io/operator-framework/scorecard-test:v1.13.1 + labels: + suite: olm + test: olm-crds-have-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-resources + image: quay.io/operator-framework/scorecard-test:v1.13.1 + labels: + suite: olm + test: olm-crds-have-resources-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-spec-descriptors + image: quay.io/operator-framework/scorecard-test:v1.13.1 + labels: + suite: olm + test: olm-spec-descriptors-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-status-descriptors + image: quay.io/operator-framework/scorecard-test:v1.13.1 + labels: + suite: olm + test: olm-status-descriptors-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {}