Write Chart.yaml¶
After creating a new chart from a template, there will be a new Helm chart for your application in applications/application.
A basic Chart.yaml was created by phalanx application create.
A few additional fields need to be filled out.
Chart versioning¶
For charts that deploy a Rubin-developed application, set appVersion to the application’s Docker image tag (which is typically the version tag).
For charts that do not deploy an application (for example, charts that are only used to manage subcharts as described in Adding an external Helm chart), delete the appVersion field.
Note
The chart also has a version field, which will be set to 1.0.0.
This field does not need to be changed.
The top level of charts defined in the applications directory are used only by Argo CD and are never published as stand-alone Helm charts.
Their versions are therefore irrelevant, so we use 1.0.0 for all such charts.
Source and documentation links¶
You can add source and documentation links to an app’s Chart.yaml and that information is included in the app’s homepage in the Phalanx docs.
home¶
Use the home field in Chart.yaml for the app’s documentation site (if it has one).
For example:
home: https://gafaelfawr.lsst.io/
Don’t use the home field for links to documents (technotes) or source repositories.
sources¶
Use sources to link to the Git repositories related to the application.
Note that sources is an array of URLs, although often you will only have one URL in that list:
sources:
- https://github.com/lsst-sqre/gafaelfawr
If you used the web-service starter, this field will be pre-populated with the typical GitHub link for a SQuaRE application.
phalanx.lsst.io/docs¶
Use this custom annotation to link to documents (as opposed to the user guide, see home).
Documents are technotes and change-controlled documents:
annotations:
phalanx.lsst.io/docs: |
- id: "SQR-065"
title: "Design of Noteburst, a programatic JupyterLab notebook execution service for the Rubin Science Platform"
url: "https://sqr-065.lsst.io/"
- id: "SQR-062"
title: "The Times Square service for publishing parameterized Jupyter Notebooks in the Rubin Science platform"
url: "https://sqr-062.lsst.io/"
The value of phalanx.lsst.io/docs is a YAML-formatted string (hence the | symbol).
The id field is optional, but can be set to the document’s handle.
The title and url fields are required.
Next steps¶
Write the Kubernetes resource templates: Write the Kubernetes resource templates
Define the customization parameters for the chart: Write the values.yaml file
Define the secrets for your application: Define the application secrets