#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ include "apisix-dashboard.fullname" . }}
  namespace: {{ .Release.Namespace }}
  labels:
    {{- include "apisix-dashboard.labels" . | nindent 4 }}
data:
  conf.yaml: |-
    {{- with .Values.config.conf }}
    conf:
      listen:
        host: {{ .listen.host }}
        port: {{ .listen.port }}
      {{- with .etcd }}
      etcd:
        prefix: {{ .prefix | quote }}
        endpoints:
          {{- range .endpoints }}
          - {{ . }}
          {{- end }}
        {{- if .username }}
        username: {{ .username }}
        {{- end }}
        {{- if .password }}
        password: {{ .password }}
        {{- end }}
        {{- if .mtls }}
        mtls:
          {{- toYaml .mtls | nindent 10 }}
        {{- end }}
      {{- end }}
      {{- with .log }}
      log:
        error_log:
          level: {{ .errorLog.level }}
          file_path: {{ .errorLog.filePath }}
        access_log:
          file_path: {{ .accessLog.filePath }}
      {{- end }}
    {{- end }}
    {{- with .Values.config.authentication }}
    authentication:
      secret: {{ .secret }}
      expire_time: {{ .expireTime }}
      users:
        {{- range .users }}
        - username: {{ .username }}
          password: {{ .password }}
        {{- end }}
    {{- end }}
    {{- with .Values.config.conf.plugins }}
    plugins:
      {{- range . }}
      - {{ . }}
      {{- end }}
    {{- end }}
