This Helm Chart accepts contributions from GitHub pull requests. You can find help in this document to get your contribution accepted.
Please read the Helm Chart Guidelines before editing this chart.
Please read the testing guidelines to learn how testing is done with this chart.
According to the Traefik HelmChart philosophy, the guidelines for future evolutions are:
- Fix bugs
- improve security
- improve HelmChart support
- improve Kubernetes features support
- improve Traefik default configuration
While encouraging contributions, the philosophy leads to avoid introducing:
- Specific use cases
- Third party CRD
- Dashboard exposition tuning
- Helm chart variables that shortcuts/expose static or dynamic Traefik configuration
Commits messages should follow conventional commits specification and should specify a scope.
All commits will appear in traefik helm chart changelog with two exceptions:
- CRDs: CRDs are shared between Traefik and CRDs charts, thus, commits with this scope will appear in both charts changelog (e.g.
feat(CRDs): update Traefik Proxy CRDs to v3.x) - CRDs-.*: commits with
CRDs-prefixed scope will appear only on CRDs chart changelog (e.g.docs(CRDs-values): update values documentation)
Some Traefik Helm chart users asked for help in managing CRDs installed by this chart (cf. #1141, #1209).
Helm doesn't support CRDs upgrades (cf. HIP-0011 for details).
Our objectives are the following:
- Support the nominal installation case following official Helm GuideLines
- Stay conservative about CRDs to protect resource removal
- Allow users to install multiple instances of Traefik chart along with helm managed CRDs
Several implementations have been experimented. Here are pros and cons of each:
| solution | pros | cons |
| templatized CRDs within Traefik helm chart |
|
|
| seperated CRDs chart as main chart dependency |
|
|
| seperated CRDs chart |
|
|
Consequently, we chose the last option, until the situation evolve on Helm side.
VERSION=
# Checkout new branch
git checkout -b rel/$VERSION
# Update version in Chart.yaml
sed -i -e "s/^version: .*\$/version: $VERSION/g" traefik/Chart.yaml
# Commit the updated Chart.yaml
git commit -m "chore(release): publish $VERSION" traefik/Chart.yaml
# Generate first version of Changelog
make changelog
make docs
# Copy the Changelog for current version, and put it on a clean version
git checkout traefik/Chart.yaml
# Amend the commit and open the PR
git commit --amend traefik/Changelog.md traefik/Chart.yaml traefik/VALUES.md
git push -u origin HEAD
gh pr create -l kind/releaseOnce a year, monocle is used to gather statistics on this project.
They are gathered with this config file:
---
workspaces:
- name: monocle
crawlers:
- name: github-traefik
provider:
github_organization: traefik
github_repositories:
- traefik-helm-chart
update_since: '2024-01-01'