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:
mdsamsulhaque
2026-11-04 06:43:05 +06:00
parent dfca9ba4ae
commit bbf501269d
24 changed files with 491 additions and 25 deletions
-9
View File
@@ -1,9 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
name: mysql-secret
namespace: {{ .Values.namespace }}
type: Opaque
stringData:
MYSQL_ROOT_PASSWORD: {{ .Values.mysql.rootPassword }}
MYSQL_PASSWORD: {{ .Values.mysql.password }}
+12 -7
View File
@@ -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