Add dev/stg/prod environments with per-env values, configmaps and secrets
- Move env-specific config into environments/<env>/{values,configmap,secret}.yaml
for both nginx-chart and mysql-chart (dev, stg, prod)
- Make templates env-agnostic: resource names come from values
(configMap.name, secret.name)
- nginx deployment mounts env ConfigMap and loads env Secret via envFrom
- mysql statefulset reads DB config from ConfigMap, passwords from Secret
- Remove mysql-chart/templates/secret.yaml (secrets are now per-env manifests)
- Add README with layout and deploy commands
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
metadata:
|
||||
name: mysql
|
||||
namespace: {{ .Values.namespace }}
|
||||
spec:
|
||||
@@ -15,15 +15,20 @@ spec:
|
||||
containers:
|
||||
- name: mysql
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: {{ .Values.configMap.name }}
|
||||
env:
|
||||
- name: MYSQL_DATABASE
|
||||
value: {{ .Values.mysql.database }}
|
||||
- name: MYSQL_USER
|
||||
value: {{ .Values.mysql.username }}
|
||||
- name: MYSQL_PASSWORD
|
||||
valueFrom: {secretKeyRef: {name: mysql-secret,key: MYSQL_PASSWORD}}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .Values.secret.name }}
|
||||
key: MYSQL_PASSWORD
|
||||
- name: MYSQL_ROOT_PASSWORD
|
||||
valueFrom: {secretKeyRef: {name: mysql-secret,key: MYSQL_ROOT_PASSWORD}}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ .Values.secret.name }}
|
||||
key: MYSQL_ROOT_PASSWORD
|
||||
volumeMounts:
|
||||
- name: mysql-data
|
||||
mountPath: /var/lib/mysql
|
||||
|
||||
Reference in New Issue
Block a user