Awesome
Lagoon Helm charts
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
, orlagoon-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 aci/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 git config --global --add safe.directory /workdir
docker exec ct ct lint
Run chart-testing (install) locally
Prerequisite: install ct.
kind create cluster -n chart-testing
ct install --charts=charts/lagoon-logging
kind delete cluster -n chart-testing