123 lines
3.6 KiB
YAML
123 lines
3.6 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ include "mariadb.fullname" . }}
|
|
labels:
|
|
{{- include "mariadb.labels" . | nindent 4 }}
|
|
spec:
|
|
replicas: {{.Values.replicaCount}}
|
|
selector:
|
|
matchLabels:
|
|
{{- include "mariadb.selectorLabels" . | nindent 6 }}
|
|
strategy:
|
|
type: Recreate
|
|
template:
|
|
metadata:
|
|
{{- with .Values.podAnnotations }}
|
|
annotations:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
labels:
|
|
{{- include "mariadb.selectorLabels" . | nindent 8 }}
|
|
spec:
|
|
{{- $volmounts := toYaml .Values.volumeMounts | trim | nindent 12 }}
|
|
{{- $volumes := toYaml .Values.volumes | trim | nindent 8 }}
|
|
serviceAccountName: {{ include "mariadb.serviceAccountName" . }}
|
|
securityContext:
|
|
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
|
initContainers:
|
|
# This would run during entrypoint if run as root
|
|
- name: set-volume-owners
|
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
securityContext:
|
|
runAsUser: 0
|
|
allowPrivilegeEscalation: true
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
add:
|
|
- CHOWN
|
|
- FOWNER
|
|
- DAC_OVERRIDE
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
volumeMounts:
|
|
- name: mariadb-conf
|
|
mountPath: /etc/mysql/conf.d
|
|
- name: mariadb-run
|
|
mountPath: /run/mysql
|
|
{{- $volmounts }}
|
|
command: ['bash', '-c', 'source /usr/local/bin/docker-entrypoint.sh && docker_create_db_directories']
|
|
env:
|
|
- name: DATADIR
|
|
value: /var/lib/mysql
|
|
- name: SOCKET
|
|
value: /run/mysql/mysql.sock
|
|
containers:
|
|
- name: mariadb
|
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
securityContext:
|
|
{{- toYaml .Values.securityContext | nindent 12 }}
|
|
envFrom:
|
|
- configMapRef:
|
|
name: mariadb-cm
|
|
env:
|
|
- name: MARIADB_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: password
|
|
name: ironic-mariadb
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- mysqladmin shutdown -uironic -p$(printenv MARIADB_PASSWORD)
|
|
livenessProbe:
|
|
exec:
|
|
command:
|
|
- healthcheck.sh
|
|
- --connect
|
|
- --innodb_initialized
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 30
|
|
successThreshold: 1
|
|
timeoutSeconds: 10
|
|
ports:
|
|
- containerPort: 3306
|
|
name: mariadb
|
|
protocol: TCP
|
|
readinessProbe:
|
|
exec:
|
|
command:
|
|
- healthcheck.sh
|
|
- --connect
|
|
- --innodb_initialized
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 30
|
|
successThreshold: 1
|
|
timeoutSeconds: 10
|
|
volumeMounts:
|
|
- name: mariadb-conf
|
|
mountPath: /etc/mysql/conf.d
|
|
- name: mariadb-run
|
|
mountPath: /run/mysql
|
|
{{- $volmounts }}
|
|
{{- with .Values.global.nodeSelector }}
|
|
nodeSelector:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
volumes:
|
|
- name: mariadb-conf
|
|
configMap:
|
|
name: mariadb-config
|
|
- name: mariadb-run
|
|
emptyDir:
|
|
sizeLimit: 20Mi
|
|
{{- $volumes }}
|