diff --git a/config-templates/redhat/odf-local/4.21/custom-parameters.json b/config-templates/redhat/odf-local/4.21/custom-parameters.json
deleted file mode 100644
index 8ed738b9a..000000000
--- a/config-templates/redhat/odf-local/4.21/custom-parameters.json
+++ /dev/null
@@ -1,391 +0,0 @@
-[
- {
- "description": "Automatically discover and use the storage volumes on your worker nodes. If set to 'false' then you must explicitly provide the volumes IDs.",
- "displayname": "Automatic storage volume discovery",
- "name": "auto-discover-devices",
- "default": "true",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true"
- },
- {
- "description": "The local storage device path. Example: '/dev/sdc'. Required when 'auto-discover-devices' is set to 'false'.",
- "displayname": "OSD volume IDs",
- "name": "osd-device-path",
- "place-holder": "/dev/sdc,/dev/sde",
- "required": "false",
- "mutable": "true"
- },
- {
- "description": "The number of storage device replicas to create. The default value is '1', which creates 1 device across 3 nodes. Increase by 1 for each additional set of 3 devices. For must use cases, leave the default value of '1'.",
- "displayname": "Number of OSD volumes",
- "name": "num-of-osd",
- "default": "1",
- "regex": "^[1-9]([0-9]?)$",
- "min-length": 1,
- "max-length": 2,
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Specify a comma separated list of either the names or the IDs of the worker pools you want to use for ODF. Leave this field blank if you want to use 'worker-nodes'. If you want to use all the worker nodes in your cluster for ODF, then leave 'worker-pools' and 'worker-nodes' blank.",
- "displayname": "Worker pools names/IDs",
- "name": "worker-pools",
- "required": "false",
- "mutable": "true",
- "regex": "^([a-zA-Z0-9][a-zA-Z0-9-_.,]*[a-zA-Z0-9])$"
- },
- {
- "description": "A comma separated list of the worker node names where you want to deploy ODF. Leave this field blank if you want to use 'worker-pools'. If you want to use all the worker nodes in your cluster for ODF, then then leave 'worker-nodes' and 'worker-pools' blank. The minimum number of worker nodes is 3. You can find your worker node names by running 'oc get nodes'.",
- "displayname": "Worker node names",
- "name": "worker-nodes",
- "required": "false",
- "mutable": "true",
- "regex": "^([a-zA-Z0-9][a-zA-Z0-9-_.,]*[a-zA-Z0-9])$"
- },
- {
- "description": "If you are upgrading an existing ODF installation, set to 'true'.",
- "displayname": "Upgrade",
- "name": "odf-upgrade",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "required": "true",
- "type": "boolean",
- "mutable": "true"
- },
- {
- "description": "The billing type you want to use. Choose from 'essentials' or 'advanced'.",
- "displayname": "Billing type",
- "name": "billing-type",
- "default": "advanced",
- "regex": "^(?:essentials|advanced)$",
- "min-length": 8,
- "max-length": 10,
- "supported-values": ["essentials", "advanced"],
- "required": "true"
- },
- {
- "description": "The IBM COS regional public endpoint.",
- "displayname": "IBM COS endpoint",
- "name": "ibm-cos-endpoint",
- "place-holder": "https://s3.us-east.cloud-object-storage.appdomain.cloud",
- "required": "false"
- },
- {
- "description": "The location constraint that you want to use when creating your COS bucket. For example: 'us-east-standard'.",
- "displayname": "IBM COS location constraint",
- "name": "ibm-cos-location",
- "place-holder": "us-east-standard",
- "required": "false"
- },
- {
- "description": "Your IBM COS HMAC access key ID .",
- "displayname": "Access key ID",
- "name": "ibm-cos-access-key",
- "category": "secret",
- "required": "false",
- "obfuscate": "true",
- "mutable": "true"
- },
- {
- "description": "Your IBM COS HMAC secret access key.",
- "displayname": "Secret access key",
- "name": "ibm-cos-secret-key",
- "category": "secret",
- "required": "false",
- "obfuscate": "true",
- "mutable": "true"
- },
- {
- "description": "Set to 'true' if you want to enable cluster-wide encryption.",
- "displayname": "Encryption enabled",
- "name": "cluster-encryption",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true"
- },
- {
- "description": "Your IAM API key.",
- "displayname": "IAM API key",
- "name": "iam-api-key",
- "category": "secret",
- "obfuscate": "true",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Set to 'true' if you want to perform complete cleanup of ODF on assignment deletion.",
- "displayname": "Perform Cleanup",
- "name": "perform-cleanup",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "required": "true",
- "type": "boolean",
- "mutable": "true"
- },
- {
- "description": "Set to 'true' if you want to enable storage class encryption.",
- "displayname": "KMS encryption",
- "name": "kms-encryption",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "required": "true",
- "type": "boolean"
- },
- {
- "description": "Your KMS instance name. The instance name must only include alphanumeric characters, '-', '_' or '.' and start and end with an alphanumeric character.",
- "displayname": "KMS instance name",
- "name": "kms-instance-name",
- "regex": "^([a-zA-Z0-9]*[a-zA-Z0-9-_.]*[a-zA-Z0-9])$",
- "min-length": 1,
- "max-length": 63,
- "required": "false"
- },
- {
- "description": " Your KMS instance id.",
- "displayname": "KMS instance id",
- "name": "kms-instance-id",
- "required": "false"
- },
- {
- "description": " Your KMS instance public URL to connect to the instance.",
- "displayname": "KMS instance Base URL",
- "name": "kms-base-url",
- "required": "false"
- },
- {
- "description": "API key token URL to generate token for KMS instance.",
- "displayname": "KMS instance API key token URL",
- "name": "kms-token-url",
- "place-holder": "https://iam.cloud.ibm.com/oidc/token",
- "required": "false"
- },
- {
- "description": "KMS root key of your instance.",
- "displayname": "KMS root key",
- "name": "kms-root-key",
- "required": "false",
- "category": "secret",
- "obfuscate": "true"
- },
- {
- "description": "IAM API key to access the KMS instance. The API key that you provide must have at least Viewer access to the KMS instance.",
- "displayname": "KMS IAM API key",
- "name": "kms-api-key",
- "required": "false",
- "category": "secret",
- "obfuscate": "true"
- },
- {
- "description": "Set to 'false' if you want to deploy MultiCloud Object Gateway (Noobaa)",
- "displayname": "Ignore Noobaa",
- "name": "ignore-noobaa",
- "default": "true",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Set to 'true' if you want to disable Noobaa public load balancer",
- "displayname": "Disable Noobaa LB",
- "name": "disable-noobaa-LB",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Set to 'true' if you want to enable in-transit encryption",
- "displayname": "In-transit Encryption",
- "name": "encryption-intransit",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Enabling this feature creates a single replica pool without data replication, increasing the risk of data loss, data corruption, and potential system instability. Once it is enabled, it cannot be disabled",
- "displayname": "Add Single Replica Pool(once enabled, cannot be disabled)",
- "name": "add-single-replica-pool",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "When set the selected worker nodes will be dedicated to Data Foundation use only",
- "displayname": "Taint Nodes",
- "name": "taint-nodes",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Allow exports from the Network File System (NFS) that can then be accessed internally or externally from the OpenShift cluster",
- "displayname": "Enable NFS",
- "name": "enable-nfs",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Set the Ceph RADOS block device (RBD) storage class as the default storage class during the deployment of OpenShift Data Foundation",
- "displayname": "Use Ceph RBD As Default Storage Class",
- "name": "use-ceph-rbd-as-default-storage-class",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "false"
- },
- {
- "description": "Choose a resource profile based on the availability of resources during deployment. Choose between 'lean', 'balanced' and 'performance'.",
- "displayname": "Resource Profile",
- "name": "resource-profile",
- "default": "balanced",
- "regex": "^(?:lean|balanced|performance)$",
- "min-length": 4,
- "max-length": 11,
- "supported-values": ["lean", "balanced", "performance"],
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "If enabled, RBD virtualization StorageClass will be marked as the default for KubeVirt VM disks (persistent volumes) upon installation.",
- "displayname": "Set default StorageClass for virtualization",
- "name": "set-default-storage-class-for-virtualization",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "To automatically add additional raw capacity equivalent to the configured deployment size whenever used capacity reaches 70%.",
- "displayname": "Enable automatic capacity scaling",
- "name": "enable-automatic-capacity-scaling",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "The maximum limit to which the cluster can expand in the cloud. Automatic capacity scaling is suspended if exceeded.",
- "displayname": "Cluster expansion limit",
- "name": "cluster-expansion-limit",
- "default": "12Ti",
- "regex": "^(12|24|48|72|96|120|144|168|192|216|240|264|288|312|336|360|384|408|432|456|480|504|528|552|576|600|624|648|672|696|720|744|768)Ti$",
- "min-length": 4,
- "max-length": 5,
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "If enabled, automatic scheduled backups will be created for the MultiCloud Object Gateway metadata database.",
- "displayname": "Enable Automatic Backup",
- "name": "enable-automatic-backup",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Defines how often automatic backups of the MultiCloud Object Gateway metadata database are created.",
- "displayname": "Backup Frequency",
- "name": "backup-frequency",
- "default": "@daily",
- "regex": "^(@daily|@weekly|@monthly)$",
- "min-length": 6,
- "max-length": 8,
- "supported-values": [
- "@daily",
- "@weekly",
- "@monthly"
- ],
- "type": "string",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "The maximum number of automatic backup copies to retain for the MultiCloud Object Gateway metadata database.",
- "displayname": "Num Of Backup Copies",
- "name": "num-of-backup-copies",
- "default": "5",
- "regex": "^(?:[1-9]|1[0-2])$",
- "min-length": 1,
- "max-length": 2,
- "supported-values": [
- "1",
- "2",
- "3",
- "4",
- "5",
- "6",
- "7",
- "8",
- "9",
- "10",
- "11",
- "12"
- ],
- "type": "integer",
- "required": "true",
- "mutable": "true"
- }
-]
diff --git a/config-templates/redhat/odf-local/4.21/deployment.yaml b/config-templates/redhat/odf-local/4.21/deployment.yaml
deleted file mode 100644
index 67e07e26a..000000000
--- a/config-templates/redhat/odf-local/4.21/deployment.yaml
+++ /dev/null
@@ -1,667 +0,0 @@
-apiVersion: v1
-kind: List
-metadata:
- name: ibm-openshift-container-storage
- namespace: kube-system
- annotations:
- revision: 1
-items:
- - apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.14.0
- name: ocsclusters.ocs.ibm.io
- labels:
- deploy.razee.io/Reconcile: "false"
- spec:
- group: ocs.ibm.io
- names:
- kind: OcsCluster
- listKind: OcsClusterList
- plural: ocsclusters
- singular: ocscluster
- scope: Cluster
- versions:
- - name: v1
- schema:
- openAPIV3Schema:
- description: OcsCluster is the Schema for the ocsclusters 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: OcsClusterSpec defines the desired state of OcsCluster
- properties:
- addSingleReplicaPool:
- default: false
- type: boolean
- autoDiscoverDevices:
- default: false
- type: boolean
- billingType:
- default: advanced
- enum:
- - essentials
- - advanced
- type: string
- clusterEncryption:
- default: false
- type: boolean
- disableNoobaaLB:
- default: false
- type: boolean
- enableNFS:
- default: false
- type: boolean
- encryptionInTransit:
- default: false
- type: boolean
- hpcsBaseUrl:
- type: string
- hpcsEncryption:
- default: false
- type: boolean
- hpcsInstanceId:
- type: string
- hpcsSecretName:
- type: string
- hpcsServiceName:
- type: string
- hpcsTokenUrl:
- type: string
- ignoreNoobaa:
- default: false
- type: boolean
- numOfOsd:
- default: 1
- type: integer
- ocsUpgrade:
- default: false
- type: boolean
- osdStorageClassName:
- type: string
- osdDevicePaths:
- items:
- type: string
- type: array
- osdSize:
- type: string
- resourceProfile:
- default: balanced
- type: string
- taintNodes:
- default: false
- type: boolean
- useCephRBDAsDefaultStorageClass:
- default: false
- type: boolean
- setDefaultStorageClassForVirtualization:
- default: false
- type: boolean
- enableAutomaticCapacityScaling:
- default: false
- type: boolean
- clusterExpansionLimit:
- default: "12Ti"
- type: string
- enableAutomaticBackup:
- default: false
- type: boolean
- backupFrequency:
- default: '@daily'
- enum:
- - '@daily'
- - '@weekly'
- - '@monthly'
- type: string
- numOfBackupCopies:
- default: 1
- maximum: 12
- minimum: 1
- type: integer
- workerNodes:
- items:
- type: string
- type: array
- workerPools:
- items:
- type: string
- type: array
- required:
- - osdSize
- - osdStorageClassName
- type: object
- status:
- description: OcsClusterStatus defines the observed state of OcsCluster
- properties:
- storageAutoScalerStatus:
- type: string
- storageClusterStatus:
- description: 'INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run "make" to regenerate code after modifying this file'
- type: string
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
- status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
- - apiVersion: rbac.authorization.k8s.io/v1
- kind: Role
- metadata:
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- name: ibm-ocs-operator-leader-election-role
- namespace: kube-system
- rules:
- - apiGroups:
- - ""
- resources:
- - configmaps
- verbs:
- - get
- - list
- - watch
- - create
- - update
- - patch
- - delete
- - apiGroups:
- - ""
- resources:
- - configmaps/status
- verbs:
- - get
- - update
- - patch
- - apiGroups:
- - ""
- resources:
- - events
- verbs:
- - create
- - patch
- - apiGroups:
- - coordination.k8s.io
- resources:
- - leases
- verbs:
- - get
- - create
- - update
- - apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRole
- metadata:
- creationTimestamp: null
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- name: ibm-ocs-operator-manager-role
- rules:
- - apiGroups:
- - ""
- resources:
- - namespaces
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - ""
- resources:
- - persistentvolumes
- verbs:
- - deletecollection
- - apiGroups:
- - ""
- resources:
- - pods
- verbs:
- - get
- - list
- - watch
- - apiGroups:
- - ""
- resources:
- - secrets
- verbs:
- - delete
- - get
- - list
- - watch
- - apiGroups:
- - apps
- resources:
- - deployments
- verbs:
- - get
- - list
- - watch
- - apiGroups:
- - ceph.rook.io
- resources:
- - cephclusters
- verbs:
- - get
- - list
- - watch
- - apiGroups:
- - ""
- resources:
- - configmaps
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - ""
- resources:
- - nodes
- verbs:
- - get
- - list
- - patch
- - watch
- - update
- - apiGroups:
- - local.storage.openshift.io
- resources:
- - localvolumediscoveries
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - local.storage.openshift.io
- resources:
- - localvolumes
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - local.storage.openshift.io
- resources:
- - localvolumesets
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - noobaa.io
- resources:
- - noobaas
- verbs:
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - ocs.ibm.io
- resources:
- - ocsclusters
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - ocs.ibm.io
- resources:
- - ocsclusters/status
- verbs:
- - get
- - patch
- - update
- - apiGroups:
- - ocs.openshift.io
- resources:
- - storageclusters
- - storageautoscalers
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - odf.openshift.io
- resources:
- - storagesystems
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - operator.openshift.io
- resources:
- - consoles
- verbs:
- - get
- - list
- - patch
- - watch
- - apiGroups:
- - operators.coreos.com
- resources:
- - catalogsources
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - operators.coreos.com
- resources:
- - clusterserviceversions
- verbs:
- - get
- - list
- - watch
- - apiGroups:
- - operators.coreos.com
- resources:
- - operatorgroups
- - subscriptions
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - apiextensions.k8s.io
- resources:
- - customresourcedefinitions
- verbs:
- - get
- - list
- - watch
- - apiGroups:
- - csi.ceph.io
- resources:
- - drivers
- verbs:
- - get
- - list
- - patch
- - create
- - update
- - watch
- - apiVersion: rbac.authorization.k8s.io/v1
- kind: RoleBinding
- metadata:
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- name: ibm-ocs-operator-leader-election-rolebinding
- namespace: kube-system
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: ibm-ocs-operator-leader-election-role
- subjects:
- - kind: ServiceAccount
- name: default
- namespace: kube-system
- - apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRoleBinding
- metadata:
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- name: ibm-ocs-operator-manager-rolebinding
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: ibm-ocs-operator-manager-role
- subjects:
- - kind: ServiceAccount
- name: default
- namespace: kube-system
- - apiVersion: apps/v1
- kind: Deployment
- metadata:
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- name: ocs-controller
- name: ibm-ocs-operator-controller-manager
- namespace: kube-system
- spec:
- replicas: 1
- selector:
- matchLabels:
- name: ocs-controller
- template:
- metadata:
- labels:
- name: ocs-controller
- spec:
- priorityClassName: system-cluster-critical
- securityContext:
- runAsNonRoot: true
- runAsUser: 1000
- containers:
- - args:
- - --enable-leader-election
- - "--sidecarEndpoint=$(SIDECAREP)"
- command:
- - /app/manager
- env:
- - name: CHANNEL
- value: stable-4.21
- - name: WATCH_NAMESPACE
- value: openshift-storage
- - name: ADDON_CONFIGMAP_NAMESPACE
- value: kube-system
- - name: IKS_ENABLED
- value: "true"
- - name: SIDECAREP
- value: "/csi/provider.sock"
- - name: CUSTOM_CATALOG_SOURCE_IMAGE
- value: "icr.io/armada-extensions/custom-redhat-operator-index:v4.21.3-odf"
- volumeMounts:
- - name: cluster-info
- readOnly: true
- mountPath: /etc/storage_ibmc/cluster_info
- - mountPath: /csi
- name: socket-dir
- image: "icr.io/armada-extensions/ibm-ocs-operator:v4.21.3"
- imagePullPolicy: IfNotPresent
- name: manager
- securityContext:
- privileged: false
- allowPrivilegeEscalation: false
- resources:
- limits:
- cpu: 500m
- memory: 500Mi
- requests:
- cpu: 100m
- memory: 100Mi
- - name: storage-secret-sidecar
- image: "icr.io/obs/armada-storage-secret:v1.2.85"
- imagePullPolicy: IfNotPresent
- args:
- - "--endpoint=$(ENDPOINT)"
- env:
- - name: ENDPOINT
- value: "unix:/sidecardir/provider.sock"
- - name: TOKEN_EXPIRY_DIFF
- value: "40m"
- - name: PROFILE_CAPACITY
- value: "1"
- resources:
- limits:
- cpu: 40m
- memory: 80Mi
- requests:
- cpu: 10m
- memory: 20Mi
- volumeMounts:
- - mountPath: /sidecardir
- name: socket-dir
- - mountPath: /var/run/secrets/tokens
- name: vault-token
- volumes:
- - name: cluster-info
- configMap:
- name: cluster-info
- - name: vault-token
- projected:
- sources:
- - serviceAccountToken:
- path: vault-token
- expirationSeconds: 600
- - emptyDir: {}
- name: socket-dir
- terminationGracePeriodSeconds: 10
- {{#ibm-cos-access-key}}
- - apiVersion: v1
- kind: Namespace
- metadata:
- labels:
- openshift.io/cluster-monitoring: "true"
- deploy.razee.io/Reconcile: "false"
- name: openshift-storage
- - apiVersion: v1
- kind: Secret
- metadata:
- name: ibm-cloud-cos-creds
- namespace: openshift-storage
- type: Opaque
- stringData:
- IBM_COS_Endpoint: {{{ ibm-cos-endpoint }}}
- IBM_COS_Location: {{ ibm-cos-location }}
- data:
- IBM_COS_ACCESS_KEY_ID: {{{ ibm-cos-access-key }}}
- IBM_COS_SECRET_ACCESS_KEY: {{{ ibm-cos-secret-key }}}
- {{/ibm-cos-access-key}}
- {{#kms-root-key}}
- {{^ibm-cos-access-key}}
- - apiVersion: v1
- kind: Namespace
- metadata:
- labels:
- openshift.io/cluster-monitoring: "true"
- deploy.razee.io/Reconcile: "false"
- name: openshift-storage
- {{/ibm-cos-access-key}}
- - apiVersion: v1
- kind: Secret
- metadata:
- name: ibm-kms-creds
- namespace: openshift-storage
- type: Opaque
- data:
- IBM_KP_CUSTOMER_ROOT_KEY: {{{ kms-root-key }}}
- IBM_KP_SERVICE_API_KEY: {{{ kms-api-key }}}
- {{/kms-root-key}}
- - apiVersion: v1
- kind: Secret
- metadata:
- name: storage-secret-store
- namespace: kube-system
- type: Opaque
- data:
- iam_api_key: {{{ iam-api-key }}}
- - apiVersion: v1
- kind: ConfigMap
- metadata:
- name: managed-addon-options-osc
- namespace: kube-system
- data:
- odfDeploy: "true"
- osdStorageClassName: localblock
- osdSize: "1"
- {{#osd-device-path}}
- osdDevicePaths: {{{ osd-device-path }}}
- {{/osd-device-path}}
- numOfOsd: "{{ num-of-osd }}"
- ocsUpgrade: "{{ odf-upgrade }}"
- clusterEncryption: "{{ cluster-encryption }}"
- {{#worker-nodes}}
- workerNodes: {{{ worker-nodes }}}
- {{/worker-nodes}}
- {{#worker-pools}}
- workerPools: {{{ worker-pools }}}
- {{/worker-pools}}
- billingType: "{{ billing-type }}"
- autoDiscoverDevices: "{{ auto-discover-devices }}"
- hpcsEncryption: "{{ kms-encryption }}"
- {{#kms-encryption}}
- hpcsServiceName: "{{ kms-instance-name }}"
- hpcsInstanceId: "{{ kms-instance-id }}"
- hpcsSecretName: "ibm-kms-creds"
- hpcsBaseUrl: "{{{ kms-base-url }}}"
- hpcsTokenUrl: "{{{ kms-token-url }}}"
- {{/kms-encryption}}
- ignoreNoobaa: "{{ ignore-noobaa }}"
- encryptionInTransit: "{{ encryption-intransit }}"
- disableNoobaaLB: "{{ disable-noobaa-LB }}"
- addSingleReplicaPool: "{{ add-single-replica-pool }}"
- taintNodes: "{{ taint-nodes }}"
- enableNFS: "{{ enable-nfs }}"
- resourceProfile: "{{ resource-profile }}"
- useCephRBDAsDefaultStorageClass: "{{ use-ceph-rbd-as-default-storage-class }}"
- setDefaultStorageClassForVirtualization: "{{ set-default-storage-class-for-virtualization }}"
- enableAutomaticCapacityScaling: "{{ enable-automatic-capacity-scaling }}"
- clusterExpansionLimit: "{{ cluster-expansion-limit }}"
- enableAutomaticBackup: "{{ enable-automatic-backup }}"
- backupFrequency: "{{ backup-frequency }}"
- numOfBackupCopies: "{{ num-of-backup-copies }}"
- - apiVersion: satstorage.ibm.com/v1
- kind: SatStorageCleanup
- metadata:
- name: satstoragecleanup-odf-local
- namespace: "ibm-satellite-storage"
- spec:
- template-name: "odf-local"
- template-version: "4.21"
- template-namespace: "kube-system"
- perform-cleanup: {{ perform-cleanup }}
diff --git a/config-templates/redhat/odf-local/4.21/logo/odf-local.svg b/config-templates/redhat/odf-local/4.21/logo/odf-local.svg
deleted file mode 100644
index be5cb8376..000000000
--- a/config-templates/redhat/odf-local/4.21/logo/odf-local.svg
+++ /dev/null
@@ -1,1971 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-]>
-
diff --git a/config-templates/redhat/odf-local/4.21/metadata.json b/config-templates/redhat/odf-local/4.21/metadata.json
deleted file mode 100644
index d2c2a4e25..000000000
--- a/config-templates/redhat/odf-local/4.21/metadata.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "name": "4.21",
- "revision": "1",
- "enabled": "true",
- "status": "supported",
- "description": "ODF template for openshift 4.21 (Local storage)",
- "tags": [
- {
- "name": "provider",
- "value": "Red Hat"
- },
- {
- "name": "offering-name",
- "value": "openshift-data-foundation"
- },
- {
- "name": "offering-type",
- "value": "sds"
- },
- {
- "name": "provider-url",
- "value": "https://www.redhat.com/en/technologies/cloud-computing/openshift-data-foundation"
- },
- {
- "name": "support-msg",
- "value": "For support contact Red Hat"
- },
- {
- "name": "provider-logo",
- "value": "logo/odf-local.svg"
- },
- {
- "name": "supported-envs",
- "value": "OpenShift Container Platform"
- },
- {
- "name": "supported-ocp-versions",
- "value": "4.21, 4.22"
- },
- {
- "name": "volume-type",
- "value": "file,block,object"
- },
- {
- "name": "volume-encryption-at-rest",
- "value": "true"
- },
- {
- "name": "volume-encryption-in-transit",
- "value": "true"
- },
- {
- "name": "volume-snapshot",
- "value": "false"
- },
- {
- "name": "volume-availability",
- "value": "regional"
- },
- {
- "name": "volume-expansion",
- "value": "true"
- },
- {
- "name": "storageclass",
- "value": "gold"
- }
- ]
-}
diff --git a/config-templates/redhat/odf-local/4.21/storage-class.yaml b/config-templates/redhat/odf-local/4.21/storage-class.yaml
deleted file mode 100644
index 90b716bde..000000000
--- a/config-templates/redhat/odf-local/4.21/storage-class.yaml
+++ /dev/null
@@ -1,139 +0,0 @@
-apiVersion: v1
-kind: List
-items:
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-cephrbd-gold
- labels:
- app.kubernetes.io/name: "redhat-odf-local"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "block"
- storage-class-preference: "1"
- is-user-defined-class: "false"
- parameters:
- clusterID: openshift-storage
- csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner
- csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
- csi.storage.k8s.io/fstype: ext4
- csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node
- csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
- csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner
- csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
- imageFeatures: layering
- imageFormat: "2"
- pool: ocs-storagecluster-cephblockpool
- provisioner: openshift-storage.rbd.csi.ceph.com
- reclaimPolicy: Delete
- volumeBindingMode: Immediate
- allowVolumeExpansion: true
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-cephfs-gold
- labels:
- app.kubernetes.io/name: "redhat-odf-local"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "file"
- storage-class-preference: "1"
- is-user-defined-class: "false"
- parameters:
- clusterID: openshift-storage
- csi.storage.k8s.io/controller-expand-secret-name: rook-csi-cephfs-provisioner
- csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
- csi.storage.k8s.io/node-stage-secret-name: rook-csi-cephfs-node
- csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
- csi.storage.k8s.io/provisioner-secret-name: rook-csi-cephfs-provisioner
- csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
- fsName: ocs-storagecluster-cephfilesystem
- provisioner: openshift-storage.cephfs.csi.ceph.com
- reclaimPolicy: Delete
- volumeBindingMode: Immediate
- allowVolumeExpansion: true
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-cephrgw-gold
- labels:
- app.kubernetes.io/name: "redhat-odf-local"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "object"
- storage-class-preference: "2"
- is-user-defined-class: "false"
- parameters:
- objectStoreName: ocs-storagecluster-cephobjectstore
- objectStoreNamespace: openshift-storage
- region: us-east-1
- provisioner: openshift-storage.ceph.rook.io/bucket
- reclaimPolicy: Delete
- volumeBindingMode: Immediate
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-noobaa-gold
- labels:
- app.kubernetes.io/name: "redhat-odf-local"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "object"
- storage-class-preference: "1"
- is-user-defined-class: "false"
- parameters:
- bucketclass: noobaa-default-bucket-class
- provisioner: openshift-storage.noobaa.io/obc
- reclaimPolicy: Delete
- volumeBindingMode: Immediate
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-cephrbd-gold-metro
- labels:
- app.kubernetes.io/name: "redhat-odf-local"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "block"
- storage-class-preference: "2"
- is-user-defined-class: "false"
- parameters:
- clusterID: openshift-storage
- csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner
- csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
- csi.storage.k8s.io/fstype: ext4
- csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node
- csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
- csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner
- csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
- imageFeatures: layering
- imageFormat: "2"
- pool: ocs-storagecluster-cephblockpool
- provisioner: openshift-storage.rbd.csi.ceph.com
- reclaimPolicy: Delete
- volumeBindingMode: WaitForFirstConsumer
- allowVolumeExpansion: true
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-cephfs-gold-metro
- labels:
- app.kubernetes.io/name: "redhat-odf-local"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "file"
- storage-class-preference: "2"
- is-user-defined-class: "false"
- parameters:
- clusterID: openshift-storage
- csi.storage.k8s.io/controller-expand-secret-name: rook-csi-cephfs-provisioner
- csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
- csi.storage.k8s.io/node-stage-secret-name: rook-csi-cephfs-node
- csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
- csi.storage.k8s.io/provisioner-secret-name: rook-csi-cephfs-provisioner
- csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
- fsName: ocs-storagecluster-cephfilesystem
- provisioner: openshift-storage.cephfs.csi.ceph.com
- reclaimPolicy: Delete
- volumeBindingMode: WaitForFirstConsumer
- allowVolumeExpansion: true
diff --git a/config-templates/redhat/odf-local/changelog.json b/config-templates/redhat/odf-local/changelog.json
index 106ea9189..ffe35c5e1 100644
--- a/config-templates/redhat/odf-local/changelog.json
+++ b/config-templates/redhat/odf-local/changelog.json
@@ -1,20 +1,5 @@
[
{
- "4.21": {
- "status": "supported",
- "latest-revision": {
- "revision": "1",
- "release-date": "27 May 2026",
- "cves": "",
- "golang": "1.26.3",
- "ubi": "",
- "new-features": [
- "ODF 4.21 initial release"
- ],
- "fixes": [
- ]
- }
- },
"4.20": {
"status": "supported",
"latest-revision": {
diff --git a/config-templates/redhat/odf-remote/4.21/custom-parameters.json b/config-templates/redhat/odf-remote/4.21/custom-parameters.json
deleted file mode 100644
index 3fabd9638..000000000
--- a/config-templates/redhat/odf-remote/4.21/custom-parameters.json
+++ /dev/null
@@ -1,389 +0,0 @@
-[
- {
- "description": "The OSD storage size in Gi(Use 512Gi or more). The default value is '512Gi'.",
- "displayname": "OSD pod volume size",
- "name": "osd-size",
- "default": "512Gi",
- "regex": "^([5][1][2-9]Gi|[5][2-9][0-9]Gi|[6-9]{1}[0-9]{2}Gi|[1-9]{1}[0-9]{3,3}Gi|[1-9]{1}[0-9]{0,3}Ti)$",
- "min-length": 3,
- "max-length": 6,
- "place-holder": "512Gi",
- "required": "true"
- },
- {
- "description": "The storage class to use when dynamically provisioning volumes for the OSD pods.",
- "displayname": "OSD pod storage class",
- "name": "osd-storage-class",
- "regex": "^([a-zA-Z0-9]*[a-zA-Z0-9-_.]*[a-zA-Z0-9])$",
- "min-length": 1,
- "max-length": 40,
- "required": "true"
- },
- {
- "description": "The number of storage device replicas to create. The default value is '1', which creates 1 device across 3 nodes. Increase by 1 for each additional set of 3 devices. For must use cases, leave the default value of '1'.",
- "displayname": "Number of OSD volumes",
- "name": "num-of-osd",
- "default": "1",
- "regex": "^[1-9]([0-9]?)$",
- "min-length": 1,
- "max-length": 2,
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Specify a comma separated list of either the names or the IDs of the worker pools you want to use for ODF. Leave this field blank if you want to use 'worker-nodes'. If you want to use all the worker nodes in your cluster for ODF, then leave 'worker-pools' and 'worker-nodes' blank.",
- "displayname": "Worker pools names/IDs",
- "name": "worker-pools",
- "required": "false",
- "mutable": "true",
- "regex": "^([a-zA-Z0-9][a-zA-Z0-9-_.,]*[a-zA-Z0-9])$"
- },
- {
- "description": "A comma separated list of the worker node names where you want to deploy ODF. Leave this field blank if you want to use 'worker-pools'. If you want to use all the worker nodes in your cluster for ODF, then then leave 'worker-nodes' and 'worker-pools' blank. The minimum number of worker nodes is 3. You can find your worker node names by running 'oc get nodes'.",
- "displayname": "Worker node names",
- "name": "worker-nodes",
- "required": "false",
- "mutable": "true",
- "regex": "^([a-zA-Z0-9][a-zA-Z0-9-_.,]*[a-zA-Z0-9])$"
- },
- {
- "description": "If you are upgrading an existing ODF installation, set to 'true'.",
- "displayname": "Upgrade",
- "name": "odf-upgrade",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "required": "true",
- "type": "boolean",
- "mutable": "true"
- },
- {
- "description": "The billing type you want to use. Choose from 'essentials' or 'advanced'.",
- "displayname": "Billing type",
- "name": "billing-type",
- "default": "advanced",
- "regex": "^(?:essentials|advanced)$",
- "min-length": 8,
- "max-length": 10,
- "supported-values": ["essentials", "advanced"],
- "required": "true"
- },
- {
- "description": "The IBM COS regional public endpoint.",
- "displayname": "IBM COS endpoint",
- "name": "ibm-cos-endpoint",
- "place-holder": "https://s3.us-east.cloud-object-storage.appdomain.cloud",
- "required": "false"
- },
- {
- "description": "The location constraint that you want to use when creating your bucket. For example 'us-east-standard'.",
- "displayname": "IBM COS location constraint",
- "name": "ibm-cos-location",
- "place-holder": "us-east-standard",
- "required": "false"
- },
- {
- "description": "Your IBM COS HMAC access key ID .",
- "displayname": "Access key ID",
- "name": "ibm-cos-access-key",
- "category": "secret",
- "required": "false",
- "obfuscate": "true",
- "mutable": "true"
- },
- {
- "description": "Your IBM COS HMAC secret access key.",
- "displayname": "Secret access key",
- "name": "ibm-cos-secret-key",
- "category": "secret",
- "required": "false",
- "obfuscate": "true",
- "mutable": "true"
- },
- {
- "description": "Set to 'true' if you want to enable cluster-wide encryption.",
- "displayname": "Encryption enabled",
- "name": "cluster-encryption",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true"
- },
- {
- "description": "Your IAM API key.",
- "displayname": "IAM API key",
- "name": "iam-api-key",
- "category": "secret",
- "obfuscate": "true",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Set to 'true' if you want to perform complete cleanup of ODF on assignment deletion.",
- "displayname": "Perform Cleanup",
- "name": "perform-cleanup",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "required": "true",
- "type": "boolean",
- "mutable": "true"
- },
- {
- "description": "Set to 'true' if you want to enable storage class encryption.",
- "displayname": "KMS encryption",
- "name": "kms-encryption",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "required": "true",
- "type": "boolean"
- },
- {
- "description": "Your KMS instance name. The instance name must only include alphanumeric characters, '-', '_' or '.' and start and end with an alphanumeric character.",
- "displayname": "KMS instance name",
- "name": "kms-instance-name",
- "regex": "^([a-zA-Z0-9]*[a-zA-Z0-9-_.]*[a-zA-Z0-9])$",
- "min-length": 1,
- "max-length": 63,
- "required": "false"
- },
- {
- "description": "Your KMS instance id.",
- "displayname": "KMS instance id",
- "name": "kms-instance-id",
- "required": "false"
- },
- {
- "description": "Your KMS instance public URL to connect to the instance.",
- "displayname": "KMS instance Base URL",
- "name": "kms-base-url",
- "required": "false"
- },
- {
- "description": "API key token URL to generate token for KMS instance.",
- "displayname": "KMS instance API key token URL",
- "name": "kms-token-url",
- "place-holder": "https://iam.cloud.ibm.com/oidc/token",
- "required": "false"
- },
- {
- "description": "KMS root key of your instance.",
- "displayname": "KMS root key",
- "name": "kms-root-key",
- "required": "false",
- "category": "secret",
- "obfuscate": "true"
- },
- {
- "description": "IAM API key to access the KMS instance. The API key that you provide must have at least Viewer access to the KMS instance.",
- "displayname": "KMS IAM API key",
- "name": "kms-api-key",
- "required": "false",
- "category": "secret",
- "obfuscate": "true"
- },
- {
- "description": "Set to 'false' if you want to deploy MultiCloud Object Gateway (Noobaa)",
- "displayname": "Ignore Noobaa",
- "name": "ignore-noobaa",
- "default": "true",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true"
- },
- {
- "description": "Set to 'true' if you want to disable Noobaa public load balancer",
- "displayname": "Disable Noobaa LB",
- "name": "disable-noobaa-LB",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true"
- },
- {
- "description": "Set to 'true' if you want to enable in-transit encryption",
- "displayname": "In-transit Encryption",
- "name": "encryption-intransit",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Enabling this feature creates a single replica pool without data replication, increasing the risk of data loss, data corruption, and potential system instability. Once it is enabled, it cannot be disabled",
- "displayname": "Add Single Replica Pool(once enabled, cannot be disabled)",
- "name": "add-single-replica-pool",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "When set the selected worker nodes will be dedicated to Data Foundation use only",
- "displayname": "Taint Nodes",
- "name": "taint-nodes",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Allow exports from the Network File System (NFS) that can then be accessed internally or externally from the OpenShift cluster",
- "displayname": "Enable NFS",
- "name": "enable-nfs",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Set the Ceph RADOS block device (RBD) storage class as the default storage class during the deployment of OpenShift Data Foundation",
- "displayname": "Use Ceph RBD As Default Storage Class",
- "name": "use-ceph-rbd-as-default-storage-class",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "false"
- },
- {
- "description": "Choose a resource profile based on the availability of resources during deployment. Choose between 'lean', 'balanced' and 'performance'.",
- "displayname": "Resource Profile",
- "name": "resource-profile",
- "default": "balanced",
- "regex": "^(?:lean|balanced|performance)$",
- "min-length": 4,
- "max-length": 11,
- "supported-values": ["lean", "balanced", "performance"],
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "If enabled, RBD virtualization StorageClass will be marked as the default for KubeVirt VM disks (persistent volumes) upon installation.",
- "displayname": "Set default StorageClass for virtualization",
- "name": "set-default-storage-class-for-virtualization",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "To automatically add additional raw capacity equivalent to the configured deployment size whenever used capacity reaches 70%.",
- "displayname": "Enable automatic capacity scaling",
- "name": "enable-automatic-capacity-scaling",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "The maximum limit to which the cluster can expand in the cloud. Automatic capacity scaling is suspended if exceeded.",
- "displayname": "Cluster expansion limit",
- "name": "cluster-expansion-limit",
- "default": "12Ti",
- "regex": "^(12|24|48|72|96|120|144|168|192|216|240|264|288|312|336|360|384|408|432|456|480|504|528|552|576|600|624|648|672|696|720|744|768)Ti$",
- "min-length": 4,
- "max-length": 5,
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "If enabled, automatic scheduled backups will be created for the MultiCloud Object Gateway metadata database.",
- "displayname": "Enable Automatic Backup",
- "name": "enable-automatic-backup",
- "default": "false",
- "regex": "^(?:true|false)$",
- "min-length": 4,
- "max-length": 5,
- "supported-values": ["true", "false"],
- "type": "boolean",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "Defines how often automatic backups of the MultiCloud Object Gateway metadata database are created.",
- "displayname": "Backup Frequency",
- "name": "backup-frequency",
- "default": "@daily",
- "regex": "^(@daily|@weekly|@monthly)$",
- "min-length": 6,
- "max-length": 8,
- "supported-values": [
- "@daily",
- "@weekly",
- "@monthly"
- ],
- "type": "string",
- "required": "true",
- "mutable": "true"
- },
- {
- "description": "The maximum number of automatic backup copies to retain for the MultiCloud Object Gateway metadata database.",
- "displayname": "Num Of Backup Copies",
- "name": "num-of-backup-copies",
- "default": "5",
- "regex": "^(?:[1-9]|1[0-2])$",
- "min-length": 1,
- "max-length": 2,
- "supported-values": [
- "1",
- "2",
- "3",
- "4",
- "5",
- "6",
- "7",
- "8",
- "9",
- "10",
- "11",
- "12"
- ],
- "type": "integer",
- "required": "true",
- "mutable": "true"
- }
-]
diff --git a/config-templates/redhat/odf-remote/4.21/deployment.yaml b/config-templates/redhat/odf-remote/4.21/deployment.yaml
deleted file mode 100644
index ec59dee91..000000000
--- a/config-templates/redhat/odf-remote/4.21/deployment.yaml
+++ /dev/null
@@ -1,663 +0,0 @@
-apiVersion: v1
-kind: List
-metadata:
- name: ibm-openshift-container-storage
- namespace: kube-system
- annotations:
- revision: 1
-items:
- - apiVersion: apiextensions.k8s.io/v1
- kind: CustomResourceDefinition
- metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.14.0
- name: ocsclusters.ocs.ibm.io
- labels:
- deploy.razee.io/Reconcile: "false"
- spec:
- group: ocs.ibm.io
- names:
- kind: OcsCluster
- listKind: OcsClusterList
- plural: ocsclusters
- singular: ocscluster
- scope: Cluster
- versions:
- - name: v1
- schema:
- openAPIV3Schema:
- description: OcsCluster is the Schema for the ocsclusters 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: OcsClusterSpec defines the desired state of OcsCluster
- properties:
- addSingleReplicaPool:
- default: false
- type: boolean
- autoDiscoverDevices:
- default: false
- type: boolean
- billingType:
- default: advanced
- enum:
- - essentials
- - advanced
- type: string
- clusterEncryption:
- default: false
- type: boolean
- disableNoobaaLB:
- default: false
- type: boolean
- enableNFS:
- default: false
- type: boolean
- encryptionInTransit:
- default: false
- type: boolean
- hpcsBaseUrl:
- type: string
- hpcsEncryption:
- default: false
- type: boolean
- hpcsInstanceId:
- type: string
- hpcsSecretName:
- type: string
- hpcsServiceName:
- type: string
- hpcsTokenUrl:
- type: string
- ignoreNoobaa:
- default: false
- type: boolean
- numOfOsd:
- default: 1
- type: integer
- ocsUpgrade:
- default: false
- type: boolean
- osdStorageClassName:
- type: string
- osdDevicePaths:
- items:
- type: string
- type: array
- osdSize:
- type: string
- resourceProfile:
- default: balanced
- type: string
- taintNodes:
- default: false
- type: boolean
- useCephRBDAsDefaultStorageClass:
- default: false
- type: boolean
- setDefaultStorageClassForVirtualization:
- default: false
- type: boolean
- enableAutomaticCapacityScaling:
- default: false
- type: boolean
- clusterExpansionLimit:
- default: "12Ti"
- type: string
- enableAutomaticBackup:
- default: false
- type: boolean
- backupFrequency:
- default: '@daily'
- enum:
- - '@daily'
- - '@weekly'
- - '@monthly'
- type: string
- numOfBackupCopies:
- default: 1
- maximum: 12
- minimum: 1
- type: integer
- workerNodes:
- items:
- type: string
- type: array
- workerPools:
- items:
- type: string
- type: array
- required:
- - osdSize
- - osdStorageClassName
- type: object
- status:
- description: OcsClusterStatus defines the observed state of OcsCluster
- properties:
- storageAutoScalerStatus:
- type: string
- storageClusterStatus:
- description: 'INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run "make" to regenerate code after modifying this file'
- type: string
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
- status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
- - apiVersion: rbac.authorization.k8s.io/v1
- kind: Role
- metadata:
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- name: ibm-ocs-operator-leader-election-role
- namespace: kube-system
- rules:
- - apiGroups:
- - ""
- resources:
- - configmaps
- verbs:
- - get
- - list
- - watch
- - create
- - update
- - patch
- - delete
- - apiGroups:
- - ""
- resources:
- - configmaps/status
- verbs:
- - get
- - update
- - patch
- - apiGroups:
- - ""
- resources:
- - events
- verbs:
- - create
- - patch
- - apiGroups:
- - coordination.k8s.io
- resources:
- - leases
- verbs:
- - get
- - create
- - update
- - apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRole
- metadata:
- creationTimestamp: null
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- name: ibm-ocs-operator-manager-role
- rules:
- - apiGroups:
- - ""
- resources:
- - namespaces
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - ""
- resources:
- - persistentvolumes
- verbs:
- - deletecollection
- - apiGroups:
- - ""
- resources:
- - pods
- verbs:
- - get
- - list
- - watch
- - apiGroups:
- - ""
- resources:
- - secrets
- verbs:
- - delete
- - get
- - list
- - watch
- - apiGroups:
- - apps
- resources:
- - deployments
- verbs:
- - get
- - list
- - watch
- - apiGroups:
- - ceph.rook.io
- resources:
- - cephclusters
- verbs:
- - get
- - list
- - watch
- - apiGroups:
- - ""
- resources:
- - configmaps
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - ""
- resources:
- - nodes
- verbs:
- - get
- - list
- - patch
- - watch
- - update
- - apiGroups:
- - local.storage.openshift.io
- resources:
- - localvolumediscoveries
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - local.storage.openshift.io
- resources:
- - localvolumes
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - local.storage.openshift.io
- resources:
- - localvolumesets
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - noobaa.io
- resources:
- - noobaas
- verbs:
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - ocs.ibm.io
- resources:
- - ocsclusters
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - ocs.ibm.io
- resources:
- - ocsclusters/status
- verbs:
- - get
- - patch
- - update
- - apiGroups:
- - ocs.openshift.io
- resources:
- - storageclusters
- - storageautoscalers
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - odf.openshift.io
- resources:
- - storagesystems
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - operator.openshift.io
- resources:
- - consoles
- verbs:
- - get
- - list
- - patch
- - watch
- - apiGroups:
- - operators.coreos.com
- resources:
- - catalogsources
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - operators.coreos.com
- resources:
- - clusterserviceversions
- verbs:
- - get
- - list
- - watch
- - apiGroups:
- - operators.coreos.com
- resources:
- - operatorgroups
- - subscriptions
- verbs:
- - create
- - delete
- - get
- - list
- - patch
- - update
- - watch
- - apiGroups:
- - apiextensions.k8s.io
- resources:
- - customresourcedefinitions
- verbs:
- - get
- - list
- - watch
- - apiGroups:
- - csi.ceph.io
- resources:
- - drivers
- verbs:
- - get
- - list
- - patch
- - create
- - update
- - watch
- - apiVersion: rbac.authorization.k8s.io/v1
- kind: RoleBinding
- metadata:
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- name: ibm-ocs-operator-leader-election-rolebinding
- namespace: kube-system
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: ibm-ocs-operator-leader-election-role
- subjects:
- - kind: ServiceAccount
- name: default
- namespace: kube-system
- - apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRoleBinding
- metadata:
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- name: ibm-ocs-operator-manager-rolebinding
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: ibm-ocs-operator-manager-role
- subjects:
- - kind: ServiceAccount
- name: default
- namespace: kube-system
- - apiVersion: apps/v1
- kind: Deployment
- metadata:
- labels:
- addonmanager.kubernetes.io/mode: Reconcile
- name: ocs-controller
- name: ibm-ocs-operator-controller-manager
- namespace: kube-system
- spec:
- replicas: 1
- selector:
- matchLabels:
- name: ocs-controller
- template:
- metadata:
- labels:
- name: ocs-controller
- spec:
- priorityClassName: system-cluster-critical
- securityContext:
- runAsNonRoot: true
- runAsUser: 1000
- containers:
- - args:
- - --enable-leader-election
- - "--sidecarEndpoint=$(SIDECAREP)"
- command:
- - /app/manager
- env:
- - name: CHANNEL
- value: stable-4.21
- - name: WATCH_NAMESPACE
- value: openshift-storage
- - name: ADDON_CONFIGMAP_NAMESPACE
- value: kube-system
- - name: IKS_ENABLED
- value: "true"
- - name: SIDECAREP
- value: "/csi/provider.sock"
- - name: CUSTOM_CATALOG_SOURCE_IMAGE
- value: "icr.io/armada-extensions/custom-redhat-operator-index:v4.21.3-odf"
- volumeMounts:
- - name: cluster-info
- readOnly: true
- mountPath: /etc/storage_ibmc/cluster_info
- - mountPath: /csi
- name: socket-dir
- image: "icr.io/armada-extensions/ibm-ocs-operator:v4.21.3"
- imagePullPolicy: IfNotPresent
- name: manager
- securityContext:
- privileged: false
- allowPrivilegeEscalation: false
- resources:
- limits:
- cpu: 500m
- memory: 500Mi
- requests:
- cpu: 100m
- memory: 100Mi
- - name: storage-secret-sidecar
- image: "icr.io/obs/armada-storage-secret:v1.2.85"
- imagePullPolicy: IfNotPresent
- args:
- - "--endpoint=$(ENDPOINT)"
- env:
- - name: ENDPOINT
- value: "unix:/sidecardir/provider.sock"
- - name: TOKEN_EXPIRY_DIFF
- value: "40m"
- - name: PROFILE_CAPACITY
- value: "1"
- resources:
- limits:
- cpu: 40m
- memory: 80Mi
- requests:
- cpu: 10m
- memory: 20Mi
- volumeMounts:
- - mountPath: /sidecardir
- name: socket-dir
- - mountPath: /var/run/secrets/tokens
- name: vault-token
- volumes:
- - name: cluster-info
- configMap:
- name: cluster-info
- - name: vault-token
- projected:
- sources:
- - serviceAccountToken:
- path: vault-token
- expirationSeconds: 600
- - emptyDir: {}
- name: socket-dir
- terminationGracePeriodSeconds: 10
- {{#ibm-cos-access-key}}
- - apiVersion: v1
- kind: Namespace
- metadata:
- labels:
- openshift.io/cluster-monitoring: "true"
- deploy.razee.io/Reconcile: "false"
- name: openshift-storage
- - apiVersion: v1
- kind: Secret
- metadata:
- name: ibm-cloud-cos-creds
- namespace: openshift-storage
- type: Opaque
- stringData:
- IBM_COS_Endpoint: {{{ ibm-cos-endpoint }}}
- IBM_COS_Location: {{ ibm-cos-location }}
- data:
- IBM_COS_ACCESS_KEY_ID: {{{ ibm-cos-access-key }}}
- IBM_COS_SECRET_ACCESS_KEY: {{{ ibm-cos-secret-key }}}
- {{/ibm-cos-access-key}}
- {{#kms-root-key}}
- {{^ibm-cos-access-key}}
- - apiVersion: v1
- kind: Namespace
- metadata:
- labels:
- openshift.io/cluster-monitoring: "true"
- deploy.razee.io/Reconcile: "false"
- name: openshift-storage
- {{/ibm-cos-access-key}}
- - apiVersion: v1
- kind: Secret
- metadata:
- name: ibm-kms-creds
- namespace: openshift-storage
- type: Opaque
- data:
- IBM_KP_CUSTOMER_ROOT_KEY: {{{ kms-root-key }}}
- IBM_KP_SERVICE_API_KEY: {{{ kms-api-key }}}
- {{/kms-root-key}}
- - apiVersion: v1
- kind: Secret
- metadata:
- name: storage-secret-store
- namespace: kube-system
- type: Opaque
- data:
- iam_api_key: {{{ iam-api-key }}}
- - apiVersion: v1
- kind: ConfigMap
- metadata:
- name: managed-addon-options-osc
- namespace: kube-system
- data:
- odfDeploy: "true"
- osdStorageClassName: {{ osd-storage-class }}
- osdSize: {{ osd-size }}
- numOfOsd: "{{ num-of-osd }}"
- ocsUpgrade: "{{ odf-upgrade }}"
- clusterEncryption: "{{ cluster-encryption }}"
- {{#worker-nodes}}
- workerNodes: {{{ worker-nodes }}}
- {{/worker-nodes}}
- {{#worker-pools}}
- workerPools: {{{ worker-pools }}}
- {{/worker-pools}}
- billingType: "{{ billing-type }}"
- hpcsEncryption: "{{ kms-encryption }}"
- {{#kms-encryption}}
- hpcsServiceName: "{{ kms-instance-name }}"
- hpcsInstanceId: "{{ kms-instance-id }}"
- hpcsSecretName: "ibm-kms-creds"
- hpcsBaseUrl: "{{{ kms-base-url }}}"
- hpcsTokenUrl: "{{{ kms-token-url }}}"
- {{/kms-encryption}}
- ignoreNoobaa: "{{ ignore-noobaa }}"
- encryptionInTransit: "{{ encryption-intransit }}"
- disableNoobaaLB: "{{ disable-noobaa-LB }}"
- addSingleReplicaPool: "{{ add-single-replica-pool }}"
- taintNodes: "{{ taint-nodes }}"
- enableNFS: "{{ enable-nfs }}"
- resourceProfile: "{{ resource-profile }}"
- useCephRBDAsDefaultStorageClass: "{{ use-ceph-rbd-as-default-storage-class }}"
- setDefaultStorageClassForVirtualization: "{{ set-default-storage-class-for-virtualization }}"
- enableAutomaticCapacityScaling: "{{ enable-automatic-capacity-scaling }}"
- clusterExpansionLimit: "{{ cluster-expansion-limit }}"
- enableAutomaticBackup: "{{ enable-automatic-backup }}"
- backupFrequency: "{{ backup-frequency }}"
- numOfBackupCopies: "{{ num-of-backup-copies }}"
- - apiVersion: satstorage.ibm.com/v1
- kind: SatStorageCleanup
- metadata:
- name: satstoragecleanup-odf-remote
- namespace: "ibm-satellite-storage"
- spec:
- template-name: "odf-remote"
- template-version: "4.21"
- template-namespace: "kube-system"
- perform-cleanup: {{ perform-cleanup }}
diff --git a/config-templates/redhat/odf-remote/4.21/logo/odf-remote.svg b/config-templates/redhat/odf-remote/4.21/logo/odf-remote.svg
deleted file mode 100644
index be5cb8376..000000000
--- a/config-templates/redhat/odf-remote/4.21/logo/odf-remote.svg
+++ /dev/null
@@ -1,1971 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-]>
-
diff --git a/config-templates/redhat/odf-remote/4.21/metadata.json b/config-templates/redhat/odf-remote/4.21/metadata.json
deleted file mode 100644
index f3a4af288..000000000
--- a/config-templates/redhat/odf-remote/4.21/metadata.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "name": "4.21",
- "revision": "1",
- "enabled": "true",
- "status": "supported",
- "description": "ODF template for openshift 4.21 (Remote storage)",
- "tags": [
- {
- "name": "provider",
- "value": "Red Hat"
- },
- {
- "name": "offering-name",
- "value": "openshift-data-foundation"
- },
- {
- "name": "offering-type",
- "value": "sds"
- },
- {
- "name": "provider-url",
- "value": "https://www.redhat.com/en/technologies/cloud-computing/openshift-data-foundation"
- },
- {
- "name": "support-msg",
- "value": "For support contact Red Hat"
- },
- {
- "name": "provider-logo",
- "value": "logo/odf-remote.svg"
- },
- {
- "name": "supported-envs",
- "value": "OpenShift Container Platform"
- },
- {
- "name": "supported-ocp-versions",
- "value": "4.21, 4.22"
- },
- {
- "name": "volume-type",
- "value": "file,block,object"
- },
- {
- "name": "volume-encryption-at-rest",
- "value": "true"
- },
- {
- "name": "volume-encryption-in-transit",
- "value": "true"
- },
- {
- "name": "volume-snapshot",
- "value": "false"
- },
- {
- "name": "volume-availability",
- "value": "regional"
- },
- {
- "name": "volume-expansion",
- "value": "true"
- },
- {
- "name": "storageclass",
- "value": "gold"
- }
- ]
-}
diff --git a/config-templates/redhat/odf-remote/4.21/storage-class.yaml b/config-templates/redhat/odf-remote/4.21/storage-class.yaml
deleted file mode 100644
index 4bbe28631..000000000
--- a/config-templates/redhat/odf-remote/4.21/storage-class.yaml
+++ /dev/null
@@ -1,139 +0,0 @@
-apiVersion: v1
-kind: List
-items:
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-cephrbd-gold
- labels:
- app.kubernetes.io/name: "redhat-odf-remote"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "block"
- storage-class-preference: "1"
- is-user-defined-class: "false"
- parameters:
- clusterID: openshift-storage
- csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner
- csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
- csi.storage.k8s.io/fstype: ext4
- csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node
- csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
- csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner
- csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
- imageFeatures: layering
- imageFormat: "2"
- pool: ocs-storagecluster-cephblockpool
- provisioner: openshift-storage.rbd.csi.ceph.com
- reclaimPolicy: Delete
- volumeBindingMode: Immediate
- allowVolumeExpansion: true
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-cephfs-gold
- labels:
- app.kubernetes.io/name: "redhat-odf-remote"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "file"
- storage-class-preference: "1"
- is-user-defined-class: "false"
- parameters:
- clusterID: openshift-storage
- csi.storage.k8s.io/controller-expand-secret-name: rook-csi-cephfs-provisioner
- csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
- csi.storage.k8s.io/node-stage-secret-name: rook-csi-cephfs-node
- csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
- csi.storage.k8s.io/provisioner-secret-name: rook-csi-cephfs-provisioner
- csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
- fsName: ocs-storagecluster-cephfilesystem
- provisioner: openshift-storage.cephfs.csi.ceph.com
- reclaimPolicy: Delete
- volumeBindingMode: Immediate
- allowVolumeExpansion: true
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-cephrgw-gold
- labels:
- app.kubernetes.io/name: "redhat-odf-remote"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "object"
- storage-class-preference: "2"
- is-user-defined-class: "false"
- parameters:
- objectStoreName: ocs-storagecluster-cephobjectstore
- objectStoreNamespace: openshift-storage
- region: us-east-1
- provisioner: openshift-storage.ceph.rook.io/bucket
- reclaimPolicy: Delete
- volumeBindingMode: Immediate
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-noobaa-gold
- labels:
- app.kubernetes.io/name: "redhat-odf-remote"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "object"
- storage-class-preference: "1"
- is-user-defined-class: "false"
- parameters:
- bucketclass: noobaa-default-bucket-class
- provisioner: openshift-storage.noobaa.io/obc
- reclaimPolicy: Delete
- volumeBindingMode: Immediate
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-cephrbd-gold-metro
- labels:
- app.kubernetes.io/name: "redhat-odf-remote"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "block"
- storage-class-preference: "2"
- is-user-defined-class: "false"
- parameters:
- clusterID: openshift-storage
- csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner
- csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
- csi.storage.k8s.io/fstype: ext4
- csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node
- csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
- csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner
- csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
- imageFeatures: layering
- imageFormat: "2"
- pool: ocs-storagecluster-cephblockpool
- provisioner: openshift-storage.rbd.csi.ceph.com
- reclaimPolicy: Delete
- volumeBindingMode: WaitForFirstConsumer
- allowVolumeExpansion: true
- - apiVersion: storage.k8s.io/v1
- kind: StorageClass
- metadata:
- name: sat-ocs-cephfs-gold-metro
- labels:
- app.kubernetes.io/name: "redhat-odf-remote"
- app.kubernetes.io/version: "v4.21.0"
- app.kubernetes.io/revision: "1"
- volume-type: "file"
- storage-class-preference: "2"
- is-user-defined-class: "false"
- parameters:
- clusterID: openshift-storage
- csi.storage.k8s.io/controller-expand-secret-name: rook-csi-cephfs-provisioner
- csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
- csi.storage.k8s.io/node-stage-secret-name: rook-csi-cephfs-node
- csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
- csi.storage.k8s.io/provisioner-secret-name: rook-csi-cephfs-provisioner
- csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
- fsName: ocs-storagecluster-cephfilesystem
- provisioner: openshift-storage.cephfs.csi.ceph.com
- reclaimPolicy: Delete
- volumeBindingMode: WaitForFirstConsumer
- allowVolumeExpansion: true
diff --git a/config-templates/redhat/odf-remote/changelog.json b/config-templates/redhat/odf-remote/changelog.json
index 106ea9189..ffe35c5e1 100644
--- a/config-templates/redhat/odf-remote/changelog.json
+++ b/config-templates/redhat/odf-remote/changelog.json
@@ -1,20 +1,5 @@
[
{
- "4.21": {
- "status": "supported",
- "latest-revision": {
- "revision": "1",
- "release-date": "27 May 2026",
- "cves": "",
- "golang": "1.26.3",
- "ubi": "",
- "new-features": [
- "ODF 4.21 initial release"
- ],
- "fixes": [
- ]
- }
- },
"4.20": {
"status": "supported",
"latest-revision": {