apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name }}-gerrit-configmap
  labels:
    app: gerrit
    chart: {{ template "gerrit.chart" . }}
    heritage: {{ .Release.Service }}
    release: {{ .Release.Name }}
data:
  {{- range $key, $value := .Values.gerrit.etc.config }}
  {{ $key }}:
{{ toYaml $value | indent 4 }}
  {{- end }}
  {{- if not (hasKey .Values.gerrit.etc.config "healthcheck.config") }}
  healthcheck.config: |-
    [healthcheck "auth"]
      # On new instances there may be no users to use for healthchecks
      enabled = false
    [healthcheck "querychanges"]
      # On new instances there won't be any changes to query
      enabled = false
  {{- end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name }}-gerrit-init-configmap
  labels:
    app: gerrit
    chart: {{ template "gerrit.chart" . }}
    heritage: {{ .Release.Service }}
    release: {{ .Release.Name }}
data:
  gerrit-init.yaml: |-
    {{ if .Values.caCert -}}
    caCertPath: /var/config/ca.crt
    {{- end }}
    pluginCache: {{ .Values.gerrit.plugins.cache.enabled }}
    pluginCacheDir: /var/mnt/plugins
    {{- if .Values.gerrit.plugins.packaged }}
    packagedPlugins:
{{ toYaml .Values.gerrit.plugins.packaged | indent 6}}
    {{- end }}
    {{- if .Values.gerrit.plugins.downloaded }}
    downloadedPlugins:
{{ toYaml .Values.gerrit.plugins.downloaded | indent 6 }}
    {{- end }}
    {{- if .Values.gerrit.plugins.installAsLibrary }}
    installAsLibrary:
{{ toYaml .Values.gerrit.plugins.installAsLibrary | indent 6 }}
    {{- end }}
