StackState curated applications for Kubernetes.
This Helm repository has pre-commit hooks for Helm specific needs:
- Makes sure all charts pass a
helm lintcheck. - Makes sure all shell scripts pass the
shellcheck. - Updates the
README.mdfile of all charts based on comments in that chart'svalues.yamlfile.
The binary for pre-commit can be installed via Homebrew:
$ brew install pre-commitAfter the pre-commit binary is installed, go to this repository's directory, and run the following commmands to install the git hook:
$ pre-commit install
$ pre-commit install-hooksThe pre-commit hooks themselves call binaries under the hood; they can be installed via the following command:
$ brew install helm shellcheck
$ brew install norwoodj/tap/helm-docsNOTE: The templates for README generation are only compatible with helm-docs 0.15+.
The SUSE Observability Helm has few subchart dependencies located in the same repository, when the subcharts are changed the main Chart dependencies have to be updated. It can be done by running:
stable/suse-observability/update-chart-dependencies.shThe Helm chart repository supports testing Helm charts using the Terratest library. In order to run tests for a chart, you can invoke the following command from the root of the repository:
$ go test ./stable/<chart>/test/...To run integration tests put them in an itest directory and run:
$ go test ./stable/<chart>/itest/...The test-set for a chart is in the stable/<chart>/itest directory.
You are encouraged to add more tests when working on the Helm charts ;).
We use gawk (instead of awk) for consistent local and container scripting.
$ brew install gawk$ apk add gawkWe list various design docs here that accompany the charts:
- SUSE Observability router maintenance mode: https://lucid.app/lucidchart/1dd84a54-2908-4e33-9b5d-21705c461dab/edit