You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
we're currently spinning up a new environment in Stack-IT. We try to install external-dns via helm-chart. We cannot use the managed dns solutions, as we want to create DNS records based on the new Gateway API.
So, while we're able to add the webhook container to the deployment via the chart and load the service account correctly, the container crashes once the livenessProbe triggers. This is because in the helm chart, since it introduced the option to add webhooks sidecars, hardcodes the containerPort to 8080, which is used for liveness and readiness probes.
I see, other provider follow that pattern and configure their containers to listen on two ports - 8888 for API requests and 8080 for metrics (healthz endpoint).
As far as I can see, this is the only thing missing to be able to install STACKIT webhook with the external-dns helm chart.
I opened an issue to solve the hardcoded port in the helm deployment and hope they will admit the included patch for the upcoming 1.19.0 helm chart: kubernetes-sigs/external-dns#5801
As long as this is unsolved, we'll continue to use the bitnami helm chart with the image pulled from the bitnamilegacy repository.
i will give it a try. I tried changing the API Port by editing the deployment in the cluster (just for quick testing purposes) and then the webhook container did not start at all (without any logs available).
Right now, I've build myself a workaround with a kustomize patch, as we're using Flux + kustomize nonetheless.
I'll let you know, whether setting the API_PORT env variable changes the behavior I observed the last time.
Activity
not22day commentedon Aug 20, 2024
some promising start..
fjvela commentedon Dec 10, 2024
Hello @not22day !
Check the code:
grieshaber commentedon Sep 1, 2025
Hi all, hi @PatrickKoss,
we're currently spinning up a new environment in Stack-IT. We try to install external-dns via helm-chart. We cannot use the managed dns solutions, as we want to create DNS records based on the new Gateway API.
So, while we're able to add the webhook container to the deployment via the chart and load the service account correctly, the container crashes once the livenessProbe triggers. This is because in the helm chart, since it introduced the option to add webhooks sidecars, hardcodes the containerPort to 8080, which is used for liveness and readiness probes.
I see, other provider follow that pattern and configure their containers to listen on two ports - 8888 for API requests and 8080 for metrics (healthz endpoint).
As far as I can see, this is the only thing missing to be able to install STACKIT webhook with the external-dns helm chart.
Could you have a look? Maybe it's a quick-win.
Thanks
airbjorn commentedon Sep 4, 2025
I opened an issue to solve the hardcoded port in the helm deployment and hope they will admit the included patch for the upcoming 1.19.0 helm chart: kubernetes-sigs/external-dns#5801
As long as this is unsolved, we'll continue to use the bitnami helm chart with the image pulled from the bitnamilegacy repository.
PatrickKoss commentedon Sep 8, 2025
Hey I am not sure if I get the problem :)
Can you try out the following?
helmCharts:
version: v1.19.0
repo: https://kubernetes-sigs.github.io/external-dns
namespace: external-dns
releaseName: external-dns
valuesInline:
env:
- name: PROJECT_ID
valueFrom:
configMapKeyRef:
name: external-dns
key: PROJECT_ID
- name: DOMAIN_FILTER
valueFrom:
configMapKeyRef:
name: external-dns
key: DOMAIN_FILTER
- name: EXTERNAL_DNS_TXT_OWNER_ID
valueFrom:
configMapKeyRef:
name: external-dns
key: EXTERNAL_DNS_TXT_OWNER_ID
resources:
requests:
memory: "50Mi"
cpu: "5m"
limits:
memory: "300Mi"
cpu: "500m"
serviceMonitor:
enabled: true
policy: sync
extraArgs:
webhook-provider-url: http://localhost:8080
extraVolumes:
- name: stackit-sa-authentication
secret:
secretName: stackit-sa-authentication
provider:
name: webhook
webhook:
image:
repository: ghcr.io/stackitcloud/external-dns-stackit-webhook
tag: v0.3.4
env:
- name: PROJECT_ID
valueFrom:
configMapKeyRef:
name: external-dns
key: PROJECT_ID
- name: API_PORT
value: "8080"
- name: DOMAIN_FILTER
valueFrom:
configMapKeyRef:
name: external-dns
key: DOMAIN_FILTER
- name: EXTERNAL_DNS_TXT_OWNER_ID
valueFrom:
configMapKeyRef:
name: external-dns
key: EXTERNAL_DNS_TXT_OWNER_ID
- name: AUTH_KEY_PATH
value: /var/run/secrets/stackit/sa.json
extraVolumeMounts:
- name: stackit-sa-authentication
mountPath: /var/run/secrets/stackit
readOnly: true
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 200m
memory: 256Mi
grieshaber commentedon Sep 8, 2025
Hey @PatrickKoss,
i will give it a try. I tried changing the API Port by editing the deployment in the cluster (just for quick testing purposes) and then the webhook container did not start at all (without any logs available).
Right now, I've build myself a workaround with a kustomize patch, as we're using Flux + kustomize nonetheless.
I'll let you know, whether setting the API_PORT env variable changes the behavior I observed the last time.
DCKcode commentedon Oct 14, 2025
If anyone else runs into this, setting:
allowed the StackIT ExternalDNS webhook to come up alongside the ExternalDNS Helm chart.
Zaunei commentedon Jun 25, 2026
Full working values for upstream external-dns chart (
1.21.1):Secret was created with the following command:
I also opened a PR to add this example to the README. #72
docs: add example values for helm chart
volkkov commentedon Jun 25, 2026
This behavior changed in v2.4 — the migration guide mentions it but it's easy to miss. Adding a note to the docs PR.
Zaunei commentedon Jun 26, 2026
v2.4? I don't see anything that would fit version wise, and I don't see a comment on the PR either 🤔