Environments¶
The RCIIS project maintains multiple environments to support development, testing, and production workflows.
Environment Overview¶
| Environment | Location | Purpose |
|---|---|---|
| local | Developer machines | Kind clusters for development |
| sqat | Magna BC office server room | System Quality Assurance Testing by Magna BC testers and QA engineers |
| testing | EAC cluster | User Acceptance Testing (UAT) at client site |
| prod | EAC cluster (same as testing) | Production workloads for EAC client |
Environment Promotion Flow¶
Each application follows the pattern: apps/rciis/{service}/{environment}/
Local Development¶
- Purpose: Developer workstations and local testing
- Infrastructure: Kind clusters with Cilium CNI
- Location:
apps/rciis/{service}/local/ - Secrets: Local development secrets (non-encrypted)
SQAT Environment¶
- Purpose: System Quality Assurance Testing - internal QA at Magna BC
- Location:
apps/rciis/{service}/sqat/ - Secrets: SOPS-encrypted secrets in
apps/rciis/secrets/sqat/ - Deployment: Internal testing before client deployment
Testing Environment¶
- Purpose: User Acceptance Testing (UAT) at the EAC client site
- Location:
apps/rciis/{service}/testing/ - Secrets: SOPS-encrypted secrets in
apps/rciis/secrets/testing/ - Cluster: Shared with production on EAC infrastructure
Production Environment¶
- Purpose: Live production workloads for EAC
- Location:
apps/rciis/{service}/prod/ - Secrets: SOPS-encrypted secrets in
apps/rciis/secrets/prod/ - Cluster: Shared with testing on EAC infrastructure
Infrastructure Differences¶
| Component | Local | SQAT | Testing/Prod |
|---|---|---|---|
| CNI | Cilium | Cilium | Cilium |
| Storage | Local volumes | Rook-Ceph | Rook-Ceph |
| Ingress | NodePort | LoadBalancer | LoadBalancer |
| TLS | Self-signed | Let's Encrypt | Let's Encrypt |
| Monitoring | Basic | Full stack | Full stack |
Secret Management¶
- Local: Plain text secrets for development
- SQAT/Testing/Prod: SOPS-encrypted with Age keys