Write a Helm chart for an application

Argo CD manages applications in the Rubin Science Platform through a set of Helm charts. Which Helm charts to deploy in a given environment is controlled by the values.yaml and values-environment.yaml files in /environments.

The applications directory defines templates in its templates directory and values to resolve those templates in values.yaml and values-environment.yaml files to customize the application for each environment. For first-party charts, the templates directory is generally richly populated.

Phalanx extends Helm charts with additional files, annotations, and injected values. Even if you are already familiar with writing Helm charts, there are some Phalanx-specific details.

See also

These pages focus on writing your own Helm chart. If you are deploying a third-party application that already has a Helm chart, see Adding an external Helm chart.

In some cases where there is a lot of internal duplication between multiple Phalanx applications, those applications should share a subchart that encapsulates that duplication. See Sharing subcharts between applications if you think that may be the case for your application.

Examples

Existing Helm charts that are good examples to read or copy are:

  • mobu (fairly simple)

  • hips (simple but with workload identity)

  • gafaelfawr (complex, including CRDs, multiple pods, and Cloud SQL)