+ serviceAccountName: {{ include "influxdb.serviceAccountName" . }}
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ ports:
+ - name: {{ .Values.service.portName }}
+ containerPort: 8086
+ protocol: TCP
+ env:
+ # Automated setup will not run if an existing boltdb file is found at the configured path.
+ # This behavior allows for the InfluxDB container to reboot post-setup without encountering "DB is already set up" errors.
+ - name: DOCKER_INFLUXDB_INIT_MODE
+ value: setup
+ # The username to set for the system's initial super-user (Required).
+ - name: DOCKER_INFLUXDB_INIT_USERNAME
+ value: {{ .Values.adminUser.user }}
+ # The password to set for the system's inital super-user (Required).
+ - name: DOCKER_INFLUXDB_INIT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ {{- if .Values.adminUser.existingSecret }}
+ name: {{ .Values.adminUser.existingSecret -}}
+ {{ else }}
+ name: {{ template "influxdb.fullname" . }}-auth
+ {{- end }}
+ key: admin-password
+ # The name to set for the system's initial organization (Required).
+ - name: DOCKER_INFLUXDB_INIT_ORG
+ value: {{ .Values.adminUser.organization }}
+ # The name to set for the system's initial bucket (Required).
+ - name: DOCKER_INFLUXDB_INIT_BUCKET
+ value: {{ .Values.adminUser.bucket }}
+ # The duration the system's initial bucket should retain data. If not set, the initial bucket will retain data forever.
+ - name: DOCKER_INFLUXDB_INIT_RETENTION
+ value: {{ .Values.adminUser.retention_policy }}
+ # The authentication token to associate with the system's initial super-user. If not set, a token will be auto-generated by the system.
+ - name: DOCKER_INFLUXDB_INIT_ADMIN_TOKEN
+ valueFrom:
+ secretKeyRef:
+ {{- if .Values.adminUser.existingSecret }}
+ name: {{ .Values.adminUser.existingSecret -}}
+ {{ else }}
+ name: {{ template "influxdb.fullname" . }}-auth
+ {{- end }}
+ key: admin-token
+ # Path to the BoltDB database.
+ - name: INFLUXD_BOLT_PATH
+ value: {{ .Values.persistence.mountPath }}/influxd.bolt
+ # Path to persistent storage engine files where InfluxDB stores all Time-Structure Merge Tree (TSM) data on disk.
+ - name: INFLUXD_ENGINE_PATH
+ value: {{ .Values.persistence.mountPath }}
+ {{- with .Values.env }}
+ # Extra environment variables from .Values.env
+ {{- toYaml . | nindent 12 }}
+ {{- end }}
+ {{- if .Values.securityContext }}
+ securityContext:
+ {{- toYaml .Values.securityContext | nindent 12 }}
+ {{- end }}
+ livenessProbe:
+ httpGet:
+ path: {{ .Values.livenessProbe.path | default "/health" }}
+ port: http
+ scheme: {{ .Values.livenessProbe.scheme | default "HTTP" }}
+ initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds | default 0 }}
+ periodSeconds: {{ .Values.livenessProbe.periodSeconds | default 10 }}
+ timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds | default 1 }}
+ failureThreshold: {{ .Values.livenessProbe.failureThreshold | default 3 }}
+ readinessProbe:
+ httpGet:
+ path: {{ .Values.readinessProbe.path | default "/health" }}
+ port: http
+ scheme: {{ .Values.readinessProbe.scheme | default "HTTP" }}
+ initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds | default 0 }}
+ periodSeconds: {{ .Values.readinessProbe.periodSeconds | default 10 }}
+ timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds | default 1 }}
+ successThreshold: {{ .Values.readinessProbe.successThreshold | default 1 }}
+ failureThreshold: {{ .Values.readinessProbe.failureThreshold | default 3 }}
+ {{- if .Values.startupProbe.enabled }}
+ startupProbe:
+ httpGet:
+ path: {{ .Values.startupProbe.path | default "/health" }}
+ port: http
+ scheme: {{ .Values.startupProbe.scheme | default "HTTP" }}
+ initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds | default 30 }}
+ periodSeconds: {{ .Values.startupProbe.periodSeconds | default 5 }}
+ timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds | default 1 }}
+ failureThreshold: {{ .Values.startupProbe.failureThreshold | default 6 }}
+ {{- end }}
+ volumeMounts:
+ - name: data
+ mountPath: {{ .Values.persistence.mountPath }}
+ subPath: {{ .Values.persistence.subPath }}
+ {{- if .Values.initScripts.enabled }}
+ - name: init
+ mountPath: /docker-entrypoint-initdb.d
+ {{- end }}
+ {{- if .Values.mountPoints }}
+ {{- toYaml .Values.mountPoints | nindent 10 }}
+ {{- end }}
+ resources:
+ {{ .Values.resources | toYaml | nindent 12 | trim }}
+
+ {{- if .Values.securityContext.runAsGroup }}
+ securityContext:
+ fsGroup: {{ .Values.securityContext.runAsGroup }}