global:
  name: consul
  datacenter: au-syd1
  domain: consul

  acls:
    # Enable chart-managed ACL tokens/policies for Consul system components.
    manageSystemACLs: true
    # Source the bootstrap/management token from a pre-existing Kubernetes secret
    # instead of letting the chart generate one. The secret is synced from Vault
    # via VSO (see ../../../base/consul/vaultauth.yaml and vaultstaticsecret.yaml).
    # When this secret is populated the server-acl-init job SKIPS bootstrapping and
    # uses the supplied token as the management token, so the k8s cluster bootstraps
    # with the SAME initial_management token as the authoritative VM cluster.
    bootstrapToken:
      secretName: consul-bootstrap-acl-token
      secretKey: token

server:
  image: hashicorp/consul:1.22.7
  replicas: 5
  bootstrapExpect: 5
  storage: 10Gi
  storageClass: cephrbd-fast-delete

  connect: true

  disruptionBudget:
    maxUnavailable: 1

  extraConfig: |
    {
      "acl": {
        "enabled": true,
        "default_policy": "deny",
        "down_policy": "extend-cache",
        "enable_token_persistence": true
      },
      "disable_remote_exec": true,
      "disable_update_check": true,
      "performance": {
        "raft_multiplier": 10
      },
      "ports": {
        "dns": 8600,
        "grpc": 8502,
        "http": 8500,
        "https": -1
      },
      "primary_datacenter": "au-syd1"
    }

  resources:
    requests:
      memory: 256Mi
      cpu: 100m
    limits:
      memory: 2Gi
      cpu: "1"

client:
  enabled: false

ui:
  enabled: true
  service:
    type: ClusterIP

connectInject:
  enabled: false

dns:
  enabled: true
  type: LoadBalancer
  annotations: |
    purelb.io/service-group: "common"
    purelb.io/addresses: 198.18.200.5
