apiVersion: v1
kind: Secret
metadata:
  name: {{ include "gitea.fullname" . }}-inline-config
  namespace: {{ .Values.namespace | default .Release.Namespace }}
  labels:
    {{- include "gitea.labels" . | nindent 4 }}
type: Opaque
stringData:
  {{- include "gitea.inline_configuration" . | nindent 2 }}
---
apiVersion: v1
kind: Secret
metadata:
  name: {{ include "gitea.fullname" . }}
  namespace: {{ .Values.namespace | default .Release.Namespace }}
  labels:
    {{- include "gitea.labels" . | nindent 4 }}
type: Opaque
stringData:
{{ (.Files.Glob "scripts/init-containers/config/*.sh").AsConfig | indent 2 }}
  assertions: |

    {{- /*assert that only one PG dep is enabled */ -}}
    {{- if and (.Values.postgresql.enabled) (index .Values "postgresql-ha" "enabled") -}}
      {{- fail "Only one of postgresql or postgresql-ha can be enabled at the same time." -}}
    {{- end }}
    
    {{- /* multiple replicas assertions */ -}}
    {{- if gt .Values.replicaCount 1.0 -}}
      {{- if .Values.gitea.config.cron -}}
        {{- if .Values.gitea.config.cron.GIT_GC_REPOS -}}
          {{- if eq .Values.gitea.config.cron.GIT_GC_REPOS.ENABLED true -}}
            {{ fail "Invoking the garbage collector via CRON is not yet supported when running with multiple replicas. Please set 'gitea.config.cron.GIT_GC_REPOS.enabled = false'." }}
          {{- end }}
        {{- end }}
      {{- end }}
    
      {{- if eq (first .Values.persistence.accessModes) "ReadWriteOnce" -}}
        {{- fail "When using multiple replicas, a RWX file system is required and persistence.accessModes[0] must be set to ReadWriteMany." -}}
      {{- end }}
      {{- if .Values.gitea.config.indexer -}}
        {{- if eq .Values.gitea.config.indexer.ISSUE_INDEXER_TYPE "bleve" -}}
          {{- fail "When using multiple replicas, the issue indexer (gitea.config.indexer.ISSUE_INDEXER_TYPE) must be set to a HA-ready provider such as 'meilisearch', 'elasticsearch' or 'db' (if the DB is HA-ready)." -}}
        {{- end }}
        {{- if .Values.gitea.config.indexer.REPO_INDEXER_TYPE -}}
          {{- if eq .Values.gitea.config.indexer.REPO_INDEXER_TYPE "bleve" -}}
            {{- if .Values.gitea.config.indexer.REPO_INDEXER_ENABLED -}}
              {{- if eq .Values.gitea.config.indexer.REPO_INDEXER_ENABLED true -}}
                {{- fail "When using multiple replicas, the repo indexer (gitea.config.indexer.REPO_INDEXER_TYPE) must be set to 'meilisearch' or 'elasticsearch' or disabled." -}}
              {{- end }}
            {{- end }}
          {{- end }}
        {{- end }}
      {{- end }}
      
    {{- end }}
