Skip to content

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

Local → SQAT → Testing (UAT) → Production

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

Values Files Hierarchy

common-values.yaml          # Shared configuration
{environment}/values.yaml   # Environment-specific overrides