Skip to content

Traefik IngressRoute template doesn't support custom annotations #220

@luthes

Description

@luthes

When using the Traefik IngressRoute (ingressClass: "traefik"), the template at templates/ingress-traefik.yaml doesn't include any mechanism to add custom annotations to the rendered IngressRoute resource.

The ingress_annotations value only applies to the standard networking.k8s.io/v1 Ingress template (templates/ingress.yaml), not the Traefik CRD template.

This prevents users from adding annotations needed by external tooling, such as:

  • external-dns.alpha.kubernetes.io/hostname (for automatic DNS record creation)
  • external-dns.alpha.kubernetes.io/target
  • kubernetes.io/ingress.class (for IngressRoute class filtering)

Current behavior:

# ingress-traefik.yaml
apiVersion: traefik.io/v1alpha1 
kind: IngressRoute
metadata: 
  name: {{ .Release.Name }}-ingress 
  namespace: {{ .Release.Namespace }} 
spec: 
... 

No annotations are rendered regardless of what's set in ingress_annotations.

Expected behavior:

The Traefik IngressRoute template should support custom annotations, either via the existing ingress_annotations value or a dedicated
traefik.annotations field:

apiVersion: traefik.io/v1alpha1 
kind: IngressRoute
metadata: 
  name: {{ .Release.Name }}-ingress 
  namespace: {{ .Release.Namespace }} 
  {{- with .Values.ingress.ingress_annotations }} 
  annotations:
    {{- toYaml . | nindent 4 }} 
  {{- end }}
spec: 
... 

Workaround:

Disable the chart's ingress (ingress.enabled: false) and maintain a hand-written IngressRoute outside the chart.

Chart version: 1.5.0 (plane-ce)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions