Deployment and release management

Prev Next

Deployment and release management are are based on the following principles and models:

GitOps and IaC

Deployments and infrastructure provisioning follow GitOps principles and an infrastructure as code (IaC) approach:

  • GitOps with Flux: All Kubernetes application manifests are versioned in Git and deployed via Flux.

  • Pull request workflow: Changes are introduced through pull requests, ensuring full traceability and auditability.

  • IaC with Terraform/Terragrunt: Infrastructure components (AKS, SQL MI, storage, networking, etc.) are defined using Terraform/Terragrunt.

  • Reproducible environments: Preview, qualification, and production environments can be reliably recreated and remain well-documented through version control.

Release model

Grassfish’s release model is based on planned releases and update mechanisms:

  • Release frequency: Currently, two CMS releases are delivered per year, with a target of up to four releases annually in the medium term.

  • Rolling updates: The container-based architecture enables rolling deployments, often with zero downtime.

  • Independent player updates: Player software updates are decoupled from CMS releases and can be rolled out gradually, including staged rollouts and rollback options.