/lagoon-charts

*WIP* A collection of Helm charts for Lagoon and associated services. This is under heavy development until the release of Lagoon 2.0 and should not be used for anything other than contribution or testing.

Primary LanguageMustacheApache License 2.0Apache-2.0

Lagoon Helm charts

Actions Status

This repository contains Helm charts related to Lagoon.

Usage

See here.

Contribute

Branch/fork and add/edit a chart in the charts/ directory. When you create a PR your change will be automatically linted and tested. PRs are not mergeable until lint + test passes.

Releases are automatically made for any change which is merged to main.

How CI works on PRs

  • All charts except lagoon-test are automatically linted, installed, and tested.
  • lagoon-test is special since it is used purely for development and consists of test fixtures for the full Lagoon test suite.
  • Any change to lagoon-core, lagoon-remote, or lagoon-test trigger a second CI job which installs the three charts together and runs the full test suite.

New charts

Please ensure that any new chart:

  • is installable into kind, which is used in the CI environment. You can add a ci/linter-values.yaml file if necessary (example).
  • has some kind of test, even if it is just a simple connection test (example).
  • has a useful templates/NOTES.txt.
  • has a README.md with some basic information about the chart.

Bonus points: well-tuned probes

The CI runs in a constrained environment which makes it a good place to test how your chart handles slow-starting pods. Ideally pods should never be killed due to failing probes during chart-install, even if they do eventually start and the chart installation succeeds. Documentation on probes for pod startup is here.

Development tips

Run chart-testing (lint) locally

$ docker run --rm --interactive --detach --network host --name ct "--volume=$(pwd):/workdir" "--workdir=/workdir" --volume=$(pwd)/default.ct.yaml:/etc/ct/ct.yaml quay.io/helmpack/chart-testing:latest cat
$ docker exec ct ct lint