githubEdit

6.2 Deployment

govstack-cfr-deployment 2.0.0

#1 Building blocks must be deployable as a container (REQUIRED EXTENSIBLE) (previously 5.7)

All building blocks are deployable as independent container images. Source code and build instructions can be committed to a public repository. Deployment may use Docker Compose, Kubernetes, or compatible orchestration tools. Images must be versioned and tagged according to semantic versioning.

#2 Include deployment documentation (REQUIRED EXTENSIBLE)

Must include detailed instructions for deployment, configuration, and rollback. Include prerequisites, environment variables, secrets management, and expected outputs.

When a building block requires deployment tools such as Kubernetes or Ansible, configuration and deployment scripts should be included in the building block repository.

Include automation scripts for deploying on different environments (dev/test/prod). Scripts should support idempotent deployment, scaling, and rollback procedures. Prefer declarative deployment (e.g., Kubernetes manifests, Helm charts, Terraform).

Deployment should be fully compatible with CI/CD pipelines. Include automated testing, build verification, and promotion pipelines. Support rollback mechanisms and canary deployments for safe updates.

Building blocks support horizontal scaling (replicas) where applicable. Ensure resilience to partial failures. Include stateless or decoupled services to facilitate scalability.

#6 Versioning and Rollback (REQUIRED EXTENSIBLE)

Each deployment MUST be versioned. Include mechanisms for rolling back to previous versions in case of failures. Maintain backward compatibility where possible.

#7 Security in Deployment (REQUIRED EXTENSIBLE)

All deployed services must enforce transport security (TLS 1.3+). Secure secrets (passwords, keys) via secret management tools (e.g., Vault, Kubernetes Secrets). Validate image integrity and authenticity before deployment.

Deployment artifacts should support multiple environments: dev, test, staging, production. Allow configuration and feature toggling per environment.

Last updated

Was this helpful?