bbf501269d
- 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
43 lines
1.1 KiB
YAML
43 lines
1.1 KiB
YAML
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: mysql
|
|
namespace: {{ .Values.namespace }}
|
|
spec:
|
|
serviceName: mysql
|
|
replicas: 1
|
|
selector:
|
|
matchLabels: {app: mysql}
|
|
template:
|
|
metadata:
|
|
labels: {app: mysql}
|
|
spec:
|
|
containers:
|
|
- name: mysql
|
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
envFrom:
|
|
- configMapRef:
|
|
name: {{ .Values.configMap.name }}
|
|
env:
|
|
- name: MYSQL_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .Values.secret.name }}
|
|
key: MYSQL_PASSWORD
|
|
- name: MYSQL_ROOT_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .Values.secret.name }}
|
|
key: MYSQL_ROOT_PASSWORD
|
|
volumeMounts:
|
|
- name: mysql-data
|
|
mountPath: /var/lib/mysql
|
|
volumeClaimTemplates:
|
|
- metadata: {name: mysql-data}
|
|
spec:
|
|
accessModes: ["ReadWriteOnce"]
|
|
storageClassName: {{ .Values.storage.storageClass }}
|
|
resources:
|
|
requests:
|
|
storage: {{ .Values.storage.size }}
|