Skip to content

fix(chart): global image registry bug for webhooks cleanup pre-delete hook

Placeholder Stevo Slavić requested to merge github/fork/sslavic/sslavic-img into main

Explanation

This fixes webhook cleanup pre-delete hook image registry defaults so that global.image.registry gets to be used as default when global.image.registry is set and webhook cleanup pre-delete hook image registry explicit override is not set.

Related issue

Fix for Kyverno Deployments was introduced via !11604 (merged) which fixed #11579 (closed) for Deployments but not for pre-delete hooks.

Milestone of this PR

/milestone 1.15.3

Documentation (required for features)

My PR contains new or altered behavior to Kyverno.

What type of PR is this

/kind bug

Proposed Changes

PR fixes the bug by introducing webhooksCleanup.image.defaultRegistry and setting webhooksCleanup.image.registry to nil, as expected by kyverno.image helper used for webhooks cleanup pre-delete hook image.

Proof Manifests

Defaults remain as before

$ helm template ./charts/kyverno | grep image:
                          image:
                              image:
                              image:
                          image:
                              image:
                              image:
          image: "reg.kyverno.io/kyverno/kyvernopre:latest"
          image: "reg.kyverno.io/kyverno/kyverno:latest"
          image: "reg.kyverno.io/kyverno/background-controller:latest"
          image: "reg.kyverno.io/kyverno/cleanup-controller:latest"
          image: "reg.kyverno.io/kyverno/reports-controller:latest"
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
          image: "reg.kyverno.io/kyverno/kyverno-cli:latest"
          image: "registry.k8s.io/kubectl:v1.32.7"
          image: "registry.k8s.io/kubectl:v1.32.7"
          image: "registry.k8s.io/kubectl:v1.32.7"

When global.image.registry is set, it gets respected as webhooks cleanup pre-delete hook image registry.

$ helm template ./charts/kyverno --set global.image.registry=myregistry | grep image:
                          image:
                              image:
                              image:
                          image:
                              image:
                              image:
          image: "myregistry/kyverno/kyvernopre:latest"
          image: "myregistry/kyverno/kyverno:latest"
          image: "myregistry/kyverno/background-controller:latest"
          image: "myregistry/kyverno/cleanup-controller:latest"
          image: "myregistry/kyverno/reports-controller:latest"
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
          image: "myregistry/kyverno/kyverno-cli:latest"
          image: "myregistry/kubectl:v1.32.7"
          image: "myregistry/kubectl:v1.32.7"
          image: "myregistry/kubectl:v1.32.7"

Even when global.image.registry is set, webhooksCleanup.image.registry has precedence as webhooks cleanup pre-delete hook image registry explicit override.

$ helm template ./charts/kyverno --set global.image.registry=myregistry --set webhooksCleanup.image.registry=myotherregistry | grep image:
                          image:
                              image:
                              image:
                          image:
                              image:
                              image:
          image: "myregistry/kyverno/kyvernopre:latest"
          image: "myregistry/kyverno/kyverno:latest"
          image: "myregistry/kyverno/background-controller:latest"
          image: "myregistry/kyverno/cleanup-controller:latest"
          image: "myregistry/kyverno/reports-controller:latest"
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
      image: curlimages/curl:8.10.1
          image: "myregistry/kyverno/kyverno-cli:latest"
          image: "myotherregistry/kubectl:v1.32.7"
          image: "myotherregistry/kubectl:v1.32.7"
          image: "myotherregistry/kubectl:v1.32.7"

Checklist

  • I have read the contributing guidelines.
  • I have read the PR documentation guide and followed the process including adding proof manifests to this PR.
  • This is a bug fix and I have added unit tests that prove my fix is effective.
  • This is a feature and I have added CLI tests that are applicable.
  • My PR needs to be cherry picked to a specific release branch which is .
  • My PR contains new or altered behavior to Kyverno and
    • CLI support should be added and my PR doesn't contain that functionality.

Further Comments

Merge request reports

Loading