A generic Helm chart for your application deployments.
Because no-one can remember the Kubernetes yaml syntax.
https://gimlet.io/docs/onechart-reference
Add the OneChart Helm repository:
helm repo add onechart https://chart.onechart.dev
Check the generated Kubernetes yaml:
helm template my-release onechart/onechart \
--set image.repository=nginx \
--set image.tag=1.19.3
Deploy with Helm:
helm install my-release onechart/onechart \
--set image.repository=nginx \
--set image.tag=1.19.3
See all Examples
Thank you for your interest in contributing to the Gimlet project.
Below are some guidelines and best practices for contributing to this repository:
If you are running a fork of OneChart and would like to upstream a feature, please open a pull request for it.
If you are planning to add a new feature to OneChart, please open an issue for it first. Helm charts are prone to having too many features, and OneChart want to keep the supported use-cases in-check. Proposed features have to be generally applicable, targeting newcomers to the Kubernetes ecosystem.
- Fork the repository.
- Create a new branch and make your changes.
- Open a pull request with detailed commit message and reference issue number if applicable.
- A maintainer will review your pull request, and help you throughout the process.
Development of OneChart does not differ from developing a regular Helm chart.
The source for OneChart is under charts/onechart
where you can locate the Chart.yaml
, values.yaml
and the templates.
We write unit tests for our helm charts. Pull requests are only accepted with proper test coverage.
The tests are located under charts/onechart/test
and use the https://github.com/DataDog/helm-unittest.git Helm plugin to run the tests.
For installation, refer to the CI workflow at .github/workflows/build.yaml
.
make all
to test and package the Helm chart.
The chart archives are put under docs/
together with the Helm repository manifest (index.yaml)
It is then served with Github Pages on https://chart.onechart.dev
Github Actions is used to automate the make calls on git tag events.