mirror of
https://github.com/helm/charts.git
synced 2026-08-21 21:38:03 +00:00
165 lines
5.6 KiB
YAML
165 lines
5.6 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ template "phpmyadmin.fullname" . }}
|
|
labels:
|
|
app: {{ template "phpmyadmin.name" . }}
|
|
chart: {{ template "phpmyadmin.chart" . }}
|
|
release: {{ .Release.Name }}
|
|
heritage: {{ .Release.Service }}
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: {{ template "phpmyadmin.name" . }}
|
|
release: {{ .Release.Name }}
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: {{ template "phpmyadmin.name" . }}
|
|
chart: {{ template "phpmyadmin.chart" . }}
|
|
release: {{ .Release.Name }}
|
|
{{- if .Values.podLabels }}
|
|
{{ toYaml .Values.podLabels | indent 8 }}
|
|
{{- end }}
|
|
{{- if or .Values.podAnnotations .Values.metrics.enabled }}
|
|
annotations:
|
|
{{- if .Values.podAnnotations }}
|
|
{{ toYaml .Values.podAnnotations | indent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.metrics.podAnnotations }}
|
|
{{ toYaml .Values.metrics.podAnnotations | indent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
spec:
|
|
{{- include "phpmyadmin.imagePullSecrets" . | indent 6 }}
|
|
{{- with .Values.nodeSelector }}
|
|
nodeSelector: {{ toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.affinity }}
|
|
affinity: {{ toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.tolerations }}
|
|
tolerations: {{ toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
hostAliases:
|
|
- ip: "127.0.0.1"
|
|
hostnames:
|
|
- "status.localhost"
|
|
containers:
|
|
- name: {{ .Chart.Name }}
|
|
image: {{ template "phpmyadmin.image" . }}
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
env:
|
|
- name: DATABASE_PORT_NUMBER
|
|
value: {{ .Values.db.port | quote }}
|
|
{{- if .Values.db.chartName }}
|
|
- name: DATABASE_HOST
|
|
value: "{{ template "phpmyadmin.dbfullname" . }}"
|
|
{{- else if .Values.db.bundleTestDB }}
|
|
- name: DATABASE_HOST
|
|
value: "{{ template "mariadb.fullname" . }}"
|
|
{{- else }}
|
|
- name: DATABASE_HOST
|
|
value: {{ .Values.db.host | quote }}
|
|
{{- end }}
|
|
{{- if and (not .Values.db.chartName) (not .Values.db.host) }}
|
|
- name: PHPMYADMIN_ALLOW_NO_PASSWORD
|
|
value: "true"
|
|
- name: PHPMYADMIN_ALLOW_ARBITRARY_SERVER
|
|
value: "true"
|
|
{{- else }}
|
|
- name: PHPMYADMIN_ALLOW_NO_PASSWORD
|
|
value: "false"
|
|
{{- end }}
|
|
- name: DATABASE_ENABLE_SSL
|
|
value: {{ ternary "yes" "no" .Values.db.enableSsl | quote }}
|
|
{{- if .Values.db.enableSsl }}
|
|
{{- if not (empty .Values.db.ssl.clientKey) }}
|
|
- name: DATABASE_SSL_KEY
|
|
value: "/db_certs/server_key.pem"
|
|
{{- end }}
|
|
{{- if not (empty .Values.db.ssl.clientCertificate) }}
|
|
- name: DATABASE_SSL_CERT
|
|
value: "/db_certs/server_certificate.pem"
|
|
{{- end }}
|
|
{{- if not (empty .Values.db.ssl.caCertificate) }}
|
|
- name: DATABASE_SSL_CA
|
|
value: "/db_certs/ca_certificate.pem"
|
|
{{- end }}
|
|
{{- if .Values.db.ssl.ciphers }}
|
|
- name: DATABASE_SSL_CIPHERS
|
|
values: {{ .Values.db.ssl.ciphers | quote }}
|
|
{{- end }}
|
|
- name: DATABASE_SSL_VERIFY
|
|
value: {{ ternary "yes" "no" .Values.db.ssl.verify | quote }}
|
|
{{- end }}
|
|
ports:
|
|
- name: http
|
|
containerPort: 80
|
|
protocol: TCP
|
|
- name: https
|
|
containerPort: 443
|
|
protocol: TCP
|
|
{{- if .Values.probesEnabled }}
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: http
|
|
{{- end }}
|
|
{{- if .Values.resources }}
|
|
resources: {{ toYaml .Values.resources | nindent 12 }}
|
|
{{- end }}
|
|
{{- if .Values.db.enableSsl }}
|
|
volumeMounts:
|
|
- name: ssl-certs
|
|
mountPath: /db_certs
|
|
{{- end }}
|
|
{{- if .Values.metrics.enabled }}
|
|
- name: metrics
|
|
image: {{ template "phpmyadmin.metrics.image" . }}
|
|
imagePullPolicy: {{ .Values.metrics.image.pullPolicy | quote }}
|
|
command: [ '/bin/apache_exporter', '-scrape_uri', 'http://status.localhost:80/server-status/?auto']
|
|
ports:
|
|
- name: metrics
|
|
containerPort: 9117
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /metrics
|
|
port: metrics
|
|
initialDelaySeconds: 15
|
|
timeoutSeconds: 5
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /metrics
|
|
port: metrics
|
|
initialDelaySeconds: 5
|
|
timeoutSeconds: 1
|
|
{{- if .Values.metrics.resources }}
|
|
resources: {{ toYaml .Values.metrics.resources | nindent 12 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.db.enableSsl }}
|
|
volumes:
|
|
- name: ssl-certs
|
|
secret:
|
|
secretName: {{ template "phpmyadmin.fullname" . }}-certs
|
|
items:
|
|
{{- if not (empty .Values.db.ssl.clientKey) }}
|
|
- key: server_key.pem
|
|
path: server_key.pem
|
|
{{- end }}
|
|
{{- if not (empty .Values.db.ssl.clientCertificate) }}
|
|
- key: server_certificate.pem
|
|
path: server_certificate.pem
|
|
{{- end }}
|
|
{{- if not (empty .Values.db.ssl.caCertificate) }}
|
|
- key: ca_certificate.pem
|
|
path: ca_certificate.pem
|
|
{{- end }}
|
|
{{- end }}
|