Thank you for your interest in contributing to the KitStream Helms repository! This document provides guidelines and information for contributors.
- Use GitHub Issues to report bugs or request features.
- Search existing issues before creating a new one to avoid duplicates.
- Provide as much detail as possible, including Helm and Kubernetes versions.
-
Fork the repository and create a feature branch from
main:git checkout -b feature/my-chart-improvement
-
Make your changes following the guidelines below.
-
Test your chart locally:
helm lint charts/<chart-name> helm template charts/<chart-name>
-
Commit with clear, descriptive messages:
git commit -m "feat(chart-name): add support for ingress annotations" -
Push your branch and open a Pull Request against
main.
When adding a new chart:
- Place the chart under
charts/<chart-name>/. - Include a
Chart.yamlwith complete metadata (name, version, appVersion, description, maintainers). - Provide sensible defaults in
values.yamlwith thorough inline comments. - Include a
README.mddocumenting all configurable values and usage examples. - Add a
NOTES.txttemplate to display post-install instructions. - Follow Helm best practices.
When bringing in or upgrading a chart from the community:
- Document the upstream source and version in
Chart.yaml(use thesourcesfield). - Clearly describe what modifications were made and why in the PR description.
- Preserve upstream license information where applicable.
- Run
dprint fmtto format markdown files before submitting. - Run
helmfmt charts/<chart-name>to format Helm templates before submitting (install viago install github.com/digitalstudium/helmfmt@latest). - Use
helm lintto validate charts before submitting. - Use
helm templateto verify rendered manifests. - Follow Kubernetes naming conventions.
- Use labels consistently:
app.kubernetes.io/name,app.kubernetes.io/instance,app.kubernetes.io/version,app.kubernetes.io/managed-by. - Parameterise resource requests/limits, replica counts, and image references in
values.yaml. - Avoid hard-coding namespaces in templates.
We follow Conventional Commits:
feat(chart-name): description— new featurefix(chart-name): description— bug fixdocs(chart-name): description— documentation changechore: description— maintenance tasks
Be respectful and constructive. We are committed to providing a welcoming and inclusive environment for everyone.
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.