Ingress status is not updated by traefik / stays in progressing as seen by argocd

Hello,

I am using the helm chart v40.2.0. I deployed traefik into a cluster which already has ingress-nginx deloyed. The goal would be to migrate to traefik over time.

However when creating an ingress with traefik, that status and address aren't updated by traefik:

[18:10] garden:~% kubectl -n ungleich-canary get ingressNAME                        CLASS     HOSTS                               ADDRESS                PORTS     AGEcanary-ingress-v1-nginx     nginx     canary.k8s.place10.ungleich.ch      2a0a:e5c0:10:3::6eeb   80, 443   49mcanary-ingress-v2-traefik   traefik   canary.k8s-v2.place10.ungleich.ch                          80, 443   83s


The ingress does work, but argocd keeps spinning/seeing it in progressing.

Looking at both an nginx and a traefik ingress, the nginx operator fills in the address:

kubectl -n ungleich-canary get ingress -o yaml

apiVersion: v1items:

apiVersion: networking.k8s.io/v1kind: Ingressmetadata:annotations:argocd.argoproj.io/tracking-id: canary-ingress-v1-nginx:networking.k8s.io/Ingress:ungleich-canary/canary-ingress-v1-nginxkubectl.kubernetes.io/last-applied-configuration: |{"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"canary-ingress-v1-nginx:networking.k8s.io/Ingress:ungleich-canary/canary-ingress-v1-nginx"},"name":"canary-ingress-v1-nginx","namespace":"ungleich-canary"},"spec":{"ingressClassName":"nginx","rules":[{"host":"canary.k8s.place10.ungleich.ch","http":{"paths":[{"backend":{"service":{"name":"canary-ingress-v1-nginx","port":{"name":"http"}}},"path":"/","pathType":"Prefix"}]}}],"tls":[{"hosts":["canary.k8s.place10.ungleich.ch"],"secretName":"canary-ingress-v1-nginx-tls"}]}}creationTimestamp: "2026-05-18T15:20:19Z"generation: 3name: canary-ingress-v1-nginxnamespace: ungleich-canaryresourceVersion: "771553221"uid: 3597297e-73a2-4e81-9e34-b1db4b455205spec:ingressClassName: nginxrules:

host: canary.k8s.place10.ungleich.chhttp:paths:

backend:service:name: canary-ingress-v1-nginxport:name: httppath: /pathType: Prefixtls:

hosts:

canary.k8s.place10.ungleich.chsecretName: canary-ingress-v1-nginx-tlsstatus:loadBalancer:ingress:

ip: 2a0a:e5c0:10:3::6eeb

apiVersion: networking.k8s.io/v1kind: Ingressmetadata:annotations:argocd.argoproj.io/tracking-id: canary-ingress-v2-traefik:networking.k8s.io/Ingress:ungleich-canary/canary-ingress-v2-traefikkubectl.kubernetes.io/last-applied-configuration: |{"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"canary-ingress-v2-traefik:networking.k8s.io/Ingress:ungleich-canary/canary-ingress-v2-traefik"},"name":"canary-ingress-v2-traefik","namespace":"ungleich-canary"},"spec":{"ingressClassName":"traefik","rules":[{"host":"canary.k8s-v2.place10.ungleich.ch","http":{"paths":[{"backend":{"service":{"name":"canary-ingress-v2-traefik","port":{"name":"http"}}},"path":"/","pathType":"Prefix"}]}}],"tls":[{"hosts":["canary.k8s-v2.place10.ungleich.ch"],"secretName":"canary-ingress-v2-traefik-tls"}]}}creationTimestamp: "2026-05-18T16:08:47Z"generation: 1name: canary-ingress-v2-traefiknamespace: ungleich-canaryresourceVersion: "771568689"uid: 0b3a03e6-dec1-41f7-9b8c-99fc10517766spec:ingressClassName: traefikrules:

host: canary.k8s-v2.place10.ungleich.chhttp:paths:

backend:service:name: canary-ingress-v2-traefikport:name: httppath: /pathType: Prefixtls:

hosts:

canary.k8s-v2.place10.ungleich.chsecretName: canary-ingress-v2-traefik-tlsstatus:loadBalancer: {}kind: Listmetadata:resourceVersion: ""

Both ingresses are using a clusterIP service.

The following is our argocd definition of the traefik instance:

project: default

source:

repoURL: 


targetRevision: v40.2.0

helm:

valuesObject:

deployment:

replicas: 2

hostNetwork: false

ingressClass:

enabled: true

isDefaultClass: false

name: traefik

providers:

kubernetesCRD:

ingressClass: traefik

service:

spec:

type: ClusterIP

chart: traefik

destination:

server: https://kubernetes.default.svc

namespace: ingress-traefik

syncPolicy:

automated:

prune: true

selfHeal: true

syncOptions:

    - CreateNamespace=true

The two pods are logging TLS errors, due to cert-manager still requesting/creating the certificate, but otherwise I don't see anything suspicious.

Does anyone see what the problem is?

Use 3 backticks before and after code/config in posts to make it more readable and preserve spacing, which is important in yaml.

Reposting the important bits here:

kubectl -n ungleich-canary get ingress
NAME                        CLASS     HOSTS                               ADDRESS                PORTS     AGE
canary-ingress-v1-nginx     nginx     canary.k8s.place10.ungleich.ch      2a0a:e5c0:10:3::6eeb   80, 443   16h
canary-ingress-v2-traefik   traefik   canary.k8s-v2.place10.ungleich.ch                          80, 443   15h

% kubectl -n ungleich-canary get ingress -o yaml
apiVersion: v1
items:
- apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    annotations:
      argocd.argoproj.io/tracking-id: canary-ingress-v1-nginx:networking.k8s.io/Ingress:ungleich-canary/canary-ingress-v1-nginx
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"canary-ingress-v1-nginx:networking.k8s.io/Ingress:ungleich-canary/canary-ingress-v1-nginx"},"name":"canary-ingress-v1-nginx","namespace":"ungleich-canary"},"spec":{"ingressClassName":"nginx","rules":[{"host":"canary.k8s.place10.ungleich.ch","http":{"paths":[{"backend":{"service":{"name":"canary-ingress-v1-nginx","port":{"name":"http"}}},"path":"/","pathType":"Prefix"}]}}],"tls":[{"hosts":["canary.k8s.place10.ungleich.ch"],"secretName":"canary-ingress-v1-nginx-tls"}]}}
    creationTimestamp: "2026-05-18T15:20:19Z"
    generation: 3
    name: canary-ingress-v1-nginx
    namespace: ungleich-canary
    resourceVersion: "771553221"
    uid: 3597297e-73a2-4e81-9e34-b1db4b455205
  spec:
    ingressClassName: nginx
    rules:
    - host: canary.k8s.place10.ungleich.ch
      http:
        paths:
        - backend:
            service:
              name: canary-ingress-v1-nginx
              port:
                name: http
          path: /
          pathType: Prefix
    tls:
    - hosts:
      - canary.k8s.place10.ungleich.ch
      secretName: canary-ingress-v1-nginx-tls
  status:
    loadBalancer:
      ingress:
      - ip: 2a0a:e5c0:10:3::6eeb
- apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    annotations:
      argocd.argoproj.io/tracking-id: canary-ingress-v2-traefik:networking.k8s.io/Ingress:ungleich-canary/canary-ingress-v2-traefik
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"canary-ingress-v2-traefik:networking.k8s.io/Ingress:ungleich-canary/canary-ingress-v2-traefik"},"name":"canary-ingress-v2-traefik","namespace":"ungleich-canary"},"spec":{"ingressClassName":"traefik","rules":[{"host":"canary.k8s-v2.place10.ungleich.ch","http":{"paths":[{"backend":{"service":{"name":"canary-ingress-v2-traefik","port":{"name":"http"}}},"path":"/","pathType":"Prefix"}]}}],"tls":[{"hosts":["canary.k8s-v2.place10.ungleich.ch"],"secretName":"canary-ingress-v2-traefik-tls"}]}}
    creationTimestamp: "2026-05-18T16:08:47Z"
    generation: 1
    name: canary-ingress-v2-traefik
    namespace: ungleich-canary
    resourceVersion: "771568689"
    uid: 0b3a03e6-dec1-41f7-9b8c-99fc10517766
  spec:
    ingressClassName: traefik
    rules:
    - host: canary.k8s-v2.place10.ungleich.ch
      http:
        paths:
        - backend:
            service:
              name: canary-ingress-v2-traefik
              port:
                name: http
          path: /
          pathType: Prefix
    tls:
    - hosts:
      - canary.k8s-v2.place10.ungleich.ch
      secretName: canary-ingress-v2-traefik-tls
  status:
    loadBalancer: {}
kind: List
metadata:
  resourceVersion: ""


I've created a bug report on Allow copying ClusterIP value to ingress address · Issue #1865 · traefik/traefik-helm-chart · GitHub as nginx-ignress behaves correctly, traefik-ingress does not copy over.