Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: traefik/traefik-helm-chart
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v24.0.0
Choose a base ref
...
head repository: traefik/traefik-helm-chart
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v25.0.0
Choose a head ref

Commits on Aug 16, 2023

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    1f043da View commit details

Commits on Aug 21, 2023

  1. Copy the full SHA
    607b808 View commit details
  2. Copy the full SHA
    0dcc834 View commit details

Commits on Aug 28, 2023

  1. Copy the full SHA
    9b9f306 View commit details

Commits on Sep 4, 2023

  1. Copy the full SHA
    ba67d9b View commit details

Commits on Sep 14, 2023

  1. Copy the full SHA
    d55b928 View commit details
  2. Copy the full SHA
    d3f7e60 View commit details

Commits on Sep 27, 2023

  1. Copy the full SHA
    498c1e7 View commit details

Commits on Oct 3, 2023

  1. Copy the full SHA
    0725e48 View commit details

Commits on Oct 10, 2023

  1. Copy the full SHA
    18c9d45 View commit details
  2. Copy the full SHA
    b04d479 View commit details

Commits on Oct 13, 2023

  1. Copy the full SHA
    6f8d874 View commit details
  2. Copy the full SHA
    037a5a6 View commit details

Commits on Oct 14, 2023

  1. Copy the full SHA
    6484a40 View commit details
  2. docs: fix typo in README

    jnoordsij authored Oct 14, 2023
    Copy the full SHA
    d1a2770 View commit details

Commits on Oct 17, 2023

  1. Copy the full SHA
    6b2268f View commit details

Commits on Oct 19, 2023

  1. Copy the full SHA
    8cf14c8 View commit details
  2. Copy the full SHA
    1cc6271 View commit details
  3. Copy the full SHA
    14d4895 View commit details

Commits on Oct 23, 2023

  1. Copy the full SHA
    bf75a5d View commit details
  2. Copy the full SHA
    e03b128 View commit details
Showing with 1,753 additions and 643 deletions.
  1. +1 −1 .github/chart-testing.yaml
  2. +2 −1 .github/workflows/release.yml
  3. +36 −6 .github/workflows/test.yml
  4. +59 −4 EXAMPLES.md
  5. +7 −5 Makefile
  6. +10 −1 README.md
  7. +5 −0 hack/ct.sh
  8. +0 −12 hack/lint.sh
  9. +15 −0 hack/metallb-config.yaml
  10. +911 −218 traefik/Changelog.md
  11. +16 −9 traefik/Chart.yaml
  12. +12 −6 traefik/VALUES.md
  13. +2 −0 traefik/crds/traefik.io_serverstransporttcps.yaml
  14. +5 −0 traefik/templates/_helpers.tpl
  15. +13 −7 traefik/templates/_podtemplate.tpl
  16. +7 −3 traefik/templates/daemonset.yaml
  17. +7 −5 traefik/templates/gateway.yaml
  18. +36 −0 traefik/templates/healthcheck-ingressroute.yaml
  19. +1 −1 traefik/templates/ingressclass.yaml
  20. +3 −3 traefik/templates/rbac/clusterrole.yaml
  21. +1 −1 traefik/templates/rbac/clusterrolebinding.yaml
  22. +2 −2 traefik/templates/rbac/role.yaml
  23. +1 −1 traefik/templates/tlsoption.yaml
  24. +1 −1 traefik/tests/container-config_test.yaml
  25. +26 −1 traefik/tests/daemonset-config_test.yaml
  26. +85 −85 traefik/tests/dashboard-ingressroute_test.yaml
  27. +39 −1 traefik/tests/deployment-config_test.yaml
  28. +12 −4 traefik/tests/gateway-config_test.yaml
  29. +109 −0 traefik/tests/healthcheck-ingressroute_test.yaml
  30. +1 −1 traefik/tests/hpa-config_test.yaml
  31. +2 −2 traefik/tests/ingressclass-config_test.yaml
  32. +1 −1 traefik/tests/metrics-config_test.yaml
  33. +10 −1 traefik/tests/pod-config_test.yaml
  34. +1 −1 traefik/tests/podsecuritypolicy-config_test.yaml
  35. +2 −2 traefik/tests/ports-config_test.yaml
  36. +2 −2 traefik/tests/prometheusrules-config_test.yaml
  37. +14 −0 traefik/tests/rbac-config_test.yaml
  38. +1 −3 traefik/tests/service-config_test.yaml
  39. +1 −1 traefik/tests/service-internal-config_test.yaml
  40. +1 −1 traefik/tests/servicemonitor-config_test.yaml
  41. +26 −2 traefik/tests/tracing-config_test.yaml
  42. +267 −248 traefik/values.yaml
2 changes: 1 addition & 1 deletion .github/chart-testing.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
remote: origin
target-branch: master
debug: true
debug: false
check-version-increment: true
upgrade: true
validate-chart-schema: true
3 changes: 2 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ jobs:
steps:

- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

@@ -30,6 +30,7 @@ jobs:
- name: Copy LICENSE and README.md for packaging
run: |
cp ./README.md ./traefik/README.md
cp ./EXAMPLES.md ./traefik/EXAMPLES.md
cp ./LICENSE ./traefik/LICENSE
- name: Generate default static install
42 changes: 36 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

@@ -28,12 +28,42 @@ jobs:
- name: Test
run: make test

- name: Track docs
- name: Test if it's a release PR
id: check
run: |
if ! [ -z "$(git diff traefik/Chart.yaml | grep version:)" ]; then
make docs
if ! [ -z "$(git status | grep traefik/VALUES.md)" ]; then
set +e
changed=$(git diff --name-only -r HEAD^1 HEAD | grep Chart.yaml)
if [[ -n $changed ]] ; then
echo "release=true" >> "$GITHUB_OUTPUT"
fi
set -e
- name: Check docs
if: steps.check.outputs.release
run: |
set +e
make docs
changed=$(git status | grep VALUES.md)
if [[ -n $changed ]]; then
echo "Traefik values have changed. Run make docs"
git diff
exit 1
fi
fi
set -e
exit 0
- name: Create kind cluster
if: steps.check.outputs.release
uses: helm/kind-action@v1.8.0

- name: Install LB on Kind
if: steps.check.outputs.release
run: |
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.11/config/manifests/metallb-native.yaml
kubectl wait --namespace metallb-system --for=condition=ready pod --selector=app=metallb --timeout=90s
kubectl apply -f hack/metallb-config.yaml
- name: Check install on Kind
if: steps.check.outputs.release
run: |
make test-install
63 changes: 59 additions & 4 deletions EXAMPLES.md
Original file line number Diff line number Diff line change
@@ -384,7 +384,7 @@ Setup:
* cert-manager installed in `cert-manager` namespace
* A cloudflare account on a DNS Zone

**Step 1**: Create `Secret` and `Issuer` needed by `cert-manager` with your API Token.
**Step 1**: Create `Secret` and `Issuer` needed by `cert-manager` with your API Token.
See [cert-manager documentation](https://cert-manager.io/docs/configuration/acme/dns01/cloudflare/)
for creating this token with needed rights:

@@ -413,7 +413,6 @@ spec:
solvers:
- dns01:
cloudflare:
email: email@example.com
apiTokenSecretRef:
name: cloudflare
key: api-token
@@ -441,7 +440,7 @@ spec:

```bash
kubectl get certificate -n traefik
```
```

If needed, logs of cert-manager pod can give you more information

@@ -454,7 +453,7 @@ tlsStore:
secretName: wildcard-example-com-tls
```

**Step 5**: Enjoy. All your `IngressRoute` use this certificate by default now.
**Step 5**: Enjoy. All your `IngressRoute` use this certificate by default now.

They should use websecure entrypoint like this:

@@ -473,3 +472,59 @@ spec:
- name: XXXX
port: 80
```
# Use this Chart as a dependency of your own chart
First, let's create a default Helm Chart, with Traefik as a dependency.
```bash
helm create foo
cd foo
echo "
dependencies:
- name: traefik
version: "24.0.0"
repository: "https://traefik.github.io/charts"
" >> Chart.yaml
```
Second, let's tune some values like enabling HPA:
```bash
cat <<-EOF >> values.yaml
traefik:
autoscaling:
enabled: true
maxReplicas: 3
EOF
```
Third, one can see if it works as expected:
```bash
helm dependency update
helm dependency build
helm template . | grep -A 14 -B 3 Horizontal
```
It should produce this output:
```yaml
---
# Source: foo/charts/traefik/templates/hpa.yaml
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: release-name-traefik
namespace: flux-system
labels:
app.kubernetes.io/name: traefik
app.kubernetes.io/instance: release-name-flux-system
helm.sh/chart: traefik-24.0.0
app.kubernetes.io/managed-by: Helm
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: release-name-traefik
maxReplicas: 3
```
12 changes: 7 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.PHONY: lint test

IMAGE_HELM_UNITTEST=docker.io/helmunittest/helm-unittest:3.12.2-0.3.4
IMAGE_HELM_UNITTEST=docker.io/helmunittest/helm-unittest:3.12.3-0.3.5
IMAGE_CHART_TESTING=quay.io/helmpack/chart-testing:v3.9.0

traefik/tests/__snapshot__:
@@ -10,14 +10,16 @@ test: traefik/tests/__snapshot__
docker run ${DOCKER_ARGS} --entrypoint /bin/sh --rm -v $(CURDIR):/charts -w /charts $(IMAGE_HELM_UNITTEST) /charts/hack/test.sh

lint:
docker run ${DOCKER_ARGS} --env GIT_SAFE_DIR="true" --entrypoint /bin/sh --rm -v $(CURDIR):/charts -w /charts $(IMAGE_CHART_TESTING) /charts/hack/lint.sh
docker run ${DOCKER_ARGS} --env GIT_SAFE_DIR="true" --entrypoint /bin/sh --rm -v $(CURDIR):/charts -w /charts $(IMAGE_CHART_TESTING) /charts/hack/ct.sh lint

docs:
docker run --rm -v "$(CURDIR):/helm-docs" jnorwood/helm-docs:latest
mv -f "$(CURDIR)/traefik/README.md" "$(CURDIR)/traefik/VALUES.md"
docker run --rm -v "$(CURDIR):/helm-docs" jnorwood/helm-docs:latest -o VALUES.md

test-install:
docker run ${DOCKER_ARGS} --network=host --env GIT_SAFE_DIR="true" --entrypoint /bin/sh --rm -v $(CURDIR):/charts -v $(HOME)/.kube:/root/.kube -w /charts $(IMAGE_CHART_TESTING) /charts/hack/ct.sh install

changelog:
@echo "== Updating Changelogs..."
@docker run -it --rm -v $(CURDIR):/data ghcr.io/mloiseleur/helm-changelog:v0.0.2
@docker run -it --rm -v $(CURDIR):/data ghcr.io/mloiseleur/helm-changelog:v0.0.3
@./hack/changelog.sh
@echo "== Updating finished"
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@ Accordingly, the encouraged approach to fulfill your needs:
1. Override the default Traefik configuration values ([yaml file or cli](https://helm.sh/docs/chart_template_guide/values_files/))
2. Append your own configurations (`kubectl apply -f myconf.yaml`)

If needed, one may use [extraObjects](./traefik/tests/values/extra.yaml) or extend this HelmChart [as a Subchart](https://helm.sh/docs/chart_template_guide/subcharts_and_globals/)
If needed, one may use [extraObjects](./traefik/tests/values/extra.yaml) or extend this HelmChart [as a Subchart](https://helm.sh/docs/chart_template_guide/subcharts_and_globals/). In the [examples](EXAMPLES.md), one can see how to use this Chart as a dependency.

## Installing

@@ -43,6 +43,15 @@ Due to changes in CRD version support, the following versions of the chart are u
| Chart v10.0.0 and above | | [x] | [x] |
| Chart v22.0.0 and above | | | [x] |

### CRDs Support of Traefik Proxy

Due to changes in API Group of Traefik CRDs from `containo.us` to `traefik.io`, this Chart install the two CRDs API Group on the following versions:

| | `containo.us` | `traefik.io` |
|-------------------------|-----------------------------|------------------------|
| Chart v22.0.0 and below | [x] | |
| Chart v23.0.0 and above | [x] | [x] |

### Deploying Traefik

```bash
5 changes: 5 additions & 0 deletions hack/ct.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

git config --global --add safe.directory /charts

ct $1 --config=.github/chart-testing.yaml --charts traefik/
12 changes: 0 additions & 12 deletions hack/lint.sh

This file was deleted.

15 changes: 15 additions & 0 deletions hack/metallb-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: test-install
namespace: metallb-system
spec:
addresses:
- 172.17.0.0/16
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: empty
namespace: metallb-system
Loading