The following instructions require you to make minor changes to the content of your own hosted Helm repository.
When provisioning new clusters it is often useful to install selected software packages to them as part of their bootstrap process. Weave GitOps Enterprise enables this by installing standard Helm charts to the newly provisioned clusters. This feature lowers the ongoing operational overhead and allows for the clusters to be immediately usable after being provisioned. To set this up you need to:
- Annotate a Helm chart to make it available for installation
- Select which profiles you want installed when creating a cluster
1. Annotate a Helm chart to make it available for installation
In order for a chart to become available for installation, it needs to include a
weave.works/profile annotation. For example:
description: Observability Helm chart for Kubernetes
The annotation value is not important and can be left blank i.e.
"". Helm charts with the
weave.works/profile annotation are called Profiles.
Annotations can also be used to determine the order in which profiles will be installed.
The profiles will be sorted lexicographically by their layer and those at a higher layer will only be installed after lower layers have been successfully installed and started.
In this example,
observability-profile will be installed prior to
podinfo-profile. In the corresponding HelmReleases, the dependencies can be observed under the
- name: cluster-name-observability
2. Select which profiles you want installed when creating a cluster
Currenly WGE inspects the current namespace that it is deployed in (in the management cluster) for a
HelmRepository object named
weaveworks-charts. This Kubernetes object should be pointing to a Helm chart repository that includes the profiles that are available for installation.
When creating a cluster from the UI using a CAPI template, these profiles should be available for selection in the
Profiles section of the template. For example:
As shown above, some profiles will be optional whereas some profiles will be required. This is determined when the template is authored and allows for operation teams to control which Helm packages should be installed on new clusters by default.