Using PVC in cluster throws Operation not permitted

I am trying to setup a couchbase cluster using helm and I am getting the following error in the cluster-cluster-000X

    │ couchbase-server Starting Couchbase Server -- Web UI available at http://<ip>:8091                                                                       │
    │ couchbase-server and logs available in /opt/couchbase/var/lib/couchbase/logs                                                                             │
    │ couchbase-server chown: changing ownership of 'var/lib/couchbase': Operation not permitted

Here’s is my custom values.yaml file

# Default values for couchbase-operator chart.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

# Select what to install
install:
  # install the admission controller
  admissionController: false

# Default values for couchbase-cluster
cluster:
  # name of the cluster. defaults to name of chart release
  name: "couchbase-cluster"
  # guarantees that the pods in the same cluster are unable to be scheduled on the same node
  antiAffinity: true
  # networking options
  networking:
    # Specific services to use when exposing ui
    exposedFeatures:
      - client
  # Cluster wide settings for nodes and services
  cluster:
    # The amount of memory that should be allocated to the data service
    dataServiceMemoryQuota: 4096Mi
    # The amount of memory that should be allocated to the index service
    indexServiceMemoryQuota: 4096Mi
    # The amount of memory that should be allocated to the search service
    searchServiceMemoryQuota: 256Mi
    # The amount of memory that should be allocated to the eventing service
    eventingServiceMemoryQuota: 256Mi
    # The amount of memory that should be allocated to the analytics service
    analyticsServiceMemoryQuota: 1Gi
    # The index storage mode to use for secondary indexing
    indexStorageSetting: plasma

  # cluster buckets
  buckets:
    # Managed defines whether buckets are managed by us or the clients.
    managed: false
  enablePreviewScaling: false
  servers:
    dataservices:
      size: 1
      services:
        - data
      pod:
        resources:
          limits:
            cpu: "500m"
            memory: 1Gi
          requests:
            cpu: "250m"
            memory: 500Mi
      volumeMounts:
        data: couchbasedata
        default: couchbasedefault
    indexservices:
      size: 1
      services:
        - index
        - query
      pod:
        resources:
          limits:
            cpu: "500m"
            memory: 1Gi
          requests:
            cpu: "250m"
            memory: 500Mi
      volumeMounts:
        index: couchbaseindex
        default: couchbasedefault
    default:
      size: 1
      services:
        - search
        - eventing
        - analytics
      pod:
        resources:
          limits:
            cpu: "500m"
            memory: 1Gi
          requests:
            cpu: "250m"
            memory: 500Mi
      volumeMounts:
        default: couchbasedefault
  volumeClaimTemplates:
    - metadata:
        name: couchbasedata
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: standard
        resources:
          requests:
            storage: 30Gi
    - metadata:
        name: couchbaseindex
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: standard
        resources:
          requests:
            storage: 20Gi
    - metadata:
        name: couchbasedefault
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: standard
        resources:
          requests:
            storage: 5Gi

# couchbase buckets to create
buckets: {}

# CouchbaseBackups runs a job which preserves data into backups
backups:
  default-backup:
    name: "couchbase-backup"
    strategy: full_incremental
    full:
      schedule: "0 3 * * 0"
    incremental:
      schedule: "0 3 * * 1-6"
    successfulJobsHistoryLimit: 1
    failedJobsHistoryLimit: 3
    backOffLimit: 2
    backupRetention: 24h
    logRetention: 24h
    size: 30Gi

That’s easy, the ‘error’ is benign, and can be safely ignored.

You could actually claim it’s a bug, it’s doing that for a reason, and it only know about the couchbase UID/GID. You certainly cannot rely on that functionality when using UID randomization or fsGroups for example.