# # 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. # {{- if .Values.init.enabled }} apiVersion: batch/v1 kind: Job metadata: name: {{ template "superset.name" . }}-init-db annotations: "helm.sh/hook": post-install,post-upgrade "helm.sh/hook-delete-policy": "before-hook-creation" spec: template: metadata: name: {{ template "superset.name" . }}-init-db {{- if .Values.init.podAnnotations }} annotations: {{ toYaml .Values.init.podAnnotations | nindent 8 }} {{- end }} spec: {{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }} serviceAccountName: {{ template "superset.serviceAccountName" . }} {{- end }} securityContext: runAsUser: {{ .Values.runAsUser }} {{- if .Values.init.initContainers }} initContainers: {{- tpl (toYaml .Values.init.initContainers) . | nindent 6 }} {{- end }} containers: - name: {{ template "superset.name" . }}-init-db image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" {{- if or .Values.extraEnv .Values.extraEnvRaw }} env: {{- range $key, $value := .Values.extraEnv }} - name: {{ $key | quote }} value: {{ $value | quote }} {{- end }} {{- if .Values.extraEnvRaw }} {{- toYaml .Values.extraEnvRaw | nindent 10 }} {{- end }} {{- end }} envFrom: - secretRef: name: {{ tpl .Values.envFromSecret . }} {{- range .Values.envFromSecrets }} - secretRef: name: {{ tpl . $ }} {{- end }} imagePullPolicy: {{ .Values.image.pullPolicy }} volumeMounts: - name: superset-config mountPath: {{ .Values.configMountPath | quote }} readOnly: true {{- if .Values.extraConfigs }} - name: superset-extra-config mountPath: {{ .Values.extraConfigMountPath | quote }} readOnly: true {{- end }} {{- with .Values.extraVolumeMounts }} {{- tpl (toYaml .) $ | nindent 10 -}} {{- end }} command: {{ tpl (toJson .Values.init.command) . }} resources: {{ toYaml .Values.init.resources | indent 10 }} {{- if .Values.imagePullSecrets }} imagePullSecrets: {{ toYaml .Values.imagePullSecrets | indent 8 }} {{- end }} volumes: - name: superset-config secret: secretName: {{ tpl .Values.configFromSecret . }} {{- if .Values.extraConfigs }} - name: superset-extra-config configMap: name: {{ template "superset.fullname" . }}-extra-config {{- end }} {{- with .Values.extraVolumes }} {{- tpl (toYaml .) $ | nindent 8 -}} {{- end }} restartPolicy: Never {{- end }}