Skip to content

Controller error while trying to write patterns file with configmap annotation name #759

@WinterNis

Description

@WinterNis

Summary

Hello 👋

When the controller computes configuration, it tries to create pattern files with the name of current annotation of the config map used to reference pattern files.

This should most probably not happen, and result in error in logs (see details)

Note: this is not blocking the creation of actual valid pattern file defined inside the configmap. But it’s still a weird error.

Details

Important note: I am currently trying out controller version 3.2.1 (helm chart version 1.47.0)

I am using the following relevant values in the ingress controller chart:

  controller:
    extraArgs:
      - --configmap-patternfiles=haproxy/haproxy-acl-patterns

The configmap looks like the following:

kubectl -n haproxy get cm haproxy-acl-patterns -o yaml

apiVersion: v1
data:
  foo-ips:
   1.1.1.1/32
  bar-ips:
   2.2.2.2/32
kind: ConfigMap
metadata:
  annotations:
    argocd.argoproj.io/tracking-id: [REDACTED]
    kubectl.kubernetes.io/last-applied-configuration: [REDACTED]
  creationTimestamp: "2025-12-08T08:06:20Z"
  name: haproxy-acl-patterns
  namespace: haproxy
  resourceVersion: "7060140"
  uid: fd19cb7d-283d-4326-9288-acc2778b83b0

Note: I have redacted the value of annotation, it’s not really relevant.

In the controller logs, I can see the following error:

2025/12/22 09:55:57 ERROR   handler/pattern-files.go:42 [transactionID=702e0c09-aada-4b5b-b1c6-888c3baf7b21] failed writing patternfile 'argocd.argoproj.io/tracking-id': open /etc/haproxy/patterns/argocd.argoproj.io/.tracking-id40401543: no such file or directory
2025/12/22 09:55:57 ERROR   handler/pattern-files.go:42 [transactionID=702e0c09-aada-4b5b-b1c6-888c3baf7b21] failed writing patternfile 'kubectl.kubernetes.io/last-applied-configuration': open /etc/haproxy/patterns/kubectl.kubernetes.io/.last-applied-configuration2707750114: no such file or directory
2025/12/22 09:55:57 ERROR   handler/pattern-files.go:50 [transactionID=702e0c09-aada-4b5b-b1c6-888c3baf7b21] failed deleting atternfile 'argocd.argoproj.io/tracking-id': remove /etc/haproxy/patterns/argocd.argoproj.io/tracking-id: no such file or directory
2025/12/22 09:55:57 ERROR   handler/pattern-files.go:50 [transactionID=702e0c09-aada-4b5b-b1c6-888c3baf7b21] failed deleting atternfile 'kubectl.kubernetes.io/last-applied-configuration': remove /etc/haproxy/patterns/kubectl.kubernetes.io/last-applied-configuration: no such file or directory

The controller seems to retrieve the annotations on the config map, and tries to create pattern files out of these annotations that have nothing to do with haproxy ingress controller.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions