Skip to main content

Deployment

Secrets

If you haven't already, make sure to create the required secrets in your cluster before deploying Civitas Core V2. You can find the list of required secrets in the prerequisites documentation.

First Deployment

To deploy a certain environment (e.g., testing), navigate to your deployment directory and run:

helmfile -f deployment/helmfile.yaml sync -e testing

Subsequent Deployments

If CRDs are already installed, it is also possible to run apply, which will only apply changes instead of doing a full sync. This is faster for subsequent deployments after the initial deployment.

helmfile -f deployment/helmfile.yaml apply -e testing

Deploying a Single Component

To deploy or update a specific component without redeploying everything:

helmfile -f deployment/helmfile.yaml apply -e testing --selector component=keycloak

Replace keycloak with the component name. This is useful for iterating on individual components.

Dry-Run / Preview

To see what would be deployed without making changes:

# Render all templates (dry-run)
helmfile -f deployment/helmfile.yaml template -e testing

# Validate templates without deploying
helmfile -f deployment/helmfile.yaml lint -e testing

Tipps and Tricks

tip

Some helpful flags:

  • -i or --interactive: Shows a diff of what will be changed and prompts for confirmation before applying changes (only for apply command).
  • --selector component=<component-name>: Deploys only the specified component. Component name must be camelCase.
  • --kubeconfig <path>: Uses the specified kubeconfig file instead of the default one.
  • --kube-context <context>: Uses the specified kube context instead of the current one.