105 lines
2.4 KiB
YAML
105 lines
2.4 KiB
YAML
# Blue/Green Deployment: Blue Environment
|
|
# Use this file alongside values-prod.yaml for the blue (current) environment
|
|
#
|
|
# Deploy with:
|
|
# helm upgrade stellaops-blue ./devops/helm/stellaops \
|
|
# --namespace stellaops-blue \
|
|
# --values devops/helm/stellaops/values-prod.yaml \
|
|
# --values devops/helm/stellaops/values-bluegreen-blue.yaml \
|
|
# --wait
|
|
|
|
# Environment identification
|
|
global:
|
|
profile: prod-blue
|
|
labels:
|
|
stellaops.io/environment: blue
|
|
stellaops.io/deployment-strategy: blue-green
|
|
|
|
# Deployment identification
|
|
deployment:
|
|
environment: blue
|
|
color: blue
|
|
namespace: stellaops-blue
|
|
|
|
# Ingress for direct blue access (for validation/debugging)
|
|
ingress:
|
|
enabled: true
|
|
hosts:
|
|
- host: stellaops-blue.example.com
|
|
path: /
|
|
servicePort: 80
|
|
annotations:
|
|
# Not a canary - this is the primary ingress for blue
|
|
nginx.ingress.kubernetes.io/canary: "false"
|
|
|
|
# Service naming for traffic routing
|
|
services:
|
|
api:
|
|
name: stellaops-blue-api
|
|
web:
|
|
name: stellaops-blue-web
|
|
scanner:
|
|
name: stellaops-blue-scanner
|
|
|
|
# Pod labels for service selector
|
|
podLabels:
|
|
stellaops.io/color: blue
|
|
|
|
# Shared resources (same for both blue and green)
|
|
database:
|
|
# IMPORTANT: Blue and Green share the same database
|
|
# Ensure migrations are N-1 compatible
|
|
host: postgres.shared.svc.cluster.local
|
|
database: stellaops_production
|
|
# Connection pool tuning for blue/green (half of normal)
|
|
pool:
|
|
minSize: 5
|
|
maxSize: 25
|
|
|
|
valkey:
|
|
# Separate Valkey (Redis-compatible) instance per environment to avoid cache conflicts
|
|
host: valkey-blue.stellaops-blue.svc.cluster.local
|
|
database: 0
|
|
|
|
evidence:
|
|
storage:
|
|
# IMPORTANT: Shared evidence storage for continuity
|
|
bucket: stellaops-evidence-production
|
|
prefix: "" # No prefix - shared namespace
|
|
|
|
# Health check configuration
|
|
healthCheck:
|
|
readiness:
|
|
path: /health/ready
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 15
|
|
liveness:
|
|
path: /health/live
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
|
|
# Resource allocation (half of normal for blue/green)
|
|
resources:
|
|
api:
|
|
requests:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
limits:
|
|
cpu: 2000m
|
|
memory: 2Gi
|
|
scanner:
|
|
requests:
|
|
cpu: 1000m
|
|
memory: 1Gi
|
|
limits:
|
|
cpu: 4000m
|
|
memory: 4Gi
|
|
|
|
# Replica count (half of normal for blue/green)
|
|
replicaCount:
|
|
api: 2
|
|
web: 2
|
|
scanner: 2
|
|
signer: 1
|
|
attestor: 1
|