feat: Add Kustomize environment configurations for dev, staging, and prod deployments

- Add dev kustomization with debug logging, 100 req/min rate limit, single replica counts
- Add staging kustomization with info logging, 500 req/min rate limit, 2 replicas, metrics enabled
- Add prod kustomization with warn logging, 1000 req/min rate limit, 2-3 replicas, GDPR/audit enabled
- Add environment-specific configMapGenerator with LOG_LEVEL, ENVIRONMENT, RATE_LIMIT settings
- Add environment-specific secretGenerator with DATABASE_URL, REDIS_URL, JWT_SECRET, encryption key (prod
This commit is contained in:
nutcas3
2026-04-17 17:22:20 +03:00
parent 9034337524
commit 940830674d
3 changed files with 130 additions and 0 deletions
@@ -0,0 +1,40 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
metadata:
name: telecom-platform-dev
resources:
- ../../kubernetes/00-namespace.yaml
- ../../kubernetes/01-mongodb.yaml
- ../../kubernetes/02-redis.yaml
- ../../kubernetes/03-api-server.yaml
- ../../kubernetes/04-charging-engine.yaml
- ../../kubernetes/manifests/
patchesStrategicMerge:
- api-server-dev-patch.yaml
- charging-engine-dev-patch.yaml
namespace: telecom-platform-dev
commonLabels:
app.kubernetes.io/environment: dev
app.kubernetes.io/managed-by: kustomize
configMapGenerator:
- name: telecom-platform-config
literals:
- LOG_LEVEL=debug
- ENVIRONMENT=dev
- RATE_LIMIT_REQUESTS=100
- RATE_LIMIT_WINDOW=60
secretGenerator:
- name: telecom-platform-secrets
literals:
- DATABASE_URL=postgresql://postgres:dev123@postgres:5432/telecom_dev
- REDIS_URL=redis://redis:6379
- JWT_SECRET=dev-jwt-secret-key
replicas:
- name: api-server
count: 1
- name: charging-engine
count: 1
- name: packet-gateway
count: 1
- name: web-dashboard
count: 1
@@ -0,0 +1,49 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
metadata:
name: telecom-platform-prod
resources:
- ../../kubernetes/00-namespace.yaml
- ../../kubernetes/01-mongodb.yaml
- ../../kubernetes/02-redis.yaml
- ../../kubernetes/03-api-server.yaml
- ../../kubernetes/04-charging-engine.yaml
- ../../kubernetes/manifests/
- ../istio/
- ../backup/
- ../monitoring/
- ../elk-stack/
patchesStrategicMerge:
- api-server-prod-patch.yaml
- charging-engine-prod-patch.yaml
- mongodb-prod-patch.yaml
namespace: telecom-platform-prod
commonLabels:
app.kubernetes.io/environment: prod
app.kubernetes.io/managed-by: kustomize
configMapGenerator:
- name: telecom-platform-config
literals:
- LOG_LEVEL=warn
- ENVIRONMENT=production
- RATE_LIMIT_REQUESTS=1000
- RATE_LIMIT_WINDOW=60
- METRICS_ENABLED=true
- GDPR_ENABLED=true
- AUDIT_ENABLED=true
secretGenerator:
- name: telecom-platform-secrets
literals:
- DATABASE_URL=postgresql://postgres:prod123@postgres:5432/telecom_prod
- REDIS_URL=redis://redis:6379
- JWT_SECRET=prod-jwt-secret-key
- ENCRYPTION_KEY=prod-encryption-key-256bits
replicas:
- name: api-server
count: 3
- name: charging-engine
count: 2
- name: packet-gateway
count: 2
- name: web-dashboard
count: 2
@@ -0,0 +1,41 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
metadata:
name: telecom-platform-staging
resources:
- ../../kubernetes/00-namespace.yaml
- ../../kubernetes/01-mongodb.yaml
- ../../kubernetes/02-redis.yaml
- ../../kubernetes/03-api-server.yaml
- ../../kubernetes/04-charging-engine.yaml
- ../../kubernetes/manifests/
patchesStrategicMerge:
- api-server-staging-patch.yaml
- charging-engine-staging-patch.yaml
namespace: telecom-platform-staging
commonLabels:
app.kubernetes.io/environment: staging
app.kubernetes.io/managed-by: kustomize
configMapGenerator:
- name: telecom-platform-config
literals:
- LOG_LEVEL=info
- ENVIRONMENT=staging
- RATE_LIMIT_REQUESTS=500
- RATE_LIMIT_WINDOW=60
- METRICS_ENABLED=true
secretGenerator:
- name: telecom-platform-secrets
literals:
- DATABASE_URL=postgresql://postgres:staging123@postgres:5432/telecom_staging
- REDIS_URL=redis://redis:6379
- JWT_SECRET=staging-jwt-secret-key
replicas:
- name: api-server
count: 2
- name: charging-engine
count: 2
- name: packet-gateway
count: 2
- name: web-dashboard
count: 2