
# Select what to install
install:
  # -- Install the couchbase operator
  couchbaseOperator: true
  # -- Install the admission controller
  admissionController: true
  # -- Install couchbase cluster
  couchbaseCluster: true
  # -- Install sync gateway
  syncGateway: false

# couchbaseOperator is the controller for couchbase cluster
couchbaseOperator:
  # -- Name of the couchbase operator Deployment
  name: "couchbase-operator"
  # -- Image specifies repository and tag of the Couchbase Operator container.
  image:
    repository: couchbase/operator
    tag: 2.3.0
  # -- The policy for pulling images from the repository onto hosts.
  # The imagePullPolicy value defaults to IfNotPresent, which means
  # that images are only pulled if they’re not present on the Kubernetes node.
  # Values allowed are Always, IfNotPresent, and Never.
  imagePullPolicy: IfNotPresent
  # -- ImagePullSecrets is an optional list of references to secrets to use for pulling images.
  imagePullSecrets: []
  # -- Set of command-line flags to pass on to the Operator to modify its behavior.
  # see: https://docs.couchbase.com/operator/2.0/reference-operator-configuration.html#command-line-arguments
  commandArgs:
    # -- Pod creation timeout. The Operator allows the timeout of pod creation to be manually configured.
    # It is primarily intended for use on cloud platforms where the deployment of multiple volumes and
    # pulling of a Couchbase Server container image may take a longer time than the default timeout period.
    pod-create-timeout: 10m
  # -- Resource Limits and requests for Pod CPU and Memory
  resources: {}
  # -- Specify a node selection constraint for couchbase-admission-operator pod assignment.
  # -- Ref: https://kubernetes.io/docs/user-guide/node-selection/
  nodeSelector: {}
  # -- Tolerations are applied to pods, and allow (but do not require)
  # the pods to schedule onto nodes with matching taints.
  tolerations: []
  # -- RBAC Scope of the Operator. Must be either 'Role' or 'ClusterRole'
  scope: Role

cluster:
  platform: aws
  antiAffinity: true
  image: couchbase/server:7.0.2
  security:
    adminSecret: ''
    password: 'password'
    rbac:
      managed: true
    username: Administrator
  servers:
    default:
      volumeMounts:
        default: pvc-default
        data: pvc-data
        index: pvc-index
      services:
        - data
        - query
        - index
  buckets:
    # -- Managed defines whether buckets are managed by us or the clients.
    managed: false
  cluster:
    dataServiceMemoryQuota: 3.4Gi
    indexServiceMemoryQuota: 2Gi
    searchServiceMemoryQuota: 1Gi
    indexStorageSetting: plasma
    indexer:
      storageMode: plasma
    autoFailoverTimeout: 10s
  volumeClaimTemplates:
    - metadata:
        name: pvc-default
      spec:
        storageClassName: gp2
        resources:
          requests:
            storage: 1Gi
    - metadata:
        name: pvc-data
      spec:
        storageClassName: gp2
        resources:
          requests:
            storage: 2Gi
    - metadata:
        name: pvc-index
      spec:
        storageClassName: gp2
        resources:
          requests:
            storage: 1Gi
  networking:
    dns:
      domain: eks-helm.fleray.info
    adminConsoleServiceTemplate:
      spec:
        type: LoadBalancer
    exposedFeatureServiceTemplate:
      spec:
        type: LoadBalancer
    exposedFeatures:
    - client
    - xdcr
    - admin
tls:
  generate: true
