--- title: "Deployment and release management" slug: "deployment" updated: 2025-12-05T08:09:49Z published: 2025-12-10T14:08:19Z canonical: "docs.grassfish.com/deployment" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.grassfish.com/llms.txt > Use this file to discover all available pages before exploring further. # Deployment and release management 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.