---
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: |2-

      [
          {
              "apiVersion": "ocs.openshift.io/v1",
              "kind": "StorageCluster",
              "metadata": {
                  "name": "example-storagecluster",
                  "namespace": "openshift-storage"
              },
              "spec": {
                  "manageNodes": false,
                  "monPVCTemplate": {
                      "spec": {
                          "accessModes": [
                              "ReadWriteOnce"
                          ],
                          "resources": {
                              "requests": {
                                  "storage": "10Gi"
                              }
                          },
                          "storageClassName": "gp2-csi"
                      }
                  },
                  "storageDeviceSets": [
                      {
                          "count": 3,
                          "dataPVCTemplate": {
                              "spec": {
                                  "accessModes": [
                                      "ReadWriteOnce"
                                  ],
                                  "resources": {
                                      "requests": {
                                          "storage": "1Ti"
                                      }
                                  },
                                  "storageClassName": "gp2-csi",
                                  "volumeMode": "Block"
                              }
                          },
                          "name": "example-deviceset",
                          "placement": {},
                          "portable": true,
                          "resources": {}
                      }
                  ]
              }
          }
      ]
    capabilities: Deep Insights
    categories: Storage
    containerImage: registry.redhat.io/odf4/ocs-rhel9-operator@sha256:7d63aa7308ccc1eb25f2d515297f4ff3ebaf4efb5e715a5b5e86b459e7b0abb8
    description: Red Hat OpenShift Container Storage provides hyperconverged storage
      for applications within an OpenShift cluster.
    external.features.ocs.openshift.io/supported-platforms: '["BareMetal", "None",
      "VSphere", "OpenStack", "oVirt"]'
    external.features.ocs.openshift.io/validation: '{"secrets":["rook-ceph-operator-creds",
      "rook-csi-rbd-node", "rook-csi-rbd-provisioner"], "configMaps": ["rook-ceph-mon-endpoints",
      "rook-ceph-mon"], "storageClasses": ["ceph-rbd"], "cephClusters": ["monitoring-endpoint"]}'
    features.ocs.openshift.io/disabled: '["ss-list", "install-wizard", "block-pool",
      "mcg-resource", "odf-dashboard", "common", "storage-provider", "storage-provisioner",
      "dashboard-resources", "csv-actions", "inventory-item", "alert-actions"]'
    features.ocs.openshift.io/enabled: '["kms", "arbiter", "flexible-scaling", "multus",
      "pool-management", "namespace-store", "mcg-standalone", "taint-nodes", "vault-sa-kms",
      "hpcs-kms"]'
    features.operators.openshift.io/cnf: "false"
    features.operators.openshift.io/cni: "false"
    features.operators.openshift.io/csi: "true"
    features.operators.openshift.io/disconnected: "true"
    features.operators.openshift.io/fips-compliant: "true"
    features.operators.openshift.io/proxy-aware: "true"
    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"
    olm.operatorGroup: openshift-storage-operatorgroup
    olm.operatorNamespace: openshift-storage
    olm.skipRange: '>=4.2.0 <4.19.6-rhodf'
    olm.targetNamespaces: openshift-storage
    operatorframework.io/initialization-resource: "\n    {\n        \"apiVersion\":
      \"ocs.openshift.io/v1\",\n        \"kind\": \"StorageCluster\",\n        \"metadata\":
      {\n            \"name\": \"example-storagecluster\",\n            \"namespace\":
      \"openshift-storage\"\n        },\n        \"spec\": {\n            \"manageNodes\":
      false,\n            \"monPVCTemplate\": {\n                \"spec\": {\n                    \"accessModes\":
      [\n                        \"ReadWriteOnce\"\n                    ],\n                    \"resources\":
      {\n                        \"requests\": {\n                            \"storage\":
      \"10Gi\"\n                        }\n                    },\n                    \"storageClassName\":
      \"gp2-csi\"\n                }\n            },\n            \"storageDeviceSets\":
      [\n                {\n                    \"count\": 3,\n                    \"dataPVCTemplate\":
      {\n                        \"spec\": {\n                            \"accessModes\":
      [\n                                \"ReadWriteOnce\"\n                            ],\n
      \                           \"resources\": {\n                                \"requests\":
      {\n                                    \"storage\": \"1Ti\"\n                                }\n
      \                           },\n                            \"storageClassName\":
      \"gp2-csi\",\n                            \"volumeMode\": \"Block\"\n                        }\n
      \                   },\n                    \"name\": \"example-deviceset\",\n
      \                   \"placement\": {},\n                    \"portable\": true,\n
      \                   \"resources\": {}\n                }\n            ]\n        }\n
      \   }\n\t"
    operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"ocs.openshift.io","kind":"OCSInitialization","version":"v1"}},{"type":"olm.gvk","value":{"group":"ocs.openshift.io","kind":"StorageAutoScaler","version":"v1"}},{"type":"olm.gvk","value":{"group":"ocs.openshift.io","kind":"StorageCluster","version":"v1"}},{"type":"olm.gvk","value":{"group":"ocs.openshift.io","kind":"StorageClusterPeer","version":"v1"}},{"type":"olm.gvk","value":{"group":"ocs.openshift.io","kind":"StorageConsumer","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"ocs-operator","version":"4.19.6-rhodf"}}]}'
    operatorframework.io/suggested-namespace: openshift-storage
    operators.openshift.io/infrastructure-features: '["disconnected"]'
    operators.openshift.io/must-gather-image: registry.redhat.io/odf4/odf-must-gather-rhel9@sha256:e4e2c0a3351138c27432b5a6aa34955cfe8f31b7ccbc493c2b0448e5b76b5757
    operators.openshift.io/valid-subscription: '["OpenShift Platform Plus","OpenShift
      Data Foundation Essentials","OpenShift Data Foundation Advanced"]'
    operators.operatorframework.io/builder: operator-sdk-v1.25.4
    operators.operatorframework.io/internal-objects: '["ocsinitializations.ocs.openshift.io","storageautoscalers.ocs.openshift.io","storageclusterpeers.ocs.openshift.io","storageconsumers.ocs.openshift.io"]'
    operators.operatorframework.io/operator-type: non-standalone
    operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
    repository: https://github.com/red-hat-storage/ocs-operator
    support: Red Hat
  creationTimestamp: "2025-10-27T12:43:44Z"
  finalizers:
  - operators.coreos.com/csv-cleanup
  generation: 2
  labels:
    full_version: 4.19.6-2
    olm.managed: "true"
    operatorframework.io/arch.amd64: supported
    operatorframework.io/arch.ppc64le: supported
    operatorframework.io/arch.s390x: supported
    operators.coreos.com/ocs-operator.openshift-storage: ""
  managedFields:
  - apiVersion: operators.coreos.com/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:alm-examples: {}
          f:capabilities: {}
          f:categories: {}
          f:containerImage: {}
          f:description: {}
          f:external.features.ocs.openshift.io/supported-platforms: {}
          f:external.features.ocs.openshift.io/validation: {}
          f:features.ocs.openshift.io/disabled: {}
          f:features.ocs.openshift.io/enabled: {}
          f:features.operators.openshift.io/cnf: {}
          f:features.operators.openshift.io/cni: {}
          f:features.operators.openshift.io/csi: {}
          f:features.operators.openshift.io/disconnected: {}
          f:features.operators.openshift.io/fips-compliant: {}
          f:features.operators.openshift.io/proxy-aware: {}
          f:features.operators.openshift.io/tls-profiles: {}
          f:features.operators.openshift.io/token-auth-aws: {}
          f:features.operators.openshift.io/token-auth-azure: {}
          f:features.operators.openshift.io/token-auth-gcp: {}
          f:olm.skipRange: {}
          f:operatorframework.io/initialization-resource: {}
          f:operatorframework.io/properties: {}
          f:operatorframework.io/suggested-namespace: {}
          f:operators.openshift.io/infrastructure-features: {}
          f:operators.openshift.io/must-gather-image: {}
          f:operators.openshift.io/valid-subscription: {}
          f:operators.operatorframework.io/builder: {}
          f:operators.operatorframework.io/internal-objects: {}
          f:operators.operatorframework.io/operator-type: {}
          f:operators.operatorframework.io/project_layout: {}
          f:repository: {}
          f:support: {}
        f:labels:
          .: {}
          f:full_version: {}
          f:olm.managed: {}
          f:operatorframework.io/arch.amd64: {}
          f:operatorframework.io/arch.ppc64le: {}
          f:operatorframework.io/arch.s390x: {}
      f:spec:
        .: {}
        f:apiservicedefinitions: {}
        f:cleanup:
          .: {}
          f:enabled: {}
        f:customresourcedefinitions:
          .: {}
          f:owned: {}
        f:description: {}
        f:displayName: {}
        f:icon: {}
        f:install:
          .: {}
          f:spec:
            .: {}
            f:clusterPermissions: {}
          f:strategy: {}
        f:installModes: {}
        f:keywords: {}
        f:links: {}
        f:maintainers: {}
        f:maturity: {}
        f:minKubeVersion: {}
        f:provider:
          .: {}
          f:name: {}
        f:relatedImages: {}
        f:replaces: {}
        f:version: {}
    manager: catalog
    operation: Update
    time: "2025-10-27T12:43:44Z"
  - apiVersion: operators.coreos.com/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          f:olm.operatorGroup: {}
          f:olm.operatorNamespace: {}
          f:olm.targetNamespaces: {}
        f:finalizers:
          .: {}
          v:"operators.coreos.com/csv-cleanup": {}
        f:labels:
          f:operators.coreos.com/ocs-operator.openshift-storage: {}
    manager: olm
    operation: Update
    time: "2025-10-27T12:43:48Z"
  - apiVersion: operators.coreos.com/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:ownerReferences:
          .: {}
          k:{"uid":"c2165870-5d5c-4fb7-86bf-8703c34328a8"}: {}
      f:spec:
        f:install:
          f:spec:
            f:deployments: {}
    manager: manager
    operation: Update
    time: "2025-10-27T12:44:09Z"
  - apiVersion: operators.coreos.com/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        .: {}
        f:cleanup: {}
        f:conditions: {}
        f:lastTransitionTime: {}
        f:lastUpdateTime: {}
        f:message: {}
        f:phase: {}
        f:reason: {}
        f:requirementStatus: {}
    manager: olm
    operation: Update
    subresource: status
    time: "2025-10-29T11:56:08Z"
  name: ocs-operator.v4.19.6-rhodf
  namespace: openshift-storage
  ownerReferences:
  - apiVersion: operators.coreos.com/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Subscription
    name: ocs-subscription
    uid: c2165870-5d5c-4fb7-86bf-8703c34328a8
  resourceVersion: "2149084"
  uid: 467ab2af-1f42-45f9-a80f-5b6b330c616a
spec:
  apiservicedefinitions: {}
  cleanup:
    enabled: false
  customresourcedefinitions:
    owned:
    - description: OCSInitialization represents the initial data to be created when
        the operator is installed.
      displayName: OCS Initialization
      kind: OCSInitialization
      name: ocsinitializations.ocs.openshift.io
      version: v1
    - description: StorageAutoScaler represents the automatic storage scaling for
        storage cluster.
      displayName: Storage Auto Scaling
      kind: StorageAutoScaler
      name: storageautoscalers.ocs.openshift.io
      version: v1
    - description: StorageClusterPeer is the Schema for the storageclusterpeers API
      displayName: Storage Cluster Peer
      kind: StorageClusterPeer
      name: storageclusterpeers.ocs.openshift.io
      version: v1
    - description: StorageCluster represents a cluster including Ceph Cluster, NooBaa
        and all the storage and compute resources required.
      displayName: Storage Cluster
      kind: StorageCluster
      name: storageclusters.ocs.openshift.io
      resources:
      - kind: CephCluster
        name: cephclusters.ceph.rook.io
        version: v1
      - kind: NooBaa
        name: noobaas.noobaa.io
        version: v1alpha1
      version: v1
    - description: StorageConsumer is the Schema for the storageconsumers API
      displayName: Storage Consumer
      kind: StorageConsumer
      name: storageconsumers.ocs.openshift.io
      version: v1alpha1
  description: |
    **Red Hat OpenShift Container Storage** deploys three operators.

    ### OpenShift Container Storage operator

    The OpenShift Container Storage operator is the primary operator for OpenShift Container Storage. It serves to facilitate the other operators in OpenShift Container Storage by performing administrative tasks outside their scope as well as watching and configuring their CustomResources.

    ### Rook

    [Rook][1] deploys and manages Ceph on OpenShift, which provides block and file storage.

    # Core Capabilities

    * **Self-managing service:** No matter which supported storage technologies you choose, OpenShift Container Storage ensures that resources can be deployed and managed automatically.

    * **Hyper-scale or hyper-converged:** With OpenShift Container Storage you can either build dedicated storage clusters or hyper-converged clusters where your apps run alongside storage.

    * **File, Block, and Object provided by OpenShift Container Storage:** OpenShift Container Storage integrates Ceph with multiple storage presentations including object storage (compatible with S3), block storage, and POSIX-compliant shared file system.

    * **Your data, protected:** OpenShift Container Storage efficiently distributes and replicates your data across your cluster to minimize the risk of data loss. With snapshots, cloning, and versioning, no more losing sleep over your data.

    * **Elastic storage in your datacenter:** Scale is now possible in your datacenter. Get started with a few terabytes, and easily scale up.

    * **Simplified data management:** Easily create hybrid and multi-cloud data storage for your workloads, using a single namespace.

    [1]: https://rook.io
  displayName: OpenShift Container Storage
  icon:
  - base64data: PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTIgMTQ1Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2UwMDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPlJlZEhhdC1Mb2dvLUhhdC1Db2xvcjwvdGl0bGU+PHBhdGggZD0iTTE1Ny43Nyw2Mi42MWExNCwxNCwwLDAsMSwuMzEsMy40MmMwLDE0Ljg4LTE4LjEsMTcuNDYtMzAuNjEsMTcuNDZDNzguODMsODMuNDksNDIuNTMsNTMuMjYsNDIuNTMsNDRhNi40Myw2LjQzLDAsMCwxLC4yMi0xLjk0bC0zLjY2LDkuMDZhMTguNDUsMTguNDUsMCwwLDAtMS41MSw3LjMzYzAsMTguMTEsNDEsNDUuNDgsODcuNzQsNDUuNDgsMjAuNjksMCwzNi40My03Ljc2LDM2LjQzLTIxLjc3LDAtMS4wOCwwLTEuOTQtMS43My0xMC4xM1oiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMjcuNDcsODMuNDljMTIuNTEsMCwzMC42MS0yLjU4LDMwLjYxLTE3LjQ2YTE0LDE0LDAsMCwwLS4zMS0zLjQybC03LjQ1LTMyLjM2Yy0xLjcyLTcuMTItMy4yMy0xMC4zNS0xNS43My0xNi42QzEyNC44OSw4LjY5LDEwMy43Ni41LDk3LjUxLjUsOTEuNjkuNSw5MCw4LDgzLjA2LDhjLTYuNjgsMC0xMS42NC01LjYtMTcuODktNS42LTYsMC05LjkxLDQuMDktMTIuOTMsMTIuNSwwLDAtOC40MSwyMy43Mi05LjQ5LDI3LjE2QTYuNDMsNi40MywwLDAsMCw0Mi41Myw0NGMwLDkuMjIsMzYuMywzOS40NSw4NC45NCwzOS40NU0xNjAsNzIuMDdjMS43Myw4LjE5LDEuNzMsOS4wNSwxLjczLDEwLjEzLDAsMTQtMTUuNzQsMjEuNzctMzYuNDMsMjEuNzdDNzguNTQsMTA0LDM3LjU4LDc2LjYsMzcuNTgsNTguNDlhMTguNDUsMTguNDUsMCwwLDEsMS41MS03LjMzQzIyLjI3LDUyLC41LDU1LC41LDc0LjIyYzAsMzEuNDgsNzQuNTksNzAuMjgsMTMzLjY1LDcwLjI4LDQ1LjI4LDAsNTYuNy0yMC40OCw1Ni43LTM2LjY1LDAtMTIuNzItMTEtMjcuMTYtMzAuODMtMzUuNzgiLz48L3N2Zz4=
    mediatype: image/svg+xml
  install:
    spec:
      clusterPermissions:
      - rules:
        - apiGroups:
          - apiextensions.k8s.io
          resources:
          - customresourcedefinitions
          verbs:
          - create
          - get
          - list
          - update
          - watch
        - apiGroups:
          - apps
          resources:
          - daemonsets
          - deployments
          - replicasets
          - statefulsets
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - authentication.k8s.io
          resources:
          - tokenreviews
          verbs:
          - create
        - apiGroups:
          - authorization.k8s.io
          resources:
          - subjectaccessreviews
          verbs:
          - create
        - apiGroups:
          - batch
          resources:
          - cronjobs
          - jobs
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - ceph.rook.io
          resources:
          - cephblockpoolradosnamespaces
          - cephfilesystemsubvolumegroups
          verbs:
          - create
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - ceph.rook.io
          resources:
          - cephblockpools
          - cephclients
          - cephclusters
          - cephfilesystems
          - cephnfses
          - cephobjectstores
          - cephobjectstoreusers
          - cephrbdmirrors
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - cluster.open-cluster-management.io
          resources:
          - clusterclaims
          verbs:
          - create
          - get
          - list
          - update
          - watch
        - apiGroups:
          - config.openshift.io
          resources:
          - clusterversions
          - infrastructures
          - networks
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - coordination.k8s.io
          resources:
          - leases
          verbs:
          - create
          - get
          - list
          - update
        - apiGroups:
          - ""
          resources:
          - configmaps
          - endpoints
          - events
          - nodes
          - persistentvolumeclaims
          - persistentvolumes
          - pods
          - secrets
          - serviceaccounts
          - services
          verbs:
          - create
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - ""
          resources:
          - configmaps/finalizers
          verbs:
          - update
        - apiGroups:
          - ""
          resources:
          - namespaces
          verbs:
          - get
        - apiGroups:
          - groupsnapshot.storage.k8s.io
          resources:
          - volumegroupsnapshotclasses
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - k8s.cni.cncf.io
          resources:
          - network-attachment-definitions
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - monitoring.coreos.com
          resources:
          - alertmanagers
          - prometheuses
          - servicemonitors
          verbs:
          - create
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - monitoring.coreos.com
          resourceNames:
          - k8s
          resources:
          - prometheuses/api
          verbs:
          - get
        - apiGroups:
          - monitoring.coreos.com
          resources:
          - prometheusrules
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - noobaa.io
          resources:
          - noobaaaccounts
          - noobaas
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - objectbucket.io
          resources:
          - objectbucketclaims
          - objectbuckets
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ocs.openshift.io
          resources:
          - '*'
          - storageclusterpeers
          - storageconsumers
          verbs:
          - create
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - ocs.openshift.io
          resources:
          - storageclients
          verbs:
          - get
        - apiGroups:
          - ocs.openshift.io
          resources:
          - storageclients/status
          verbs:
          - patch
        - apiGroups:
          - ocs.openshift.io
          resources:
          - storageclusterpeers/finalizers
          - storagerequests/finalizers
          verbs:
          - update
        - apiGroups:
          - ocs.openshift.io
          resources:
          - storageclusterpeers/status
          - storageconsumers/status
          verbs:
          - get
          - patch
          - update
        - apiGroups:
          - ocs.openshift.io
          resources:
          - storageclusters
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ocs.openshift.io
          resources:
          - storagerequests
          verbs:
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - operators.coreos.com
          resources:
          - clusterserviceversions
          verbs:
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - operators.coreos.com
          resources:
          - operatorconditions
          verbs:
          - create
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - quota.openshift.io
          resources:
          - clusterresourcequotas
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - rbac.authorization.k8s.io
          resources:
          - clusterrolebindings
          - clusterroles
          - rolebindings
          - roles
          verbs:
          - create
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - route.openshift.io
          resources:
          - routes
          verbs:
          - create
          - delete
          - list
          - update
          - watch
        - apiGroups:
          - security.openshift.io
          resources:
          - securitycontextconstraints
          verbs:
          - create
          - get
          - update
        - apiGroups:
          - security.openshift.io
          resourceNames:
          - privileged
          resources:
          - securitycontextconstraints
          verbs:
          - create
          - get
          - update
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotclasses
          verbs:
          - create
          - delete
          - get
          - update
          - watch
        - apiGroups:
          - storage.k8s.io
          resources:
          - storageclasses
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - template.openshift.io
          resources:
          - templates
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        serviceAccountName: ocs-operator
      - rules:
        - apiGroups:
          - storage.k8s.io
          resources:
          - storageclasses
          verbs:
          - get
          - list
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotclasses
          verbs:
          - get
          - list
        - apiGroups:
          - groupsnapshot.storage.k8s.io
          resources:
          - volumegroupsnapshotclasses
          verbs:
          - get
          - list
        serviceAccountName: ocs-provider-server
      - rules:
        - apiGroups:
          - authentication.k8s.io
          resources:
          - tokenreviews
          verbs:
          - create
        - apiGroups:
          - authorization.k8s.io
          resources:
          - subjectaccessreviews
          verbs:
          - create
        - apiGroups:
          - storage.k8s.io
          resources:
          - storageclasses
          verbs:
          - create
        serviceAccountName: ux-backend-server
      deployments:
      - name: ocs-operator
        spec:
          replicas: 1
          selector:
            matchLabels:
              name: ocs-operator
          strategy:
            type: Recreate
          template:
            metadata:
              creationTimestamp: null
              labels:
                name: ocs-operator
            spec:
              containers:
              - args:
                - --enable-leader-election
                - --health-probe-bind-address=:8081
                command:
                - entrypoint
                env:
                - name: WATCH_NAMESPACE
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.annotations['olm.targetNamespaces']
                - name: KUBE_RBAC_PROXY_IMAGE
                  value: registry.redhat.io/openshift4/ose-kube-rbac-proxy-rhel9@sha256:784c4667a867abdbec6d31a4bbde52676a0f37f8e448eaae37568a46fcdeace7
                - name: OCS_METRICS_EXPORTER_IMAGE
                  value: registry.redhat.io/odf4/ocs-metrics-exporter-rhel9@sha256:8c0e3ae948cca9044116b361cae2c137bbe2a5308c8ca3b761eec272a2c69794
                - name: ROOK_CEPH_IMAGE
                  value: registry.redhat.io/odf4/rook-ceph-rhel9-operator@sha256:7c4cc389de5b17b8d2d530c5e249b9f195bbeda3596168fcafef0009390711a9
                - name: CEPH_IMAGE
                  value: registry.redhat.io/rhceph/rhceph-8-rhel9@sha256:24590b9ab8aebfeebfde344ec0c522164efd57c28f8f88692b91673c7f8f164a
                - name: NOOBAA_CORE_IMAGE
                  value: registry.redhat.io/odf4/mcg-core-rhel9@sha256:4e958acfb22419e9019f58cc971194087fd32a32f4c2f33e0ccac26b78e7194f
                - name: NOOBAA_DB_IMAGE
                  value: registry.redhat.io/rhel9/postgresql-16@sha256:42f385ac3c9b8913426da7c57e70bc6617cd237aaf697c667f6385a8c0b0118b
                - name: PROVIDER_API_SERVER_IMAGE
                  value: registry.redhat.io/odf4/ocs-rhel9-operator@sha256:7d63aa7308ccc1eb25f2d515297f4ff3ebaf4efb5e715a5b5e86b459e7b0abb8
                - name: ONBOARDING_VALIDATION_KEYS_GENERATOR_IMAGE
                  value: registry.redhat.io/odf4/ocs-rhel9-operator@sha256:7d63aa7308ccc1eb25f2d515297f4ff3ebaf4efb5e715a5b5e86b459e7b0abb8
                - name: OPERATOR_NAMESPACE
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.namespace
                image: registry.redhat.io/odf4/ocs-rhel9-operator@sha256:7d63aa7308ccc1eb25f2d515297f4ff3ebaf4efb5e715a5b5e86b459e7b0abb8
                imagePullPolicy: Always
                name: ocs-operator
                readinessProbe:
                  httpGet:
                    path: /readyz
                    port: 8081
                  initialDelaySeconds: 5
                  periodSeconds: 10
                resources: {}
                securityContext:
                  allowPrivilegeEscalation: false
                  capabilities:
                    drop:
                    - all
                  readOnlyRootFilesystem: true
                volumeMounts:
                - mountPath: /etc/private-key
                  name: onboarding-private-key
              priorityClassName: system-cluster-critical
              securityContext:
                runAsNonRoot: true
              serviceAccountName: ocs-operator
              terminationGracePeriodSeconds: 10
              tolerations:
              - effect: NoSchedule
                key: node.ocs.openshift.io/storage
                operator: Equal
                value: "true"
              volumes:
              - name: onboarding-private-key
                secret:
                  optional: true
                  secretName: onboarding-private-key
      - name: ux-backend-server
        spec:
          replicas: 1
          selector:
            matchLabels:
              app: ux-backend-server
              app.kubernetes.io/component: ux-backend-server
              app.kubernetes.io/name: ux-backend-server
          strategy:
            type: Recreate
          template:
            metadata:
              creationTimestamp: null
              labels:
                app: ux-backend-server
                app.kubernetes.io/component: ux-backend-server
                app.kubernetes.io/name: ux-backend-server
            spec:
              containers:
              - command:
                - /usr/local/bin/ux-backend-server
                env:
                - name: ONBOARDING_TOKEN_LIFETIME
                - name: UX_BACKEND_PORT
                - name: TLS_ENABLED
                - name: POD_NAMESPACE
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.namespace
                image: registry.redhat.io/odf4/ocs-rhel9-operator@sha256:7d63aa7308ccc1eb25f2d515297f4ff3ebaf4efb5e715a5b5e86b459e7b0abb8
                imagePullPolicy: IfNotPresent
                name: ux-backend-server
                ports:
                - containerPort: 8080
                  protocol: TCP
                resources: {}
                securityContext:
                  readOnlyRootFilesystem: true
                  runAsNonRoot: true
                volumeMounts:
                - mountPath: /etc/private-key
                  name: onboarding-private-key
                - mountPath: /etc/tls/private
                  name: ux-cert-secret
              - args:
                - -provider=openshift
                - -https-address=:8888
                - -http-address=
                - -email-domain=*
                - -upstream=http://localhost:8080/
                - -tls-cert=/etc/tls/private/tls.crt
                - -tls-key=/etc/tls/private/tls.key
                - -cookie-secret-file=/etc/proxy/secrets/session_secret
                - -openshift-service-account=ux-backend-server
                - -openshift-delegate-urls={"/":{"group":"ocs.openshift.io","resource":"storageclusters","namespace":"openshift-storage","verb":"create"}}
                - -openshift-ca=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
                image: registry.redhat.io/openshift4/ose-oauth-proxy-rhel9@sha256:424f37a39d3822861a7e5f6da12a758eee452cbdb059d86d8864e44eb0efe29e
                imagePullPolicy: IfNotPresent
                name: oauth-proxy
                ports:
                - containerPort: 8888
                  protocol: TCP
                resources: {}
                securityContext:
                  readOnlyRootFilesystem: true
                  runAsNonRoot: true
                volumeMounts:
                - mountPath: /etc/proxy/secrets
                  name: ux-proxy-secret
                - mountPath: /etc/tls/private
                  name: ux-cert-secret
              priorityClassName: system-cluster-critical
              serviceAccountName: ux-backend-server
              tolerations:
              - effect: NoSchedule
                key: node.ocs.openshift.io/storage
                operator: Equal
                value: "true"
              volumes:
              - name: onboarding-private-key
                secret:
                  optional: true
                  secretName: onboarding-private-key
              - name: ux-proxy-secret
                secret:
                  secretName: ux-backend-proxy
              - name: ux-cert-secret
                secret:
                  secretName: ux-cert-secret
    strategy: deployment
  installModes:
  - supported: true
    type: OwnNamespace
  - supported: true
    type: SingleNamespace
  - supported: false
    type: MultiNamespace
  - supported: false
    type: AllNamespaces
  keywords:
  - storage
  - rook
  - ceph
  - block storage
  - shared filesystem
  - object storage
  links:
  - name: Source Code
    url: https://github.com/red-hat-storage/ocs-operator
  maintainers:
  - email: ocs-support@redhat.com
    name: Red Hat Support
  maturity: alpha
  minKubeVersion: 1.16.0
  provider:
    name: Red Hat
  relatedImages:
  - image: registry.redhat.io/rhel9/postgresql-16@sha256:42f385ac3c9b8913426da7c57e70bc6617cd237aaf697c667f6385a8c0b0118b
    name: noobaa-db
  - image: registry.redhat.io/odf4/mcg-core-rhel9@sha256:4e958acfb22419e9019f58cc971194087fd32a32f4c2f33e0ccac26b78e7194f
    name: noobaa-core
  - image: registry.redhat.io/odf4/ocs-rhel9-operator@sha256:7d63aa7308ccc1eb25f2d515297f4ff3ebaf4efb5e715a5b5e86b459e7b0abb8
    name: ocs-operator
  - image: registry.redhat.io/odf4/rook-ceph-rhel9-operator@sha256:7c4cc389de5b17b8d2d530c5e249b9f195bbeda3596168fcafef0009390711a9
    name: rook-container
  - image: registry.redhat.io/rhceph/rhceph-8-rhel9@sha256:24590b9ab8aebfeebfde344ec0c522164efd57c28f8f88692b91673c7f8f164a
    name: ceph-container
  - image: registry.redhat.io/odf4/odf-must-gather-rhel9@sha256:e4e2c0a3351138c27432b5a6aa34955cfe8f31b7ccbc493c2b0448e5b76b5757
    name: ocs-must-gather
  - image: registry.redhat.io/odf4/ocs-metrics-exporter-rhel9@sha256:8c0e3ae948cca9044116b361cae2c137bbe2a5308c8ca3b761eec272a2c69794
    name: ocs-metrics-exporter
  - image: registry.redhat.io/openshift4/ose-oauth-proxy-rhel9@sha256:424f37a39d3822861a7e5f6da12a758eee452cbdb059d86d8864e44eb0efe29e
    name: ux-backend-oauth-image
  - image: registry.redhat.io/openshift4/ose-kube-rbac-proxy-rhel9@sha256:784c4667a867abdbec6d31a4bbde52676a0f37f8e448eaae37568a46fcdeace7
    name: kube-rbac-proxy
  replaces: ocs-operator.v4.19.5-rhodf
  version: 4.19.6-rhodf
status:
  cleanup: {}
  conditions:
  - lastTransitionTime: "2025-10-27T12:44:13Z"
    lastUpdateTime: "2025-10-27T12:44:14Z"
    message: 'installing: waiting for deployment ocs-operator to become ready: deployment
      "ocs-operator" not available: Deployment does not have minimum availability.'
    phase: Installing
    reason: InstallWaiting
  - lastTransitionTime: "2025-10-27T12:44:59Z"
    lastUpdateTime: "2025-10-27T12:44:59Z"
    message: install strategy completed with no errors
    phase: Succeeded
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-27T17:38:13Z"
    lastUpdateTime: "2025-10-27T17:38:13Z"
    message: 'installing: waiting for deployment ocs-operator to become ready: deployment
      "ocs-operator" not available: Deployment does not have minimum availability.'
    phase: Failed
    reason: ComponentUnhealthy
  - lastTransitionTime: "2025-10-27T17:38:13Z"
    lastUpdateTime: "2025-10-27T17:38:13Z"
    message: 'installing: waiting for deployment ocs-operator to become ready: deployment
      "ocs-operator" not available: Deployment does not have minimum availability.'
    phase: Pending
    reason: NeedsReinstall
  - lastTransitionTime: "2025-10-27T17:38:14Z"
    lastUpdateTime: "2025-10-27T17:38:14Z"
    message: all requirements found, attempting install
    phase: InstallReady
    reason: AllRequirementsMet
  - lastTransitionTime: "2025-10-27T17:38:14Z"
    lastUpdateTime: "2025-10-27T17:38:14Z"
    message: waiting for install components to report healthy
    phase: Installing
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-27T17:38:14Z"
    lastUpdateTime: "2025-10-27T17:38:14Z"
    message: 'installing: waiting for deployment ocs-operator to become ready: deployment
      "ocs-operator" not available: Deployment does not have minimum availability.'
    phase: Installing
    reason: InstallWaiting
  - lastTransitionTime: "2025-10-27T17:38:33Z"
    lastUpdateTime: "2025-10-27T17:38:33Z"
    message: install strategy completed with no errors
    phase: Succeeded
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-29T08:44:47Z"
    lastUpdateTime: "2025-10-29T08:44:47Z"
    message: 'installing: waiting for deployment ocs-operator to become ready: deployment
      "ocs-operator" not available: Deployment does not have minimum availability.'
    phase: Failed
    reason: ComponentUnhealthy
  - lastTransitionTime: "2025-10-29T08:44:47Z"
    lastUpdateTime: "2025-10-29T08:44:47Z"
    message: 'installing: waiting for deployment ocs-operator to become ready: deployment
      "ocs-operator" not available: Deployment does not have minimum availability.'
    phase: Pending
    reason: NeedsReinstall
  - lastTransitionTime: "2025-10-29T08:44:48Z"
    lastUpdateTime: "2025-10-29T08:44:48Z"
    message: all requirements found, attempting install
    phase: InstallReady
    reason: AllRequirementsMet
  - lastTransitionTime: "2025-10-29T08:44:48Z"
    lastUpdateTime: "2025-10-29T08:44:48Z"
    message: waiting for install components to report healthy
    phase: Installing
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-29T08:44:48Z"
    lastUpdateTime: "2025-10-29T08:44:48Z"
    message: 'installing: waiting for deployment ocs-operator to become ready: deployment
      "ocs-operator" not available: Deployment does not have minimum availability.'
    phase: Installing
    reason: InstallWaiting
  - lastTransitionTime: "2025-10-29T08:45:05Z"
    lastUpdateTime: "2025-10-29T08:45:05Z"
    message: install strategy completed with no errors
    phase: Succeeded
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-29T11:55:49Z"
    lastUpdateTime: "2025-10-29T11:55:49Z"
    message: 'installing: waiting for deployment ocs-operator to become ready: deployment
      "ocs-operator" not available: Deployment does not have minimum availability.'
    phase: Failed
    reason: ComponentUnhealthy
  - lastTransitionTime: "2025-10-29T11:55:49Z"
    lastUpdateTime: "2025-10-29T11:55:49Z"
    message: 'installing: waiting for deployment ocs-operator to become ready: deployment
      "ocs-operator" not available: Deployment does not have minimum availability.'
    phase: Pending
    reason: NeedsReinstall
  - lastTransitionTime: "2025-10-29T11:55:49Z"
    lastUpdateTime: "2025-10-29T11:55:49Z"
    message: all requirements found, attempting install
    phase: InstallReady
    reason: AllRequirementsMet
  - lastTransitionTime: "2025-10-29T11:55:50Z"
    lastUpdateTime: "2025-10-29T11:55:50Z"
    message: waiting for install components to report healthy
    phase: Installing
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-29T11:55:50Z"
    lastUpdateTime: "2025-10-29T11:55:50Z"
    message: 'installing: waiting for deployment ocs-operator to become ready: deployment
      "ocs-operator" not available: Deployment does not have minimum availability.'
    phase: Installing
    reason: InstallWaiting
  - lastTransitionTime: "2025-10-29T11:56:08Z"
    lastUpdateTime: "2025-10-29T11:56:08Z"
    message: install strategy completed with no errors
    phase: Succeeded
    reason: InstallSucceeded
  lastTransitionTime: "2025-10-29T11:56:08Z"
  lastUpdateTime: "2025-10-29T11:56:08Z"
  message: install strategy completed with no errors
  phase: Succeeded
  reason: InstallSucceeded
  requirementStatus:
  - group: operators.coreos.com
    kind: ClusterServiceVersion
    message: CSV minKubeVersion (1.16.0) less than server version (v1.32.9)
    name: ocs-operator.v4.19.6-rhodf
    status: Present
    version: v1alpha1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: ocsinitializations.ocs.openshift.io
    status: Present
    uuid: 3377a8ef-bf59-4ab6-bf2c-ba818a7cc94e
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: storageautoscalers.ocs.openshift.io
    status: Present
    uuid: 62684659-7ec4-488d-b63b-86a60c1faebc
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: storageclusterpeers.ocs.openshift.io
    status: Present
    uuid: ee1b2e25-4e10-4ed9-b0b8-3836039d2557
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: storageclusters.ocs.openshift.io
    status: Present
    uuid: 2ed22318-270c-49e1-8d22-5e6887023cdf
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: storageconsumers.ocs.openshift.io
    status: Present
    uuid: 69fff1d7-841d-4992-b7b4-4f4eeb17c731
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","get","list","update","watch"],"apiGroups":["apiextensions.k8s.io"],"resources":["customresourcedefinitions"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["apps"],"resources":["daemonsets","deployments","replicasets","statefulsets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":["authentication.k8s.io"],"resources":["tokenreviews"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":["authorization.k8s.io"],"resources":["subjectaccessreviews"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["batch"],"resources":["cronjobs","jobs"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["ceph.rook.io"],"resources":["cephblockpoolradosnamespaces","cephfilesystemsubvolumegroups"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["ceph.rook.io"],"resources":["cephblockpools","cephclients","cephclusters","cephfilesystems","cephnfses","cephobjectstores","cephobjectstoreusers","cephrbdmirrors"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","get","list","update","watch"],"apiGroups":["cluster.open-cluster-management.io"],"resources":["clusterclaims"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["config.openshift.io"],"resources":["clusterversions","infrastructures","networks"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","get","list","update"],"apiGroups":["coordination.k8s.io"],"resources":["leases"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":[""],"resources":["configmaps","endpoints","events","nodes","persistentvolumeclaims","persistentvolumes","pods","secrets","serviceaccounts","services"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update"],"apiGroups":[""],"resources":["configmaps/finalizers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["namespaces"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["groupsnapshot.storage.k8s.io"],"resources":["volumegroupsnapshotclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["k8s.cni.cncf.io"],"resources":["network-attachment-definitions"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["monitoring.coreos.com"],"resources":["alertmanagers","prometheuses","servicemonitors"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":["monitoring.coreos.com"],"resources":["prometheuses/api"],"resourceNames":["k8s"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["monitoring.coreos.com"],"resources":["prometheusrules"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["noobaa.io"],"resources":["noobaaaccounts","noobaas"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["objectbucket.io"],"resources":["objectbucketclaims","objectbuckets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["ocs.openshift.io"],"resources":["*","storageclusterpeers","storageconsumers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":["ocs.openshift.io"],"resources":["storageclients"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["patch"],"apiGroups":["ocs.openshift.io"],"resources":["storageclients/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update"],"apiGroups":["ocs.openshift.io"],"resources":["storageclusterpeers/finalizers","storagerequests/finalizers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","patch","update"],"apiGroups":["ocs.openshift.io"],"resources":["storageclusterpeers/status","storageconsumers/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["ocs.openshift.io"],"resources":["storageclusters"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["delete","get","list","patch","update","watch"],"apiGroups":["ocs.openshift.io"],"resources":["storagerequests"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["delete","get","list","patch","update","watch"],"apiGroups":["operators.coreos.com"],"resources":["clusterserviceversions"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["operators.coreos.com"],"resources":["operatorconditions"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["quota.openshift.io"],"resources":["clusterresourcequotas"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["rbac.authorization.k8s.io"],"resources":["clusterrolebindings","clusterroles","rolebindings","roles"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","list","update","watch"],"apiGroups":["route.openshift.io"],"resources":["routes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","get","update"],"apiGroups":["security.openshift.io"],"resources":["securitycontextconstraints"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","get","update"],"apiGroups":["security.openshift.io"],"resources":["securitycontextconstraints"],"resourceNames":["privileged"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","update","watch"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["template.openshift.io"],"resources":["templates"]}
      status: Satisfied
      version: v1
    group: ""
    kind: ServiceAccount
    message: ""
    name: ocs-operator
    status: Present
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list"],"apiGroups":["groupsnapshot.storage.k8s.io"],"resources":["volumegroupsnapshotclasses"]}
      status: Satisfied
      version: v1
    group: ""
    kind: ServiceAccount
    message: ""
    name: ocs-provider-server
    status: Present
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":["authentication.k8s.io"],"resources":["tokenreviews"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":["authorization.k8s.io"],"resources":["subjectaccessreviews"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses"]}
      status: Satisfied
      version: v1
    group: ""
    kind: ServiceAccount
    message: ""
    name: ux-backend-server
    status: Present
    version: v1
