diff --git a/CHANGELOG.md b/CHANGELOG.md index 18548cffb..782da954b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ Write the date in place of the "Unreleased" in the case a new version is release # Changelog +## 2024-12-13 + +### Added + +- Added a Helm chart with deployable default configuration + ## 2024-12-09 ### Added diff --git a/docs/source/how-to/helm.md b/docs/source/how-to/helm.md index 2fb8fc801..8912c269a 100644 --- a/docs/source/how-to/helm.md +++ b/docs/source/how-to/helm.md @@ -15,7 +15,7 @@ Installing the Helm chart with default values: helm install tiled oci://ghcr.io/bluesky/charts/tiled ``` -This Helm chart additionally refers to, but does not install, a Secret that contains +This Helm chart additionally refers to, but does not create, a Secret that contains the value to use as the API key. It is highly recommended to use a [SealedSecret](https://github.com/bitnami-labs/sealed-secrets#readme) if kubeseal is available on the cluster you are installing into. @@ -40,14 +40,17 @@ spec: tiled-secrets: AgCC... ``` -And either apply the SealedSecret to the cluster with kubernetes: +Apply the SealedSecret to the cluster with kubernetes: ```sh kubectl apply -f secret.yaml ``` -Or add it to a chart that manages the deployment: +## Further Configuration +A common pattern for managing the configuration of a Helm chart is to wrap the config +as another layer of chart, with the bundled instance configuration and the dependent +charts kept under source control. ``` ( @@ -55,4 +58,41 @@ Or add it to a chart that manages the deployment: | values.yaml | \templates | secret.yaml -``` \ No newline at end of file + | .git +``` + +The dependent chart(s): tiled and any other services that *should live and die with the +tiled instance* can be referenced from the Chart.yaml: + +```yaml +apiVersion: v2 +name: my-install-of-tiled +description: tiled configured for use at... + +version: 0.1.0 +appVersion: v0.1.0b12 + +type: application + +dependencies: +# Fetches the tiled Helm chart with version 0.1.0 + - name: tiled + version: "0.1.0" + repository: "oci://ghcr.io/bluesky/charts" +``` + +While overrides for the bundled values.yaml in each dependency chart can be passed +as part of the values.yaml. + +Note that the `name` in the `dependencies` in the Chart.yaml give the top-level key +to use in the values.yaml: + +```yaml +tiled: + # This is mounted as config.yaml to the tiled container + # Replacing `config` value in the helm/tiled/values.yaml file in this repository + config: {} +``` + +Additional templates to be deployed alongside the tiled server can be defined- for +example the SealedSecret defined above. diff --git a/docs/source/index.md b/docs/source/index.md index 2940cfd3f..a8947403c 100644 --- a/docs/source/index.md +++ b/docs/source/index.md @@ -21,6 +21,7 @@ tutorials/plotly-integration how-to/profiles how-to/client-logger how-to/docker +how-to/helm how-to/configuration how-to/read-custom-formats how-to/custom-export-formats