apiVersion: batch/v1
kind: Job
metadata:
  labels:
    {{- include "influxdb.labels" . | nindent 4 }}
  name: {{ template "influxdb.fullname" . }}-create-admin-user
  annotations:
    "helm.sh/hook": post-install
    "helm.sh/hook-delete-policy": hook-succeeded
    "helm.sh/hook-delete-policy": "before-hook-creation"
spec:
  activeDeadlineSeconds: 90
  template:
    metadata:
      labels:
        {{- include "influxdb.labels" . | nindent 8 }}
    spec:
      containers:
      - name: {{ template "influxdb.fullname" . }}-create-admin-user
        image: "{{ .Values.image.repository }}:{{ .Chart.AppVersion }}"
        env:
          - name: INFLUXDB_PASSWORD
            valueFrom:
              secretKeyRef:
                name: {{ template "influxdb.fullname" . }}-auth
                key: admin-password
          - name: INFLUXDB_TOKEN
            valueFrom:
              secretKeyRef:
                name: {{ template "influxdb.fullname" . }}-auth
                key: admin-token
        command:
          - bash
        args:
          - -c
          - |
            influx setup -f \
            --host http://{{ template "influxdb.fullname" . }} \
            -o {{ .Values.adminUser.organization }} \
            -b {{ .Values.adminUser.bucket }} \
            -u {{ .Values.adminUser.user }} \
            -p ${INFLUXDB_PASSWORD} \
            -t ${INFLUXDB_TOKEN}
      restartPolicy: OnFailure