base_url: localhost:8080
base_url_protocol: http
env:
  - name: GRAFANA_CLOUD_NOTIFICATIONS_ENABLED
    value: "False"
  - name: FEATURE_PROMETHEUS_EXPORTER_ENABLED
    value: "True"
  - name: DJANGO_SETTINGS_MODULE
    value: "settings.dev"
  - name: FEATURE_TELEGRAM_INTEGRATION_ENABLED
    value: "True"
  - name: FEATURE_SLACK_INTEGRATION_ENABLED
    value: "True"
  - name: SLACK_SLASH_COMMAND_NAME
    value: "/oncall"
  # enabled to be able to test docker.host.internal in the webhook e2e tests
  - name: DANGEROUS_WEBHOOKS_ENABLED
    value: "True"
image:
  repository: localhost:63628/oncall/engine
  tag: dev
  pullPolicy: IfNotPresent
broker:
  type: redis
redis:
  architecture: standalone # don't run replicas, just eats up resources
  image:
    repository: redis # the default, bitnami/redis does not support ARM64
    tag: 7.0.5
  auth:
    password: oncallpassword
  master:
    disableCommands: []
rabbitmq:
  enabled: false
oncall:
  devMode: true
engine:
  replicaCount: 1
celery:
  replicaCount: 1
  worker_beat_enabled: true

externalGrafana:
  url: http://grafana:3000

grafana:
  enabled: false
  grafana.ini:
    feature_toggles:
      accessControlOnCall: false
    server:
      domain: localhost:3000
      root_url: "%(protocol)s://%(domain)s"
  replicas: 1
  extraInitContainers:
    - name: create-db-if-not-exists
      image: mysql:8.0.32
      command:
        # yamllint disable rule:line-length
        [
          "bash",
          "-c",
          'while ! mysqladmin ping -h "$DATABASE_HOST" --silent; do echo ''awaiting mysql db to be available'' && sleep 1; done && mysql -h "$DATABASE_HOST" -u "$DATABASE_USER" -p"$DATABASE_PASSWORD" -e ''CREATE DATABASE IF NOT EXISTS grafana CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;''',
        ]
      # yamllint enable rule:line-length
      env:
        - name: DATABASE_HOST
          value: oncall-dev-mariadb
        - name: DATABASE_USER
          value: root
        - name: DATABASE_PASSWORD
          value: oncallpassword
  env:
    GF_FEATURE_TOGGLES_ENABLE: externalServiceAccounts
    GF_AUTH_MANAGED_SERVICE_ACCOUNTS_ENABLED: true
    GF_SECURITY_ADMIN_PASSWORD: oncall
    GF_SECURITY_ADMIN_USER: oncall
    GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS: grafana-oncall-app
    GF_DATABASE_TYPE: mysql
    GF_DATABASE_HOST: oncall-dev-mariadb:3306
    GF_DATABASE_USER: root
    GF_DATABASE_SSL_MODE: disable
    GF_DATABASE_PASSWORD: oncallpassword
  # by settings grafana.plugins to [] and configuring grafana.extraVolumeMounts we are using the locally built
  # OnCall plugin rather than the latest published version
  plugins: []
  # hostPaths are defined in dev/kind.yml
  extraVolumeMounts:
    - name: plugins
      mountPath: /var/lib/grafana/plugins/grafana-plugin
      hostPath: /oncall-plugin
      readOnly: true
    - name: configuration-file
      mountPath: /var/lib/grafana/grafana.ini
      hostPath: /dev-config/grafana/grafana.dev.ini
      readOnly: true
    - name: provisioning
      mountPath: /var/lib/grafana/provisioning
      hostPath: /dev-config/grafana/provisioning
      readOnly: true
  service:
    type: NodePort
    nodePort: 30002

database:
  type: mysql
mariadb:
  enabled: true
  primary:
    service:
      type: NodePort
      nodePort: 30003
    extraEnvVars:
      # See "Passing extra command line flags to mysqld startup" section
      # https://hub.docker.com/r/bitnami/mariadb
      #
      # max_allowed_packet is set to 128mb in bytes
      #
      # this avoids "Got an error reading communication packets" errors that arise from the grafana container
      # apparently sending too much data to mariadb at once
      # https://mariadb.com/docs/skysql-dbaas/ref/mdb/system-variables/max_allowed_packet/
      - name: MARIADB_EXTRA_FLAGS
        value: "--max_allowed_packet=134217728 --max_connections=1024"
      - name: MARIADB_CHARACTER_SET
        value: utf8mb4
      - name: MARIADB_COLLATE
        value: utf8mb4_unicode_ci
  auth:
    rootPassword: oncallpassword

ingress:
  enabled: false
ingress-nginx:
  enabled: false
cert-manager:
  enabled: false
service:
  enabled: true
  type: NodePort
  port: 8080
  nodePort: 30001
prometheus:
  enabled: true
  alertmanager:
    enabled: false
  kube-state-metrics:
    enabled: false
  prometheus-node-exporter:
    enabled: false
  prometheus-pushgateway:
    enabled: false
  server:
    global:
      scrape_interval: 10s
  extraScrapeConfigs: |
    - job_name: 'oncall-exporter'
      metrics_path: /metrics/
      static_configs:
        - targets:
          - oncall-dev-engine.default.svc.cluster.local:8080
