apiVersion: couchbase.com/v2
kind: CouchbaseCluster
metadata:
  name: cb-example-perf
spec:
  antiAffinity: true
  backup:
    image: registry.gitlab.com/cb-vanilla/operator-backup:latest
    imagePullSecrets:
    - name: regcred
    managed: true
    nodeSelector:
      NodeRoles: backups1
    resources:
      requests:
        cpu: '24'
        memory: 64Gi
    serviceAccountName: couchbase-backup
  buckets:
    managed: true
  cluster:
    analyticsServiceMemoryQuota: 1Gi
    autoCompaction:
      databaseFragmentationThreshold:
        percent: 30
      timeWindow: {}
      tombstonePurgeInterval: 72h0m0s
      viewFragmentationThreshold:
        percent: 30
    autoFailoverMaxCount: 3
    autoFailoverOnDataDiskIssues: true
    autoFailoverOnDataDiskIssuesTimePeriod: 2m0s
    autoFailoverTimeout: 2m0s
    dataServiceMemoryQuota: 20480Mi
    eventingServiceMemoryQuota: 256Mi
    indexServiceMemoryQuota: 256Mi
    indexStorageSetting: memory_optimized
    searchServiceMemoryQuota: 256Mi
  image: registry.gitlab.com/cb-vanilla/server:7.1.0-2556
  logging: {}
  monitoring:
    prometheus:
      enabled: true
      image: couchbase/exporter:1.0.7
      refreshRate: 30
  networking:
    adminConsoleServiceType: NodePort
    exposeAdminConsole: true
    exposedFeatureServiceType: NodePort
    exposedFeatures:
    - client
    waitForAddressReachable: 10m0s
    waitForAddressReachableDelay: 2m0s
  security:
    adminSecret: cb-example-auth
    rbac:
      managed: true
      selector:
        matchLabels:
          cluster: cb-example-perf
  servers:
  - name: data
    pod:
      metadata:
        annotations:
          sidecar.istio.io/inject: 'false'
      spec:
        imagePullSecrets:
        - name: regcred
        nodeSelector:
          NodeRoles: couchbase1
          kv_enabled: 'true'
    services:
    - data
    size: 3
    volumeMounts:
      default: data
  volumeClaimTemplates:
  - metadata:
      name: data
    spec:
      resources:
        requests:
          storage: 1000Gi
  xdcr: {}
