Skip to content

A collection of Helm charts for Lagoon and associated services.

License

Notifications You must be signed in to change notification settings

uselagoon/lagoon-charts

Repository files navigation

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 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