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
@@ -0,0 +1,19 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config-dev
namespace: dev
labels:
app: nginx
env: dev
data:
default.conf: |
server {
listen 80;
server_name nginx.dev.local;
location / {
return 200 "nginx DEV environment\n";
add_header Content-Type text/plain;
}
}
+31
View File
@@ -0,0 +1,31 @@
# ---------------------------------------------------------------------------
# Registry pull secret used by the nginx Deployment (imagePullSecrets).
# Replace the credentials with the real registry values, or regenerate with:
# kubectl create secret docker-registry harbor-secret \
# --docker-server=imageregistry.gen-itech.com \
# --docker-username=demo --docker-password=demo123 \
# -n dev --dry-run=client -o yaml
# ---------------------------------------------------------------------------
apiVersion: v1
kind: Secret
metadata:
name: harbor-secret
namespace: dev
type: kubernetes.io/dockerconfigjson
stringData:
.dockerconfigjson: |
{"auths":{"imageregistry.gen-itech.com":{"username":"demo","password":"demo123","auth":"ZGVtbzpkZW1vMTIz"}}}
---
# ---------------------------------------------------------------------------
# Application secret for the nginx container (loaded via envFrom).
# ---------------------------------------------------------------------------
apiVersion: v1
kind: Secret
metadata:
name: nginx-secret-dev
namespace: dev
type: Opaque
stringData:
APP_ENV: dev
APP_SECRET: change-me-dev
+16
View File
@@ -0,0 +1,16 @@
# DEV environment overrides for nginx-chart
namespace: dev
replicaCount: 1
image:
tag: "39"
ingress:
host: nginx.dev.local
configMap:
name: nginx-config-dev
secret:
name: nginx-secret-dev