---
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: |-
      [
        {
          "apiVersion": "ceph.rook.io/v1",
          "kind": "CephCluster",
          "metadata": {
            "name": "my-rook-ceph",
            "namespace": "my-rook-ceph"
          },
          "spec": {
            "cephVersion": {
              "image": "registry.redhat.io/rhceph/rhceph-8-rhel9@sha256:24590b9ab8aebfeebfde344ec0c522164efd57c28f8f88692b91673c7f8f164a"
            },
            "dataDirHostPath": "/var/lib/rook",
            "mon": {
              "count": 3
            },
            "dashboard": {
              "enabled": true
            },
            "network": {
              "hostNetwork": false
            },
            "rbdMirroring": {
              "workers": 0
            },
            "storage": {
              "useAllNodes": true,
              "useAllDevices": true
            }
          }
        },
        {
          "apiVersion": "ceph.rook.io/v1",
          "kind": "CephBlockPool",
          "metadata": {
            "name": "replicapool",
            "namespace": "my-rook-ceph"
          },
          "spec": {
            "failureDomain": "host",
            "replicated": {
              "size": 3
            },
            "annotations": null
          }
        },
        {
          "apiVersion": "ceph.rook.io/v1",
          "kind": "CephObjectStore",
          "metadata": {
            "name": "my-store",
            "namespace": "my-rook-ceph"
          },
          "spec": {
            "metadataPool": {
              "failureDomain": "host",
              "replicated": {
                "size": 3
              }
            },
            "dataPool": {
              "failureDomain": "host",
              "replicated": {
                "size": 3
              }
            },
            "gateway": {
              "type": "s3",
              "sslCertificateRef": null,
              "port": 8080,
              "securePort": null,
              "instances": 1,
              "placement": null,
              "annotations": null,
              "resources": null
            }
          }
        },
        {
          "apiVersion": "ceph.rook.io/v1",
          "kind": "CephObjectStoreUser",
          "metadata": {
            "name": "my-user",
            "namespace": "my-rook-ceph"
          },
          "spec": {
            "store": "my-store",
            "displayName": "my display name"
          }
        },
        {
          "apiVersion": "ceph.rook.io/v1",
          "kind": "CephNFS",
          "metadata": {
            "name": "my-nfs",
            "namespace": "rook-ceph"
          },
          "spec": {
            "rados": {
              "pool": "myfs-data0",
              "namespace": "nfs-ns"
            },
            "server": {
              "active": 3,
              "placement": null,
              "annotations": null,
              "resources": null
            }
          }
        },
        {
          "apiVersion": "ceph.rook.io/v1",
          "kind": "CephClient",
          "metadata": {
            "name": "cinder",
            "namespace": "rook-ceph"
          },
          "spec": {
            "caps": {
              "mon": "profile rbd",
              "osd": "profile rbd pool=volumes, profile rbd pool=vms, profile rbd-read-only pool=images"
            }
          }
        },
        {
          "apiVersion": "ceph.rook.io/v1",
          "kind": "CephFilesystem",
          "metadata": {
            "name": "myfs",
            "namespace": "rook-ceph"
          },
          "spec": {
            "dataPools": [
              {
                "compressionMode": "",
                "crushRoot": "",
                "deviceClass": "",
                "erasureCoded": {
                  "algorithm": "",
                  "codingChunks": 0,
                  "dataChunks": 0
                },
                "failureDomain": "host",
                "replicated": {
                  "requireSafeReplicaSize": false,
                  "size": 1,
                  "targetSizeRatio": 0.5
                }
              }
            ],
            "metadataPool": {
              "compressionMode": "",
              "crushRoot": "",
              "deviceClass": "",
              "erasureCoded": {
                "algorithm": "",
                "codingChunks": 0,
                "dataChunks": 0
              },
              "failureDomain": "",
              "replicated": {
                "requireSafeReplicaSize": false,
                "size": 1,
                "targetSizeRatio": 0
              }
            },
            "metadataServer": {
              "activeCount": 1,
              "activeStandby": true,
              "placement": {},
              "resources": {}
            },
            "preservePoolsOnDelete": false,
            "preserveFilesystemOnDelete": false
          }
        },
        {
          "apiVersion": "ceph.rook.io/v1",
          "kind": "CephRBDMirror",
          "metadata": {
            "name": "my-rbd-mirror",
            "namespace": "rook-ceph"
          },
          "spec": {
            "annotations": null,
            "count": 1,
            "placement": {
              "topologyKey": "kubernetes.io/hostname"
            },
            "resources": null
          }
        }
      ]
    capabilities: Seamless Upgrades
    containerImage: registry.redhat.io/odf4/rook-ceph-rhel9-operator@sha256:7c4cc389de5b17b8d2d530c5e249b9f195bbeda3596168fcafef0009390711a9
    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/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephBlockPool","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephBlockPoolRadosNamespace","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephBucketNotification","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephBucketTopic","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephCOSIDriver","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephClient","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephCluster","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephFilesystem","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephFilesystemMirror","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephFilesystemSubVolumeGroup","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephNFS","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephObjectRealm","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephObjectStore","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephObjectStoreUser","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephObjectZone","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephObjectZoneGroup","version":"v1"}},{"type":"olm.gvk","value":{"group":"ceph.rook.io","kind":"CephRBDMirror","version":"v1"}},{"type":"olm.package","value":{"packageName":"rook-ceph-operator","version":"4.19.6-rhodf"}}]}'
    operators.openshift.io/valid-subscription: '["OpenShift Platform Plus","OpenShift
      Data Foundation Essentials","OpenShift Data Foundation Advanced"]'
    operators.operatorframework.io/builder: operator-sdk-v1.25.0
    operators.operatorframework.io/operator-type: non-standalone
    operators.operatorframework.io/project_layout: unknown
    repository: https://github.com/red-hat-storage/rook
    tectonic-visibility: ocs
  creationTimestamp: "2025-10-27T12:44:09Z"
  finalizers:
  - operators.coreos.com/csv-cleanup
  generation: 2
  labels:
    olm.managed: "true"
    operators.coreos.com/rook-ceph-operator.openshift-storage: ""
  managedFields:
  - apiVersion: operators.coreos.com/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:alm-examples: {}
          f:capabilities: {}
          f:containerImage: {}
          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/properties: {}
          f:operators.openshift.io/valid-subscription: {}
          f:operators.operatorframework.io/builder: {}
          f:operators.operatorframework.io/operator-type: {}
          f:operators.operatorframework.io/project_layout: {}
          f:repository: {}
          f:tectonic-visibility: {}
        f:labels:
          .: {}
          f:olm.managed: {}
      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:permissions: {}
          f:strategy: {}
        f:installModes: {}
        f:keywords: {}
        f:links: {}
        f:maintainers: {}
        f:maturity: {}
        f:minKubeVersion: {}
        f:provider:
          .: {}
          f:name: {}
          f:url: {}
        f:relatedImages: {}
        f:replaces: {}
        f:version: {}
    manager: catalog
    operation: Update
    time: "2025-10-27T12:44:09Z"
  - 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/rook-ceph-operator.openshift-storage: {}
    manager: olm
    operation: Update
    time: "2025-10-27T12:44:14Z"
  - 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:39Z"
  - 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-27T12:47:58Z"
  name: rook-ceph-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: "64552"
  uid: 7ceb49ca-d129-49ee-9584-bd7b70869323
spec:
  apiservicedefinitions: {}
  cleanup:
    enabled: false
  customresourcedefinitions:
    owned:
    - description: Represents a Ceph cluster.
      displayName: Ceph Cluster
      kind: CephCluster
      name: cephclusters.ceph.rook.io
      version: v1
    - description: Represents a Ceph Block Pool.
      displayName: Ceph Block Pool
      kind: CephBlockPool
      name: cephblockpools.ceph.rook.io
      version: v1
    - description: Represents a Ceph Object Store.
      displayName: Ceph Object Store
      kind: CephObjectStore
      name: cephobjectstores.ceph.rook.io
      specDescriptors:
      - description: Coding Chunks
        displayName: Coding Chunks
        path: dataPool.erasureCoded.codingChunks
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:dataPool
        - urn:alm:descriptor:com.tectonic.ui:number
      - description: Data Chunks
        displayName: Data Chunks
        path: dataPool.erasureCoded.dataChunks
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:dataPool
        - urn:alm:descriptor:com.tectonic.ui:number
      - description: failureDomain
        displayName: failureDomain
        path: dataPool.failureDomain
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:dataPool
        - urn:alm:descriptor:com.tectonic.ui:text
      - description: Size
        displayName: Size
        path: dataPool.replicated.size
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:dataPool
        - urn:alm:descriptor:com.tectonic.ui:number
      - description: Annotations
        displayName: Annotations
        path: gateway.annotations
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway
        - urn:alm:descriptor:io.kubernetes:annotations
      - description: Instances
        displayName: Instances
        path: gateway.instances
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway
        - urn:alm:descriptor:com.tectonic.ui:number
      - description: Resources
        displayName: Resources
        path: gateway.resources
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway
        - urn:alm:descriptor:com.tectonic.ui:resourceRequirements
      - description: placement
        displayName: placement
        path: gateway.placement
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway
        - urn:alm:descriptor:io.kubernetes:placement
      - description: securePort
        displayName: securePort
        path: gateway.securePort
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway
        - urn:alm:descriptor:io.kubernetes:securePort
      - description: sslCertificateRef
        displayName: sslCertificateRef
        path: gateway.sslCertificateRef
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway
        - urn:alm:descriptor:io.kubernetes:sslCertificateRef
      - description: Type
        displayName: Type
        path: gateway.type
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:gateway
        - urn:alm:descriptor:com.tectonic.ui:text
      - description: Coding Chunks
        displayName: Coding Chunks
        path: metadataPool.erasureCoded.codingChunks
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:metadataPool
        - urn:alm:descriptor:com.tectonic.ui:number
      - description: Data Chunks
        displayName: Data Chunks
        path: metadataPool.erasureCoded.dataChunks
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:metadataPool
        - urn:alm:descriptor:com.tectonic.ui:number
      - description: failureDomain
        displayName: failureDomain
        path: metadataPool.failureDomain
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:metadataPool
        - urn:alm:descriptor:com.tectonic.ui:text
      - description: Size
        displayName: Size
        path: metadataPool.replicated.size
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:fieldGroup:metadataPool
        - urn:alm:descriptor:com.tectonic.ui:number
      version: v1
    - description: Represents a Ceph Object Store User.
      displayName: Ceph Object Store User
      kind: CephObjectStoreUser
      name: cephobjectstoreusers.ceph.rook.io
      version: v1
    - description: Represents a cluster of Ceph NFS ganesha gateways.
      displayName: Ceph NFS
      kind: CephNFS
      name: cephnfses.ceph.rook.io
      version: v1
    - description: Represents a Ceph User.
      displayName: Ceph Client
      kind: CephClient
      name: cephclients.ceph.rook.io
      version: v1
    - description: Represents a Ceph Filesystem.
      displayName: Ceph Filesystem
      kind: CephFilesystem
      name: cephfilesystems.ceph.rook.io
      version: v1
    - description: Represents a Ceph Filesystem Mirror.
      displayName: Ceph Filesystem Mirror
      kind: CephFilesystemMirror
      name: cephfilesystemmirrors.ceph.rook.io
      version: v1
    - description: Represents a Ceph RBD Mirror.
      displayName: Ceph RBD Mirror
      kind: CephRBDMirror
      name: cephrbdmirrors.ceph.rook.io
      version: v1
    - description: Represents a Ceph Object Store Realm.
      displayName: Ceph Object Store Realm
      kind: CephObjectRealm
      name: cephobjectrealms.ceph.rook.io
      version: v1
    - description: Represents a Ceph Object Store Zone Group.
      displayName: Ceph Object Store Zone Group
      kind: CephObjectZoneGroup
      name: cephobjectzonegroups.ceph.rook.io
      version: v1
    - description: Represents a Ceph Object Store Zone.
      displayName: Ceph Object Store Zone
      kind: CephObjectZone
      name: cephobjectzones.ceph.rook.io
      version: v1
    - description: Represents a Ceph Bucket Notification.
      displayName: Ceph Bucket Notification
      kind: CephBucketNotification
      name: cephbucketnotifications.ceph.rook.io
      version: v1
    - description: Represents a Ceph Bucket Topic.
      displayName: Ceph Bucket Topic
      kind: CephBucketTopic
      name: cephbuckettopics.ceph.rook.io
      version: v1
    - description: Represents a Ceph Filesystem SubVolumeGroup.
      displayName: Ceph Filesystem SubVolumeGroup
      kind: CephFilesystemSubVolumeGroup
      name: cephfilesystemsubvolumegroups.ceph.rook.io
      version: v1
    - description: Represents a Ceph BlockPool Rados Namespace.
      displayName: Ceph BlockPool Rados Namespace
      kind: CephBlockPoolRadosNamespace
      name: cephblockpoolradosnamespaces.ceph.rook.io
      version: v1
    - description: Represents a Ceph COSI Driver.
      displayName: Ceph COSI Driver
      kind: CephCOSIDriver
      name: cephcosidrivers.ceph.rook.io
      version: v1
  description: |2

    The Rook-Ceph storage operator packages, deploys, manages, upgrades and scales Ceph storage for providing persistent storage to infrastructure services (Logging, Metrics, Registry) as well as stateful applications in Kubernetes clusters.

    ## Rook-Ceph Storage Operator

    Rook runs as a cloud-native service in Kubernetes clusters for optimal integration with applications in need of storage, and handles the heavy-lifting behind the scenes such as provisioning and management.
    Rook orchestrates battle-tested open-source storage technology Ceph, which has years of production deployments and runs some of the worlds largest clusters.

    Ceph is a massively scalable, software-defined, cloud native storage platform that offers block, file and object storage services.
    Ceph can be used to back a wide variety of applications including relational databases, NoSQL databases, CI/CD tool-sets, messaging, AI/ML and analytics applications.
    Ceph is a proven storage platform that backs some of the world's largest storage deployments and has a large vibrant open source community backing the project.

    ## Supported features
    * **High Availability and resiliency** - Ceph has no single point of failures (SPOF) and all its components work natively in a highly available fashion
    * **Data Protection** - Ceph periodically scrub for inconsistent objects and repair them if necessary, making sure your replicas are always coherent
    * **Consistent storage platform across hybrid cloud** - Ceph can be deployed anywhere (on-premise or bare metal) and thus offers a similar experience regardless
    * **Block, File & Object storage service** - Ceph can expose your data through several storage interfaces, solving all the application use cases
    * **Scale up/down** - addition and removal of storage is fully covered by the operator.
    * **Dashboard** - The Operator deploys a dashboard for monitoring and introspecting your cluster.

    ## Before you start
    https://rook.io/docs/rook/v1.0/k8s-pre-reqs.html
  displayName: Rook-Ceph
  icon:
  - base64data: PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTIgMTQ1Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2UwMDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPlJlZEhhdC1Mb2dvLUhhdC1Db2xvcjwvdGl0bGU+PHBhdGggZD0iTTE1Ny43Nyw2Mi42MWExNCwxNCwwLDAsMSwuMzEsMy40MmMwLDE0Ljg4LTE4LjEsMTcuNDYtMzAuNjEsMTcuNDZDNzguODMsODMuNDksNDIuNTMsNTMuMjYsNDIuNTMsNDRhNi40Myw2LjQzLDAsMCwxLC4yMi0xLjk0bC0zLjY2LDkuMDZhMTguNDUsMTguNDUsMCwwLDAtMS41MSw3LjMzYzAsMTguMTEsNDEsNDUuNDgsODcuNzQsNDUuNDgsMjAuNjksMCwzNi40My03Ljc2LDM2LjQzLTIxLjc3LDAtMS4wOCwwLTEuOTQtMS43My0xMC4xM1oiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMjcuNDcsODMuNDljMTIuNTEsMCwzMC42MS0yLjU4LDMwLjYxLTE3LjQ2YTE0LDE0LDAsMCwwLS4zMS0zLjQybC03LjQ1LTMyLjM2Yy0xLjcyLTcuMTItMy4yMy0xMC4zNS0xNS43My0xNi42QzEyNC44OSw4LjY5LDEwMy43Ni41LDk3LjUxLjUsOTEuNjkuNSw5MCw4LDgzLjA2LDhjLTYuNjgsMC0xMS42NC01LjYtMTcuODktNS42LTYsMC05LjkxLDQuMDktMTIuOTMsMTIuNSwwLDAtOC40MSwyMy43Mi05LjQ5LDI3LjE2QTYuNDMsNi40MywwLDAsMCw0Mi41Myw0NGMwLDkuMjIsMzYuMywzOS40NSw4NC45NCwzOS40NU0xNjAsNzIuMDdjMS43Myw4LjE5LDEuNzMsOS4wNSwxLjczLDEwLjEzLDAsMTQtMTUuNzQsMjEuNzctMzYuNDMsMjEuNzdDNzguNTQsMTA0LDM3LjU4LDc2LjYsMzcuNTgsNTguNDlhMTguNDUsMTguNDUsMCwwLDEsMS41MS03LjMzQzIyLjI3LDUyLC41LDU1LC41LDc0LjIyYzAsMzEuNDgsNzQuNTksNzAuMjgsMTMzLjY1LDcwLjI4LDQ1LjI4LDAsNTYuNy0yMC40OCw1Ni43LTM2LjY1LDAtMTIuNzItMTEtMjcuMTYtMzAuODMtMzUuNzgiLz48L3N2Zz4=
    mediatype: image/svg+xml
  install:
    spec:
      clusterPermissions:
      - rules:
        - apiGroups:
          - ""
          resources:
          - configmaps
          - nodes
          - nodes/proxy
          - persistentvolumes
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          resources:
          - events
          verbs:
          - create
          - patch
          - list
          - get
          - watch
        - apiGroups:
          - storage.k8s.io
          resources:
          - storageclasses
          verbs:
          - get
          - list
          - watch
        serviceAccountName: rook-ceph-mgr
      - rules:
        - apiGroups:
          - ""
          resources:
          - nodes
          verbs:
          - get
          - list
        serviceAccountName: rook-ceph-osd
      - rules:
        - apiGroups:
          - ""
          resources:
          - pods
          - nodes
          - nodes/proxy
          - secrets
          - configmaps
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          - discovery.k8s.io
          resources:
          - events
          - persistentvolumes
          - persistentvolumeclaims
          - endpoints
          - services
          - endpointslices
          - endpointslices/restricted
          verbs:
          - get
          - list
          - watch
          - patch
          - create
          - update
          - delete
        - apiGroups:
          - storage.k8s.io
          resources:
          - storageclasses
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - batch
          resources:
          - jobs
          - cronjobs
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
          - deletecollection
        - apiGroups:
          - ceph.rook.io
          resources:
          - cephclients
          - cephclusters
          - cephblockpools
          - cephfilesystems
          - cephnfses
          - cephobjectstores
          - cephobjectstoreusers
          - cephobjectrealms
          - cephobjectzonegroups
          - cephobjectzones
          - cephbuckettopics
          - cephbucketnotifications
          - cephrbdmirrors
          - cephfilesystemmirrors
          - cephfilesystemsubvolumegroups
          - cephblockpoolradosnamespaces
          - cephcosidrivers
          verbs:
          - get
          - list
          - watch
          - update
        - apiGroups:
          - ceph.rook.io
          resources:
          - cephclients/status
          - cephclusters/status
          - cephblockpools/status
          - cephfilesystems/status
          - cephnfses/status
          - cephobjectstores/status
          - cephobjectstoreusers/status
          - cephobjectrealms/status
          - cephobjectzonegroups/status
          - cephobjectzones/status
          - cephbuckettopics/status
          - cephbucketnotifications/status
          - cephrbdmirrors/status
          - cephfilesystemmirrors/status
          - cephfilesystemsubvolumegroups/status
          - cephblockpoolradosnamespaces/status
          verbs:
          - update
        - apiGroups:
          - ceph.rook.io
          resources:
          - cephclients/finalizers
          - cephclusters/finalizers
          - cephblockpools/finalizers
          - cephfilesystems/finalizers
          - cephnfses/finalizers
          - cephobjectstores/finalizers
          - cephobjectstoreusers/finalizers
          - cephobjectrealms/finalizers
          - cephobjectzonegroups/finalizers
          - cephobjectzones/finalizers
          - cephbuckettopics/finalizers
          - cephbucketnotifications/finalizers
          - cephrbdmirrors/finalizers
          - cephfilesystemmirrors/finalizers
          - cephfilesystemsubvolumegroups/finalizers
          - cephblockpoolradosnamespaces/finalizers
          verbs:
          - update
        - apiGroups:
          - policy
          - apps
          - extensions
          resources:
          - poddisruptionbudgets
          - deployments
          - replicasets
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
          - deletecollection
        - apiGroups:
          - apps
          resources:
          - deployments/finalizers
          verbs:
          - update
        - apiGroups:
          - healthchecking.openshift.io
          resources:
          - machinedisruptionbudgets
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
        - apiGroups:
          - machine.openshift.io
          resources:
          - machines
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
        - apiGroups:
          - storage.k8s.io
          resources:
          - csidrivers
          verbs:
          - create
          - delete
          - get
          - update
        - apiGroups:
          - k8s.cni.cncf.io
          resources:
          - network-attachment-definitions
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - secrets
          - configmaps
          verbs:
          - get
          - create
          - update
          - delete
        - apiGroups:
          - storage.k8s.io
          resources:
          - storageclasses
          verbs:
          - get
        - apiGroups:
          - objectbucket.io
          resources:
          - objectbucketclaims
          verbs:
          - list
          - watch
          - get
          - update
        - apiGroups:
          - objectbucket.io
          resources:
          - objectbuckets
          verbs:
          - list
          - watch
          - get
          - create
          - update
          - delete
        - apiGroups:
          - objectbucket.io
          resources:
          - objectbucketclaims/status
          - objectbuckets/status
          verbs:
          - update
        - apiGroups:
          - objectbucket.io
          resources:
          - objectbucketclaims/finalizers
          - objectbuckets/finalizers
          verbs:
          - update
        - apiGroups:
          - ""
          resources:
          - pods
          - pods/log
          verbs:
          - get
          - list
        - apiGroups:
          - ""
          resources:
          - pods/exec
          verbs:
          - create
        - apiGroups:
          - csiaddons.openshift.io
          resources:
          - networkfences
          verbs:
          - create
          - get
          - update
          - delete
          - watch
          - list
          - deletecollection
        - apiGroups:
          - apiextensions.k8s.io
          resources:
          - customresourcedefinitions
          verbs:
          - get
        - apiGroups:
          - csi.ceph.io
          resources:
          - cephconnections
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - csi.ceph.io
          resources:
          - clientprofiles
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - csi.ceph.io
          resources:
          - operatorconfigs
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        - apiGroups:
          - csi.ceph.io
          resources:
          - drivers
          verbs:
          - create
          - delete
          - get
          - list
          - update
          - watch
        serviceAccountName: rook-ceph-system
      - rules:
        - apiGroups:
          - ""
          resources:
          - nodes
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - secrets
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - serviceaccounts
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - serviceaccounts/token
          verbs:
          - create
        serviceAccountName: rook-csi-cephfs-plugin-sa
      - rules:
        - apiGroups:
          - ""
          resources:
          - secrets
          verbs:
          - get
          - list
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - nodes
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - storage.k8s.io
          resources:
          - csinodes
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          resources:
          - persistentvolumes
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
          - patch
        - apiGroups:
          - ""
          resources:
          - persistentvolumeclaims
          verbs:
          - get
          - list
          - watch
          - patch
          - update
        - apiGroups:
          - storage.k8s.io
          resources:
          - storageclasses
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          resources:
          - events
          verbs:
          - list
          - watch
          - create
          - update
          - patch
        - apiGroups:
          - storage.k8s.io
          resources:
          - volumeattachments
          verbs:
          - get
          - list
          - watch
          - patch
        - apiGroups:
          - storage.k8s.io
          resources:
          - volumeattachments/status
          verbs:
          - patch
        - apiGroups:
          - ""
          resources:
          - persistentvolumeclaims/status
          verbs:
          - patch
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshots
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotclasses
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotcontents
          verbs:
          - get
          - list
          - watch
          - patch
          - update
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotcontents/status
          verbs:
          - update
          - patch
        - apiGroups:
          - groupsnapshot.storage.k8s.io
          resources:
          - volumegroupsnapshotclasses
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - groupsnapshot.storage.k8s.io
          resources:
          - volumegroupsnapshotcontents
          verbs:
          - get
          - list
          - watch
          - update
          - patch
        - apiGroups:
          - groupsnapshot.storage.k8s.io
          resources:
          - volumegroupsnapshotcontents/status
          verbs:
          - update
          - patch
        - apiGroups:
          - ""
          resources:
          - serviceaccounts
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - serviceaccounts/token
          verbs:
          - create
        - apiGroups:
          - authentication.k8s.io
          resources:
          - tokenreviews
          verbs:
          - create
        serviceAccountName: rook-csi-cephfs-provisioner-sa
      - rules:
        - apiGroups:
          - ""
          resources:
          - nodes
          verbs:
          - get
        serviceAccountName: rook-csi-nfs-plugin-sa
      - rules:
        - apiGroups:
          - ""
          resources:
          - persistentvolumes
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
          - patch
        - apiGroups:
          - ""
          resources:
          - persistentvolumeclaims
          verbs:
          - get
          - list
          - watch
          - patch
          - update
        - apiGroups:
          - storage.k8s.io
          resources:
          - storageclasses
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          resources:
          - events
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - patch
        - apiGroups:
          - storage.k8s.io
          resources:
          - csinodes
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          resources:
          - nodes
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - coordination.k8s.io
          resources:
          - leases
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - patch
        - apiGroups:
          - ""
          resources:
          - secrets
          verbs:
          - get
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotclasses
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotcontents
          verbs:
          - get
          - list
          - watch
          - update
          - patch
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotcontents/status
          verbs:
          - update
          - patch
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshots
          verbs:
          - get
          - list
        - apiGroups:
          - ""
          resources:
          - persistentvolumeclaims/status
          verbs:
          - patch
        - apiGroups:
          - storage.k8s.io
          resources:
          - volumeattachments
          verbs:
          - get
          - list
          - watch
          - patch
        - apiGroups:
          - storage.k8s.io
          resources:
          - volumeattachments/status
          verbs:
          - patch
        serviceAccountName: rook-csi-nfs-provisioner-sa
      - rules:
        - apiGroups:
          - ""
          resources:
          - secrets
          verbs:
          - get
          - list
        - apiGroups:
          - ""
          resources:
          - persistentvolumes
          verbs:
          - get
          - list
        - apiGroups:
          - storage.k8s.io
          resources:
          - volumeattachments
          verbs:
          - get
          - list
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - serviceaccounts
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - serviceaccounts/token
          verbs:
          - create
        - apiGroups:
          - ""
          resources:
          - nodes
          verbs:
          - get
        - apiGroups:
          - authentication.k8s.io
          resources:
          - tokenreviews
          verbs:
          - create
        serviceAccountName: rook-csi-rbd-plugin-sa
      - rules:
        - apiGroups:
          - ""
          resources:
          - secrets
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          resources:
          - persistentvolumes
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
          - patch
        - apiGroups:
          - ""
          resources:
          - persistentvolumeclaims
          verbs:
          - get
          - list
          - watch
          - update
        - apiGroups:
          - storage.k8s.io
          resources:
          - storageclasses
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          resources:
          - events
          verbs:
          - list
          - watch
          - create
          - update
          - patch
        - apiGroups:
          - storage.k8s.io
          resources:
          - volumeattachments
          verbs:
          - get
          - list
          - watch
          - patch
        - apiGroups:
          - storage.k8s.io
          resources:
          - volumeattachments/status
          verbs:
          - patch
        - apiGroups:
          - ""
          resources:
          - nodes
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - storage.k8s.io
          resources:
          - csinodes
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - ""
          resources:
          - persistentvolumeclaims/status
          verbs:
          - patch
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshots
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotclasses
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotcontents
          verbs:
          - get
          - list
          - watch
          - patch
          - update
        - apiGroups:
          - snapshot.storage.k8s.io
          resources:
          - volumesnapshotcontents/status
          verbs:
          - update
          - patch
        - apiGroups:
          - groupsnapshot.storage.k8s.io
          resources:
          - volumegroupsnapshotclasses
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - groupsnapshot.storage.k8s.io
          resources:
          - volumegroupsnapshotcontents
          verbs:
          - get
          - list
          - watch
          - update
          - patch
        - apiGroups:
          - groupsnapshot.storage.k8s.io
          resources:
          - volumegroupsnapshotcontents/status
          verbs:
          - update
          - patch
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - serviceaccounts
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - serviceaccounts/token
          verbs:
          - create
        - apiGroups:
          - ""
          resources:
          - nodes
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - replication.storage.openshift.io
          resources:
          - volumegroupreplicationcontents
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - replication.storage.openshift.io
          resources:
          - volumegroupreplicationclasses
          verbs:
          - get
          - list
          - watch
        - apiGroups:
          - authentication.k8s.io
          resources:
          - tokenreviews
          verbs:
          - create
        serviceAccountName: rook-csi-rbd-provisioner-sa
      - rules:
        - apiGroups:
          - security.openshift.io
          resourceNames:
          - privileged
          resources:
          - securitycontextconstraints
          verbs:
          - use
        serviceAccountName: rook-ceph-system
      deployments:
      - label:
          app.kubernetes.io/component: rook-ceph-operator
          app.kubernetes.io/instance: rook-ceph
          app.kubernetes.io/name: rook-ceph
          app.kubernetes.io/part-of: rook-ceph-operator
          operator: rook
          storage-backend: ceph
        name: rook-ceph-operator
        spec:
          replicas: 1
          selector:
            matchLabels:
              app: rook-ceph-operator
          strategy:
            type: Recreate
          template:
            metadata:
              creationTimestamp: null
              labels:
                app: rook-ceph-operator
            spec:
              containers:
              - args:
                - ceph
                - operator
                env:
                - name: ROOK_CURRENT_NAMESPACE_ONLY
                  valueFrom:
                    configMapKeyRef:
                      key: ROOK_CURRENT_NAMESPACE_ONLY
                      name: ocs-operator-config
                - name: ROOK_CSI_ENABLE_CEPHFS
                  valueFrom:
                    configMapKeyRef:
                      key: ROOK_CSI_ENABLE_CEPHFS
                      name: ocs-operator-config
                - name: ROOK_ALLOW_MULTIPLE_FILESYSTEMS
                  value: "false"
                - name: ROOK_LOG_LEVEL
                  value: INFO
                - name: ROOK_CEPH_STATUS_CHECK_INTERVAL
                  value: 60s
                - name: ROOK_MON_HEALTHCHECK_INTERVAL
                  value: 45s
                - name: ROOK_MON_OUT_TIMEOUT
                  value: 600s
                - name: ROOK_DISCOVER_DEVICES_INTERVAL
                  value: 60m
                - name: ROOK_HOSTPATH_REQUIRES_PRIVILEGED
                  value: "true"
                - name: ROOK_ENABLE_SELINUX_RELABELING
                  value: "true"
                - name: ROOK_ENABLE_FSGROUP
                  value: "true"
                - name: ROOK_ENABLE_FLEX_DRIVER
                  value: "false"
                - name: ROOK_ENABLE_DISCOVERY_DAEMON
                  value: "false"
                - name: ROOK_ENABLE_MACHINE_DISRUPTION_BUDGET
                  value: "false"
                - name: ROOK_DISABLE_DEVICE_HOTPLUG
                  value: "true"
                - name: ROOK_CSI_ALLOW_UNSUPPORTED_VERSION
                  value: "true"
                - name: ROOK_DISABLE_ADMISSION_CONTROLLER
                  value: "true"
                - name: ROOK_CSIADDONS_IMAGE
                  value: registry.redhat.io/odf4/odf-csi-addons-sidecar-rhel9@sha256:b48dad7df16ca6eb69595732f0ab2fb3098113757285d7c3d43555b2e764203c
                - name: ROOK_CSI_CEPH_IMAGE
                  value: registry.redhat.io/odf4/cephcsi-rhel9@sha256:311f5bc24c59f01b2cbca10eeef83b65a44d962b35e7a46bf62fc1104876a66a
                - name: ROOK_CSI_REGISTRAR_IMAGE
                  value: registry.redhat.io/openshift4/ose-csi-node-driver-registrar-rhel9@sha256:e06ed509d0018a76668424ad9007b736658cf063cb68746a52cabeaaa2c5241b
                - name: ROOK_CSI_RESIZER_IMAGE
                  value: registry.redhat.io/openshift4/ose-csi-external-resizer-rhel9@sha256:27b543e91dcc92586fb8dfd0d765a4ab8b3b348b92d9a4d3f3a5cee92d572a49
                - name: ROOK_CSI_PROVISIONER_IMAGE
                  value: registry.redhat.io/openshift4/ose-csi-external-provisioner-rhel9@sha256:637a13c4112c457b541a74c11d2f23bdc199c146fceb34bdc809f7405e4bb392
                - name: ROOK_CSI_SNAPSHOTTER_IMAGE
                  value: registry.redhat.io/openshift4/ose-csi-external-snapshotter-rhel9@sha256:794712750db97f6cc4481b18a9f16d7b7f74d38637dce16126ab0c0041b87c53
                - name: ROOK_CSI_ATTACHER_IMAGE
                  value: registry.redhat.io/openshift4/ose-csi-external-attacher-rhel9@sha256:eeabb7ba690bea71840c13447699f5f70bed12520b9a605bd999a9add3fb0aa2
                - name: ROOK_OBC_PROVISIONER_NAME_PREFIX
                  value: openshift-storage
                - name: CSI_ENABLE_METADATA
                  value: "false"
                - name: CSI_PLUGIN_PRIORITY_CLASSNAME
                  value: system-node-critical
                - name: CSI_PROVISIONER_PRIORITY_CLASSNAME
                  value: system-cluster-critical
                - name: CSI_CLUSTER_NAME
                  valueFrom:
                    configMapKeyRef:
                      key: CSI_CLUSTER_NAME
                      name: ocs-operator-config
                - name: CSI_DRIVER_NAME_PREFIX
                  value: openshift-storage
                - name: CSI_ENABLE_TOPOLOGY
                  valueFrom:
                    configMapKeyRef:
                      key: CSI_ENABLE_TOPOLOGY
                      name: ocs-operator-config
                - name: CSI_TOPOLOGY_DOMAIN_LABELS
                  valueFrom:
                    configMapKeyRef:
                      key: CSI_TOPOLOGY_DOMAIN_LABELS
                      name: ocs-operator-config
                - name: ROOK_CSI_ENABLE_NFS
                  valueFrom:
                    configMapKeyRef:
                      key: ROOK_CSI_ENABLE_NFS
                      name: ocs-operator-config
                - name: ROOK_CSI_DISABLE_DRIVER
                  valueFrom:
                    configMapKeyRef:
                      key: ROOK_CSI_DISABLE_DRIVER
                      name: ocs-operator-config
                - name: CSI_PROVISIONER_TOLERATIONS
                  value: |2-

                    - key: node.ocs.openshift.io/storage
                      operator: Equal
                      value: "true"
                      effect: NoSchedule
                - name: CSI_PLUGIN_TOLERATIONS
                  value: |2-

                    - key: node.ocs.openshift.io/storage
                      operator: Equal
                      value: "true"
                      effect: NoSchedule
                - name: CSI_LOG_LEVEL
                  value: "5"
                - name: CSI_SIDECAR_LOG_LEVEL
                  value: "1"
                - name: CSI_ENABLE_CSIADDONS
                  value: "true"
                - name: NODE_NAME
                  valueFrom:
                    fieldRef:
                      fieldPath: spec.nodeName
                - name: POD_NAME
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.name
                - name: POD_NAMESPACE
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.namespace
                image: registry.redhat.io/odf4/rook-ceph-rhel9-operator@sha256:7c4cc389de5b17b8d2d530c5e249b9f195bbeda3596168fcafef0009390711a9
                name: rook-ceph-operator
                resources: {}
                securityContext:
                  runAsGroup: 2016
                  runAsNonRoot: true
                  runAsUser: 2016
                volumeMounts:
                - mountPath: /var/lib/rook
                  name: rook-config
                - mountPath: /etc/ceph
                  name: default-config-dir
              serviceAccountName: rook-ceph-system
              tolerations:
              - effect: NoSchedule
                key: node.ocs.openshift.io/storage
                operator: Equal
                value: "true"
              volumes:
              - emptyDir: {}
                name: rook-config
              - emptyDir: {}
                name: default-config-dir
      permissions:
      - rules:
        - apiGroups:
          - ""
          resources:
          - pods
          - configmaps
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
        serviceAccountName: rook-ceph-cmd-reporter
      - rules:
        - apiGroups:
          - ""
          resources:
          - ""
          verbs:
          - ""
        serviceAccountName: rook-ceph-default
      - rules:
        - apiGroups:
          - ""
          resources:
          - pods
          - services
          - pods/log
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
        - apiGroups:
          - batch
          resources:
          - jobs
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
        - apiGroups:
          - ceph.rook.io
          resources:
          - cephclients
          - cephclusters
          - cephblockpools
          - cephfilesystems
          - cephnfses
          - cephobjectstores
          - cephobjectstoreusers
          - cephobjectrealms
          - cephobjectzonegroups
          - cephobjectzones
          - cephbuckettopics
          - cephbucketnotifications
          - cephrbdmirrors
          - cephfilesystemmirrors
          - cephfilesystemsubvolumegroups
          - cephblockpoolradosnamespaces
          - cephcosidrivers
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
          - patch
        - apiGroups:
          - apps
          resources:
          - deployments/scale
          - deployments
          verbs:
          - patch
          - delete
        - apiGroups:
          - ""
          resources:
          - persistentvolumeclaims
          verbs:
          - delete
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
          - list
          - watch
        serviceAccountName: rook-ceph-mgr
      - rules:
        - apiGroups:
          - ""
          resources:
          - secrets
          verbs:
          - get
          - update
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
        - apiGroups:
          - ceph.rook.io
          resources:
          - cephclusters
          - cephclusters/finalizers
          verbs:
          - get
          - list
          - create
          - update
          - delete
        serviceAccountName: rook-ceph-osd
      - rules:
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
        - apiGroups:
          - apps
          resources:
          - deployments
          verbs:
          - get
          - delete
        - apiGroups:
          - batch
          resources:
          - jobs
          verbs:
          - get
          - list
          - delete
        - apiGroups:
          - ""
          resources:
          - persistentvolumeclaims
          verbs:
          - get
          - update
          - delete
          - list
        serviceAccountName: rook-ceph-purge-osd
      - rules:
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
        serviceAccountName: rook-ceph-rgw
      - rules:
        - apiGroups:
          - ""
          - apps
          - extensions
          resources:
          - secrets
          - pods
          - pods/log
          - services
          - configmaps
          - deployments
          - daemonsets
          verbs:
          - get
          - list
          - watch
          - patch
          - create
          - update
          - delete
        - apiGroups:
          - ""
          resources:
          - pods
          - configmaps
          - services
          verbs:
          - get
          - list
          - watch
          - patch
          - create
          - update
          - delete
        - apiGroups:
          - apps
          - extensions
          resources:
          - daemonsets
          - statefulsets
          - deployments
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - delete
          - deletecollection
        - apiGroups:
          - batch
          resources:
          - cronjobs
          verbs:
          - delete
        - apiGroups:
          - cert-manager.io
          resources:
          - certificates
          - issuers
          verbs:
          - get
          - create
          - delete
        - apiGroups:
          - multicluster.x-k8s.io
          resources:
          - serviceexports
          verbs:
          - get
          - create
        serviceAccountName: rook-ceph-system
      - rules:
        - apiGroups:
          - coordination.k8s.io
          resources:
          - leases
          verbs:
          - get
          - watch
          - list
          - delete
          - update
          - create
        - apiGroups:
          - csiaddons.openshift.io
          resources:
          - csiaddonsnodes
          verbs:
          - get
          - watch
          - list
          - create
          - update
          - delete
        - apiGroups:
          - ""
          resources:
          - pods
          verbs:
          - get
        - apiGroups:
          - apps
          resources:
          - replicasets
          verbs:
          - get
        - apiGroups:
          - apps
          resources:
          - deployments/finalizers
          - daemonsets/finalizers
          verbs:
          - update
        serviceAccountName: rook-csi-cephfs-provisioner-sa
      - rules:
        - apiGroups:
          - csiaddons.openshift.io
          resources:
          - csiaddonsnodes
          verbs:
          - get
          - watch
          - list
          - create
          - update
          - delete
        - apiGroups:
          - ""
          resources:
          - pods
          verbs:
          - get
        - apiGroups:
          - apps
          resources:
          - replicasets
          verbs:
          - get
        - apiGroups:
          - apps
          resources:
          - deployments/finalizers
          - daemonsets/finalizers
          verbs:
          - update
        serviceAccountName: rook-csi-rbd-plugin-sa
      - rules:
        - apiGroups:
          - coordination.k8s.io
          resources:
          - leases
          verbs:
          - get
          - watch
          - list
          - delete
          - update
          - create
        - apiGroups:
          - csiaddons.openshift.io
          resources:
          - csiaddonsnodes
          verbs:
          - get
          - watch
          - list
          - create
          - update
          - delete
        - apiGroups:
          - ""
          resources:
          - pods
          verbs:
          - get
        - apiGroups:
          - apps
          resources:
          - replicasets
          verbs:
          - get
        - apiGroups:
          - apps
          resources:
          - deployments/finalizers
          - daemonsets/finalizers
          verbs:
          - update
        serviceAccountName: rook-csi-rbd-provisioner-sa
    strategy: deployment
  installModes:
  - supported: true
    type: OwnNamespace
  - supported: true
    type: SingleNamespace
  - supported: false
    type: MultiNamespace
  - supported: false
    type: AllNamespaces
  keywords:
  - rook
  - ceph
  - storage
  - object storage
  - open source
  - block storage
  - shared filesystem
  links:
  - name: Source Code
    url: https://github.com/red-hat-storage/rook
  maintainers:
  - email: ocs-support@redhat.com
    name: Red Hat Support
  maturity: alpha
  minKubeVersion: 1.16.0
  provider:
    name: Red Hat
    url: https://www.redhat.com
  relatedImages:
  - image: registry.redhat.io/odf4/rook-ceph-rhel9-operator@sha256:7c4cc389de5b17b8d2d530c5e249b9f195bbeda3596168fcafef0009390711a9
    name: rook-container
  - image: registry.redhat.io/odf4/odf-csi-addons-sidecar-rhel9@sha256:b48dad7df16ca6eb69595732f0ab2fb3098113757285d7c3d43555b2e764203c
    name: csiaddons-sidecar
  - image: registry.redhat.io/odf4/cephcsi-rhel9@sha256:311f5bc24c59f01b2cbca10eeef83b65a44d962b35e7a46bf62fc1104876a66a
    name: ceph-csi
  - image: registry.redhat.io/openshift4/ose-csi-node-driver-registrar-rhel9@sha256:e06ed509d0018a76668424ad9007b736658cf063cb68746a52cabeaaa2c5241b
    name: csi-node-driver-registrar
  - image: registry.redhat.io/openshift4/ose-csi-external-resizer-rhel9@sha256:27b543e91dcc92586fb8dfd0d765a4ab8b3b348b92d9a4d3f3a5cee92d572a49
    name: csi-resizer
  - image: registry.redhat.io/openshift4/ose-csi-external-provisioner-rhel9@sha256:637a13c4112c457b541a74c11d2f23bdc199c146fceb34bdc809f7405e4bb392
    name: csi-provisioner
  - image: registry.redhat.io/openshift4/ose-csi-external-snapshotter-rhel9@sha256:794712750db97f6cc4481b18a9f16d7b7f74d38637dce16126ab0c0041b87c53
    name: csi-snapshotter
  - image: registry.redhat.io/openshift4/ose-csi-external-attacher-rhel9@sha256:eeabb7ba690bea71840c13447699f5f70bed12520b9a605bd999a9add3fb0aa2
    name: csi-attacher
  replaces: rook-ceph-operator.v4.19.5-rhodf
  version: 4.19.6-rhodf
status:
  cleanup: {}
  conditions:
  - lastTransitionTime: "2025-10-27T12:44:17Z"
    lastUpdateTime: "2025-10-27T12:44:17Z"
    message: requirements not yet checked
    phase: Pending
    reason: RequirementsUnknown
  - lastTransitionTime: "2025-10-27T12:44:17Z"
    lastUpdateTime: "2025-10-27T12:44:20Z"
    message: one or more requirements couldn't be found
    phase: Pending
    reason: RequirementsNotMet
  - lastTransitionTime: "2025-10-27T12:44:30Z"
    lastUpdateTime: "2025-10-27T12:44:30Z"
    message: all requirements found, attempting install
    phase: InstallReady
    reason: AllRequirementsMet
  - lastTransitionTime: "2025-10-27T12:44:32Z"
    lastUpdateTime: "2025-10-27T12:44:32Z"
    message: waiting for install components to report healthy
    phase: Installing
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-27T12:44:33Z"
    lastUpdateTime: "2025-10-27T12:44:33Z"
    message: install strategy completed with no errors
    phase: Succeeded
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-27T12:44:45Z"
    lastUpdateTime: "2025-10-27T12:44:45Z"
    message: 'installing: deployment changed old hash=6Khadsy2lNwuvyoGBDeoTlXuPyzzSvkEiHHo2D,
      new hash=6OnmggupbfO0fWI0tBEelemDlFNZEG0B0nYgnT'
    phase: InstallReady
    reason: ComponentUnhealthy
  - lastTransitionTime: "2025-10-27T12:44:45Z"
    lastUpdateTime: "2025-10-27T12:44:45Z"
    message: waiting for install components to report healthy
    phase: Installing
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-27T12:44:45Z"
    lastUpdateTime: "2025-10-27T12:44:45Z"
    message: 'installing: waiting for deployment rook-ceph-operator to become ready:
      deployment "rook-ceph-operator" not available: Deployment does not have minimum
      availability.'
    phase: Installing
    reason: InstallWaiting
  - lastTransitionTime: "2025-10-27T12:45:33Z"
    lastUpdateTime: "2025-10-27T12:45:33Z"
    message: install strategy completed with no errors
    phase: Succeeded
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-27T12:47:51Z"
    lastUpdateTime: "2025-10-27T12:47:51Z"
    message: 'installing: waiting for deployment rook-ceph-operator to become ready:
      deployment "rook-ceph-operator" not available: Deployment does not have minimum
      availability.'
    phase: Failed
    reason: ComponentUnhealthy
  - lastTransitionTime: "2025-10-27T12:47:54Z"
    lastUpdateTime: "2025-10-27T12:47:54Z"
    message: 'installing: waiting for deployment rook-ceph-operator to become ready:
      deployment "rook-ceph-operator" not available: Deployment does not have minimum
      availability.'
    phase: Pending
    reason: NeedsReinstall
  - lastTransitionTime: "2025-10-27T12:47:55Z"
    lastUpdateTime: "2025-10-27T12:47:55Z"
    message: all requirements found, attempting install
    phase: InstallReady
    reason: AllRequirementsMet
  - lastTransitionTime: "2025-10-27T12:47:57Z"
    lastUpdateTime: "2025-10-27T12:47:57Z"
    message: waiting for install components to report healthy
    phase: Installing
    reason: InstallSucceeded
  - lastTransitionTime: "2025-10-27T12:47:58Z"
    lastUpdateTime: "2025-10-27T12:47:58Z"
    message: install strategy completed with no errors
    phase: Succeeded
    reason: InstallSucceeded
  lastTransitionTime: "2025-10-27T12:47:58Z"
  lastUpdateTime: "2025-10-27T12:47:58Z"
  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: rook-ceph-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: cephblockpoolradosnamespaces.ceph.rook.io
    status: Present
    uuid: 8e42d4bf-061e-41a3-ad59-62212740892b
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephblockpools.ceph.rook.io
    status: Present
    uuid: 53a20060-59c8-4666-8c5c-690029ae1855
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephbucketnotifications.ceph.rook.io
    status: Present
    uuid: db858a95-ceb5-4696-92a7-a9ac1fbdfe74
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephbuckettopics.ceph.rook.io
    status: Present
    uuid: 4e0c499a-e187-46fc-84da-840f89fc6f62
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephclients.ceph.rook.io
    status: Present
    uuid: 56d5bf9b-c628-4c47-8144-65f0f3af3748
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephclusters.ceph.rook.io
    status: Present
    uuid: 4227f2a5-43ac-48ed-b62c-84c395755998
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephcosidrivers.ceph.rook.io
    status: Present
    uuid: 6c0e35df-513f-46ef-8926-fa26b6aadc89
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephfilesystemmirrors.ceph.rook.io
    status: Present
    uuid: 74a0c3c9-549d-498c-8bd7-d4b83be2942f
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephfilesystems.ceph.rook.io
    status: Present
    uuid: ef24197c-4758-434e-823a-a93179fed4eb
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephfilesystemsubvolumegroups.ceph.rook.io
    status: Present
    uuid: b8595ca2-c4e7-499c-903f-5f7732688c05
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephnfses.ceph.rook.io
    status: Present
    uuid: a960ef4e-ac97-44b9-9ae0-4b2e03a6e1ed
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephobjectrealms.ceph.rook.io
    status: Present
    uuid: aba1176a-5c05-46e6-9550-20e737a45326
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephobjectstores.ceph.rook.io
    status: Present
    uuid: 0b6d13f2-200b-474c-a430-0dd95df4d0f7
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephobjectstoreusers.ceph.rook.io
    status: Present
    uuid: 199209c3-ab2a-4e8a-bd0d-ad14f40ef3ca
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephobjectzonegroups.ceph.rook.io
    status: Present
    uuid: 5ab3a5e5-7cd0-4d3a-89fd-bd101f75d9e0
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephobjectzones.ceph.rook.io
    status: Present
    uuid: 7fb8d084-74cf-4105-8bd6-44145a540684
    version: v1
  - group: apiextensions.k8s.io
    kind: CustomResourceDefinition
    message: CRD is present and Established condition is true
    name: cephrbdmirrors.ceph.rook.io
    status: Present
    uuid: 0ba4a785-afe5-455c-b886-6757d30488a4
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list"],"apiGroups":[""],"resources":["nodes"]}
      status: Satisfied
      version: v1
    group: ""
    kind: ServiceAccount
    message: ""
    name: rook-ceph-osd
    status: Present
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":["pods","nodes","nodes/proxy","secrets","configmaps"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","patch","create","update","delete"],"apiGroups":["","discovery.k8s.io"],"resources":["events","persistentvolumes","persistentvolumeclaims","endpoints","services","endpointslices","endpointslices/restricted"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","create","update","delete","deletecollection"],"apiGroups":["batch"],"resources":["jobs","cronjobs"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","update"],"apiGroups":["ceph.rook.io"],"resources":["cephclients","cephclusters","cephblockpools","cephfilesystems","cephnfses","cephobjectstores","cephobjectstoreusers","cephobjectrealms","cephobjectzonegroups","cephobjectzones","cephbuckettopics","cephbucketnotifications","cephrbdmirrors","cephfilesystemmirrors","cephfilesystemsubvolumegroups","cephblockpoolradosnamespaces","cephcosidrivers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update"],"apiGroups":["ceph.rook.io"],"resources":["cephclients/status","cephclusters/status","cephblockpools/status","cephfilesystems/status","cephnfses/status","cephobjectstores/status","cephobjectstoreusers/status","cephobjectrealms/status","cephobjectzonegroups/status","cephobjectzones/status","cephbuckettopics/status","cephbucketnotifications/status","cephrbdmirrors/status","cephfilesystemmirrors/status","cephfilesystemsubvolumegroups/status","cephblockpoolradosnamespaces/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update"],"apiGroups":["ceph.rook.io"],"resources":["cephclients/finalizers","cephclusters/finalizers","cephblockpools/finalizers","cephfilesystems/finalizers","cephnfses/finalizers","cephobjectstores/finalizers","cephobjectstoreusers/finalizers","cephobjectrealms/finalizers","cephobjectzonegroups/finalizers","cephobjectzones/finalizers","cephbuckettopics/finalizers","cephbucketnotifications/finalizers","cephrbdmirrors/finalizers","cephfilesystemmirrors/finalizers","cephfilesystemsubvolumegroups/finalizers","cephblockpoolradosnamespaces/finalizers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","create","update","delete","deletecollection"],"apiGroups":["policy","apps","extensions"],"resources":["poddisruptionbudgets","deployments","replicasets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update"],"apiGroups":["apps"],"resources":["deployments/finalizers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","create","update","delete"],"apiGroups":["healthchecking.openshift.io"],"resources":["machinedisruptionbudgets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","create","update","delete"],"apiGroups":["machine.openshift.io"],"resources":["machines"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","update"],"apiGroups":["storage.k8s.io"],"resources":["csidrivers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":["k8s.cni.cncf.io"],"resources":["network-attachment-definitions"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","create","update","delete"],"apiGroups":[""],"resources":["secrets","configmaps"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["list","watch","get","update"],"apiGroups":["objectbucket.io"],"resources":["objectbucketclaims"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["list","watch","get","create","update","delete"],"apiGroups":["objectbucket.io"],"resources":["objectbuckets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update"],"apiGroups":["objectbucket.io"],"resources":["objectbucketclaims/status","objectbuckets/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update"],"apiGroups":["objectbucket.io"],"resources":["objectbucketclaims/finalizers","objectbuckets/finalizers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list"],"apiGroups":[""],"resources":["pods","pods/log"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":[""],"resources":["pods/exec"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","get","update","delete","watch","list","deletecollection"],"apiGroups":["csiaddons.openshift.io"],"resources":["networkfences"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"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":["csi.ceph.io"],"resources":["cephconnections"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["csi.ceph.io"],"resources":["clientprofiles"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["csi.ceph.io"],"resources":["operatorconfigs"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["csi.ceph.io"],"resources":["drivers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["use"],"apiGroups":["security.openshift.io"],"resources":["securitycontextconstraints"],"resourceNames":["privileged"]}
      status: Satisfied
      version: v1
    group: ""
    kind: ServiceAccount
    message: ""
    name: rook-ceph-system
    status: Present
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["nodes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["secrets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["configmaps"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["serviceaccounts"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":[""],"resources":["serviceaccounts/token"]}
      status: Satisfied
      version: v1
    group: ""
    kind: ServiceAccount
    message: ""
    name: rook-csi-cephfs-plugin-sa
    status: Present
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list"],"apiGroups":[""],"resources":["secrets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list"],"apiGroups":[""],"resources":["persistentvolumes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list"],"apiGroups":["storage.k8s.io"],"resources":["volumeattachments"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["configmaps"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["serviceaccounts"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":[""],"resources":["serviceaccounts/token"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["nodes"]}
      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: ""
    kind: ServiceAccount
    message: ""
    name: rook-csi-rbd-plugin-sa
    status: Present
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","create","update","delete","patch"],"apiGroups":[""],"resources":["persistentvolumes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","patch","update"],"apiGroups":[""],"resources":["persistentvolumeclaims"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","create","update","patch"],"apiGroups":[""],"resources":["events"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["storage.k8s.io"],"resources":["csinodes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":["nodes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","create","update","patch"],"apiGroups":["coordination.k8s.io"],"resources":["leases"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["secrets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","update","patch"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotcontents"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update","patch"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotcontents/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshots"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["patch"],"apiGroups":[""],"resources":["persistentvolumeclaims/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","patch"],"apiGroups":["storage.k8s.io"],"resources":["volumeattachments"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["patch"],"apiGroups":["storage.k8s.io"],"resources":["volumeattachments/status"]}
      status: Satisfied
      version: v1
    group: ""
    kind: ServiceAccount
    message: ""
    name: rook-csi-nfs-provisioner-sa
    status: Present
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["get","watch","list","delete","update","create"],"apiGroups":["coordination.k8s.io"],"resources":["leases"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["get","watch","list","create","update","delete"],"apiGroups":["csiaddons.openshift.io"],"resources":["csiaddonsnodes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["get"],"apiGroups":[""],"resources":["pods"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["get"],"apiGroups":["apps"],"resources":["replicasets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["update"],"apiGroups":["apps"],"resources":["deployments/finalizers","daemonsets/finalizers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list"],"apiGroups":[""],"resources":["secrets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["configmaps"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":["nodes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["storage.k8s.io"],"resources":["csinodes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","create","update","delete","patch"],"apiGroups":[""],"resources":["persistentvolumes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","patch","update"],"apiGroups":[""],"resources":["persistentvolumeclaims"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["list","watch","create","update","patch"],"apiGroups":[""],"resources":["events"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","patch"],"apiGroups":["storage.k8s.io"],"resources":["volumeattachments"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["patch"],"apiGroups":["storage.k8s.io"],"resources":["volumeattachments/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["patch"],"apiGroups":[""],"resources":["persistentvolumeclaims/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshots"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","patch","update"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotcontents"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update","patch"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotcontents/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","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","update","patch"],"apiGroups":["groupsnapshot.storage.k8s.io"],"resources":["volumegroupsnapshotcontents"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update","patch"],"apiGroups":["groupsnapshot.storage.k8s.io"],"resources":["volumegroupsnapshotcontents/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["serviceaccounts"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":[""],"resources":["serviceaccounts/token"]}
      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: ""
    kind: ServiceAccount
    message: ""
    name: rook-csi-cephfs-provisioner-sa
    status: Present
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["get","watch","list","delete","update","create"],"apiGroups":["coordination.k8s.io"],"resources":["leases"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["get","watch","list","create","update","delete"],"apiGroups":["csiaddons.openshift.io"],"resources":["csiaddonsnodes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["get"],"apiGroups":[""],"resources":["pods"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["get"],"apiGroups":["apps"],"resources":["replicasets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: namespaced rule:{"verbs":["update"],"apiGroups":["apps"],"resources":["deployments/finalizers","daemonsets/finalizers"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":["secrets"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","create","update","delete","patch"],"apiGroups":[""],"resources":["persistentvolumes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","update"],"apiGroups":[""],"resources":["persistentvolumeclaims"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["list","watch","create","update","patch"],"apiGroups":[""],"resources":["events"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","patch"],"apiGroups":["storage.k8s.io"],"resources":["volumeattachments"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["patch"],"apiGroups":["storage.k8s.io"],"resources":["volumeattachments/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":["nodes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["storage.k8s.io"],"resources":["csinodes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["patch"],"apiGroups":[""],"resources":["persistentvolumeclaims/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshots"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotclasses"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch","patch","update"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotcontents"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update","patch"],"apiGroups":["snapshot.storage.k8s.io"],"resources":["volumesnapshotcontents/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","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","update","patch"],"apiGroups":["groupsnapshot.storage.k8s.io"],"resources":["volumegroupsnapshotcontents"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["update","patch"],"apiGroups":["groupsnapshot.storage.k8s.io"],"resources":["volumegroupsnapshotcontents/status"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["configmaps"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["serviceaccounts"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create"],"apiGroups":[""],"resources":["serviceaccounts/token"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":["nodes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["replication.storage.openshift.io"],"resources":["volumegroupreplicationcontents"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["replication.storage.openshift.io"],"resources":["volumegroupreplicationclasses"]}
      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: ""
    kind: ServiceAccount
    message: ""
    name: rook-csi-rbd-provisioner-sa
    status: Present
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":["configmaps","nodes","nodes/proxy","persistentvolumes"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["create","patch","list","get","watch"],"apiGroups":[""],"resources":["events"]}
      status: Satisfied
      version: v1
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get","list","watch"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses"]}
      status: Satisfied
      version: v1
    group: ""
    kind: ServiceAccount
    message: ""
    name: rook-ceph-mgr
    status: Present
    version: v1
  - dependents:
    - group: rbac.authorization.k8s.io
      kind: PolicyRule
      message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["nodes"]}
      status: Satisfied
      version: v1
    group: ""
    kind: ServiceAccount
    message: ""
    name: rook-csi-nfs-plugin-sa
    status: Present
    version: v1
