We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
Before you start contributing, feel free to reach out:
- Discord: Join our Discord Server to chat with maintainers and get quick help
- Discussions: Use GitHub Discussions for questions
- Issues: Search existing issues or create a new one
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
- Fork the repo and create your branch from
main. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- Issue that pull request!
- Update the README.md with details of changes if applicable.
- Update the chart version following SemVer versioning scheme.
- The PR will be merged once you have the sign-off of at least one maintainer.
- Charts should follow Helm best practices.
- Must pass
helm lint. - Must include a
values.yamlwith sensible defaults. - Must include a comprehensive
README.md(usehelm-docsto generate). - Should support the latest stable Kubernetes version.
charts/<chart-name>/
├── Chart.yaml # Chart metadata
├── values.yaml # Default configuration values
├── README.md # Chart documentation (auto-generated)
├── templates/ # Kubernetes manifest templates
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── ingress.yaml
│ ├── configmap.yaml
│ ├── secret.yaml
│ ├── pvc.yaml
│ ├── NOTES.txt
│ └── _helpers.tpl
└── ci/ # CI test values
└── test-values.yaml
- Chart names should be lowercase and use hyphens (e.g.,
my-app). - Template names should be descriptive and follow the pattern:
<chart-name>.<component>. - Labels should follow Kubernetes recommendations.
Each chart must have:
- Detailed
README.mdwith installation instructions, configuration options, and examples. - Inline comments in
values.yamlexplaining each option. NOTES.txttemplate with post-installation instructions.
Before submitting a PR:
# Lint the chart
helm lint charts/<chart-name>
# Test rendering with default values
helm template charts/<chart-name>
# Test rendering with custom values
helm template charts/<chart-name> -f charts/<chart-name>/ci/test-values.yaml
# Dry-run installation
helm install test-release charts/<chart-name> --debug --dry-runWhen you submit code changes, your submissions are understood to be under the same Apache 2.0 License that covers the project.
Report bugs using GitHub's issues
We use GitHub issues to track public bugs. Report a bug by opening a new issue.
Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
By contributing, you agree that your contributions will be licensed under its Apache 2.0 License.