We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.
With these steps you can make a contribution:
- Fork this repository, develop and test your changes on that fork.
- All commits have a meaningful description and are signed off as described above.
- Submit a pull request from your fork to this project.
All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests. See the above stated requirements for PR on this project.
Your PR has to fulfill the following points, to be considered:
- All Workflows must pass
- DCO Check must pass
- The title of the PR starts with the chart name (e.g.
[chart_name]: Additional options for SecurityContext
) - Changes must follow Helm best practices.
- Changes to a chart require a version bump for that chart following semver standard.
- New/Changed Configurations for the chart are documented in it's
README.md.gotmpl
file.
There are certain requirements charts have to match, to be maintained in your Helm Repository. Most of the requirements are relevant when you are planning to add a new chart to the repository.
The documentation for each chart is done with helm-docs. This way we can ensure that values are consistent with the chart documentation:
make helm-docs
Your chart should have a dedicated documentation part, where major changes to the chart are mentioned which cause a new major release. Here's a little example on how you could do that:
# Major Changes
Major Changes are documented with the version affected. **Before upgrading to a new version, check this section out!**
| **Chart Version** | **Change/Description** | **Commits/PRs** |
| :---------------- | :--------------------- | :-------------- |
||||
If your chart requires manual interaction for version upgrades (might be the case for major upgrades) you need to mention the exact instructions in a dedicated documentation part of your chart. That's not the case for upgrades, where no specific interaction is required.
Dependency versions should be set to a fixed version. We allow version fixing over all bugfix versions (eg. ~1.0.0
), since bugfix releases should not have big impact.
dependencies:
- name: "apache"
version: "~1.3.0"
repository: "https://charts.bitnami.com/bitnami"
There might be cases where this rule can not be applied, we are open to discuss that.
Since we release our charts on Artifacthub we encourage making use of the provided chart annotations for Artifacthub.
In some cases they might not be required.
Changes on a chart must be documented in a chart specific changelog. For every new release the entire artifacthub.io/changes
needs to be rewritten. Each change requires a new bullet point following the pattern - "[{type}]: {description}"
. Please use the following template:
artifacthub.io/changes: |
- "[Added]: Something New was added"
- "[Changed]: Changed Something within this chart"
- "[Changed]: Changed Something else within this chart"
- "[Deprecated]: Something deprecated"
- "[Removed]: Something was removed"
- "[Fixed]: Something was fixed"
- "[Security]": Some Security Patch was included"