Skip to content

Commit

Permalink
Example deployment level configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
DiamondJoseph committed Dec 13, 2024
1 parent 85ff578 commit 5f3d646
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 4 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
48 changes: 44 additions & 4 deletions docs/source/how-to/helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -40,19 +40,59 @@ 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.

```
(
| Chart.yaml
| values.yaml
| \templates
| secret.yaml
```
| .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.
1 change: 1 addition & 0 deletions docs/source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 5f3d646

Please sign in to comment.