Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uselagoon/lagoon-charts

A collection of Helm charts for Lagoon and associated services.
https://github.com/uselagoon/lagoon-charts

hacktoberfest

Last synced: about 2 months ago
JSON representation

A collection of Helm charts for Lagoon and associated services.

Awesome Lists containing this project

README

        

# Lagoon Helm charts

[![Actions Status](https://github.com/uselagoon/lagoon-charts/workflows/Release%20Charts/badge.svg)](https://github.com/uselagoon/lagoon-charts/actions)

This repository contains [Helm](https://helm.sh/) charts related to [Lagoon](https://github.com/amazeeio/lagoon/).

## Usage

See [here](https://uselagoon.github.io/lagoon-charts/).

## 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](https://github.com/uselagoon/lagoon-charts/blob/master/charts/lagoon-logging/ci/linter-values.yaml)).
* has some kind of test, even if it is just a simple connection test ([example](https://github.com/uselagoon/lagoon-charts/blob/master/charts/lagoon-logging/templates/tests/test-connection.yaml)).
* 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](https://docs.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners#supported-runners-and-hardware-resources) 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](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes).

## Development tips

### Run chart-testing (lint) locally

```bash
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](https://github.com/helm/chart-testing).

```bash
kind create cluster -n chart-testing
ct install --charts=charts/lagoon-logging
kind delete cluster -n chart-testing
```