83 lines
3.5 KiB
YAML
83 lines
3.5 KiB
YAML
{{- if .Values.account }}
|
|
{{- if or .Values.account.adminPassword .Values.account.adminPasswordSecretName}}
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: {{ template "sonarqube.fullname" . }}-change-admin-password-hook
|
|
labels:
|
|
app: {{ template "sonarqube.name" . }}
|
|
heritage: {{ .Release.Service }}
|
|
release: {{ .Release.Name }}
|
|
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
|
|
{{- range $key, $value := .Values.service.labels }}
|
|
{{ $key }}: {{ $value | quote }}
|
|
{{- end }}
|
|
annotations:
|
|
"helm.sh/hook": post-install
|
|
"helm.sh/hook-delete-policy": hook-succeeded
|
|
{{- range $key, $value := .Values.adminJobAnnotations }}
|
|
{{ $key }}: {{ $value | quote }}
|
|
{{- end }}
|
|
spec:
|
|
template:
|
|
metadata:
|
|
name: {{ template "sonarqube.fullname" . }}-change-admin-password-hook
|
|
labels:
|
|
app: {{ template "sonarqube.name" . }}
|
|
heritage: {{ .Release.Service }}
|
|
release: {{ .Release.Name }}
|
|
{{- range $key, $value := .Values.service.labels }}
|
|
{{ $key }}: {{ $value | quote }}
|
|
{{- end }}
|
|
spec:
|
|
restartPolicy: OnFailure
|
|
{{- if or .Values.image.pullSecrets .Values.image.pullSecret }}
|
|
imagePullSecrets:
|
|
{{- if .Values.image.pullSecret }}
|
|
- name: {{ .Values.image.pullSecret }}
|
|
{{- end }}
|
|
{{- if .Values.image.pullSecrets }}
|
|
{{ toYaml .Values.image.pullSecrets | indent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
serviceAccountName: {{ template "sonarqube.serviceAccountName" . }}
|
|
{{- if .Values.tolerations }}
|
|
tolerations:
|
|
{{ toYaml .Values.tolerations | indent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.affinity }}
|
|
affinity:
|
|
{{ toYaml .Values.affinity | indent 8 }}
|
|
{{- end }}
|
|
containers:
|
|
- name: {{ template "sonarqube.fullname" . }}-change-default-admin-password
|
|
image: {{ default "curlimages/curl:8.2.0" .Values.curlContainerImage }}
|
|
{{- if $securityContext := .Values.account.securityContext }}
|
|
securityContext:
|
|
{{ toYaml $securityContext | indent 12 }}
|
|
{{- end }}
|
|
command: ["sh", "-c", 'until curl -v --connect-timeout 100 {{ template "sonarqube.fullname" . }}:{{ default 9000 .Values.service.internalPort }}{{ .Values.account.sonarWebContext | default (include "sonarqube.webcontext" .) }}api/system/status | grep -w UP; do sleep 10; done; curl -v --connect-timeout 100 -u admin:$CURRENT_ADMIN_PASSWORD -X POST "{{ template "sonarqube.fullname" . }}:{{ default 9000 .Values.service.internalPort }}{{ .Values.account.sonarWebContext | default (include "sonarqube.webcontext" .) }}api/users/change_password?login=admin&previousPassword=$CURRENT_ADMIN_PASSWORD&password=$ADMIN_PASSWORD"']
|
|
env:
|
|
- name: ADMIN_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
{{- if .Values.account.adminPassword }}
|
|
name: {{ template "sonarqube.fullname" . }}-admin-password
|
|
{{- else }}
|
|
name: {{ .Values.account.adminPasswordSecretName }}
|
|
{{- end }}
|
|
key: password
|
|
- name: CURRENT_ADMIN_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
{{- if .Values.account.adminPassword }}
|
|
name: {{ template "sonarqube.fullname" . }}-admin-password
|
|
{{- else }}
|
|
name: {{ .Values.account.adminPasswordSecretName }}
|
|
{{- end }}
|
|
key: currentPassword
|
|
resources:
|
|
{{ toYaml (default .Values.resources .Values.account.resources) | indent 10 }}
|
|
{{- end }}
|
|
{{- end }}
|