diff --git a/deployments/environments/dev/kustomization.yaml b/deployments/environments/dev/kustomization.yaml new file mode 100644 index 0000000..2220481 --- /dev/null +++ b/deployments/environments/dev/kustomization.yaml @@ -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 diff --git a/deployments/environments/prod/kustomization.yaml b/deployments/environments/prod/kustomization.yaml new file mode 100644 index 0000000..7329c28 --- /dev/null +++ b/deployments/environments/prod/kustomization.yaml @@ -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 diff --git a/deployments/environments/staging/kustomization.yaml b/deployments/environments/staging/kustomization.yaml new file mode 100644 index 0000000..89f74a2 --- /dev/null +++ b/deployments/environments/staging/kustomization.yaml @@ -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