Skip to content

Rewrite image registry Not working #3270

@Duc-LLR

Description

@Duc-LLR

Expected Behavior

When following the air Gap documentation we expect ALL image deployed/used by tekton operator to be overwritten by the registry specified on this value :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tekton-operator
  namespace: tekton-operator
spec:
  template:
    spec:
      containers:
        - name: tekton-operator-lifecycle
          env:
            # Optional: globally rewrite registry host for all images
            - name: TEKTON_REGISTRY_OVERRIDE   
              value: my-internal-registry.io/my-tekton-folder <--------------------------------------------  Here

Actual Behavior

It seems that only the images declared on the release.yml :

# [...]
1204            - name: OPERATOR_NAME
1205              value: tekton-operator
1206            - name: IMAGE_PIPELINES_PROXY
1207              value: ghcr.io/tektoncd/operator/proxy-webhook-f6167da7bc41b96a27c5529f850e63d1:v0.78.1@sha256:cdbd01b0305088ef9e741b28347fa87de6663e043815ef8c94f6911a44d2a6fe
1208            - name: IMAGE_JOB_PRUNER_TKN
1209              value: ghcr.io/tektoncd/plumbing/tkn@sha256:233de6c8b8583a34c2379fa98d42dba739146c9336e8d41b66030484357481ed
1210            - name: METRICS_DOMAIN
1211              value: tekton.dev/operator
# [...]

Are the only one that are correctly overwritten by this variable :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tekton-operator
spec:
  template:
    spec:
      containers:
        - name: tekton-operator-lifecycle
          env:
            - name: TEKTON_REGISTRY_OVERRIDE
              value: my-custom-registry

As you can see here :

ghcr.io/tektoncd/dashboard/dashboard-9623576a202fe86c8b7d1bc489905f86:v0.63.1@sha256:16eca97b649f6f27dfbab2be167be0afc34bab43af9d3304f64bf7f04d44e606
ghcr.io/tektoncd/dashboard/dashboard-9623576a202fe86c8b7d1bc489905f86@sha256:16eca97b649f6f27dfbab2be167be0afc34bab43af9d3304f64bf7f04d44e606
ghcr.io/tektoncd/pipeline/events-a9042f7efb0cbade2a868a1ee5ddd52c:v1.6.0@sha256:a601df6f1ef7f031b004b108eb2d7c215577b3b5231a43fa6b0ae6bf5af31025
ghcr.io/tektoncd/pipeline/events-a9042f7efb0cbade2a868a1ee5ddd52c@sha256:a601df6f1ef7f031b004b108eb2d7c215577b3b5231a43fa6b0ae6bf5af31025
# --> Here
my-custom-registry/tektoncd/operator/proxy-webhook-f6167da7bc41b96a27c5529f850e63d1:v0.78.1@sha256:cdbd01b0305088ef9e741b28347fa87de6663e043815ef8c94f6911a44d2a6fe
my-custom-registry/tektoncd/operator/proxy-webhook-f6167da7bc41b96a27c5529f850e63d1@sha256:cdbd01b0305088ef9e741b28347fa87de6663e043815ef8c94f6911a44d2a6fe
# <-- Here
ghcr.io/tektoncd/pipeline/controller-10a3e32792f33651396d02b6855a6e36:v1.6.0@sha256:84efabe03a5e5441379171d5c071bc28612aa7656ec4f508b01d89ee431e4141
ghcr.io/tektoncd/pipeline/controller-10a3e32792f33651396d02b6855a6e36@sha256:84efabe03a5e5441379171d5c071bc28612aa7656ec4f508b01d89ee431e4141
ghcr.io/tektoncd/pipeline/resolvers-ff86b24f130c42b88983d3c13993056d:v1.6.0@sha256:e77cc55c6e507c393be029335c765c6c34238ee48b49379428da3d01713e9293
ghcr.io/tektoncd/pipeline/resolvers-ff86b24f130c42b88983d3c13993056d@sha256:e77cc55c6e507c393be029335c765c6c34238ee48b49379428da3d01713e9293
ghcr.io/tektoncd/pipeline/webhook-d4749e605405422fd87700164e31b2d1:v1.6.0@sha256:c326a2f5c4988abcfd67b5a8edd5525da2110f2b8d3f6c50c27f8d25a721e566
ghcr.io/tektoncd/pipeline/webhook-d4749e605405422fd87700164e31b2d1@sha256:c326a2f5c4988abcfd67b5a8edd5525da2110f2b8d3f6c50c27f8d25a721e566
# --> Here
my-custom-registry/tektoncd/plumbing/tkn:v20250709-7c1b62c275
my-custom-registry/tektoncd/plumbing/tkn:v20250709-7c1b62c275
# <-- Here
ghcr.io/tektoncd/results/api-b1b7ffa9ba32f7c3020c3b68830b30a8:v0.17.1@sha256:74d09ec29a0382c0ddd2e116375eef984297304190f1516ae35ccbc748fac5b2
ghcr.io/tektoncd/results/api-b1b7ffa9ba32f7c3020c3b68830b30a8@sha256:74d09ec29a0382c0ddd2e116375eef984297304190f1516ae35ccbc748fac5b2
bitnami/postgresql@sha256:ac8dd0d6512c4c5fb146c16b1c5f05862bd5f600d73348506ab4252587e7fcc
ghcr.io/tektoncd/results/retention-policy-agent-07427b345034d96a9a27896ebb138518:v0.17.1@sha256:bd9a8ebf5b15297fceffb7265fd031a3185f4e28cdd91973b5d1ef252bdcd3f4
ghcr.io/tektoncd/results/retention-policy-agent-07427b345034d96a9a27896ebb138518@sha256:bd9a8ebf5b15297fceffb7265fd031a3185f4e28cdd91973b5d1ef252bdcd3f4
ghcr.io/tektoncd/results/watcher-83f971ea227fb24157c0c699b824a628:v0.17.1@sha256:20e4c10c56d32d33f59c38276ae80fae844b79ca6339cfed901c51c10200ecc6
ghcr.io/tektoncd/results/watcher-83f971ea227fb24157c0c699b824a628@sha256:20e4c10c56d32d33f59c38276ae80fae844b79ca6339cfed901c51c10200ecc6
ghcr.io/tektoncd/triggers/controller-f656ca31de179ab913fa76abc255c315:v0.34.0@sha256:472ed3311309a9ac066afd8be2ae435cb6cc5bc73240a5f82a9b04ee5c6f77eb
ghcr.io/tektoncd/triggers/controller-f656ca31de179ab913fa76abc255c315@sha256:472ed3311309a9ac066afd8be2ae435cb6cc5bc73240a5f82a9b04ee5c6f77eb
ghcr.io/tektoncd/triggers/interceptors-3176d6a3f314c3655b30bfd36e421dd5:v0.34.0@sha256:b7858bddaa29c376c1f79f87c96ccdf9588f320a547950638f51e0c84303fd69
ghcr.io/tektoncd/triggers/interceptors-3176d6a3f314c3655b30bfd36e421dd5@sha256:b7858bddaa29c376c1f79f87c96ccdf9588f320a547950638f51e0c84303fd69
ghcr.io/tektoncd/triggers/webhook-dd1edc925ee1772a9f76e2c1bc291ef6:v0.34.0@sha256:71ef9c830240870c76496f1858abc350d08be93365fc8bea17853aa94f64adcd
ghcr.io/tektoncd/triggers/webhook-dd1edc925ee1772a9f76e2c1bc291ef6@sha256:71ef9c830240870c76496f1858abc350d08be93365fc8bea17853aa94f64adcd

Steps to Reproduce the Problem

  1. Deploy the release.yml
  2. Patch the tekton-operator deployment with this ENV variable
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: tekton-operator
    spec:
      template:
        spec:
          containers:
            - name: tekton-operator-lifecycle
              env:
                - name: TEKTON_REGISTRY_OVERRIDE
                  value: my-custom-registry
  3. Then check all the image from the whole cluster related to tekton (with something like this kubectl get po -o yaml -n A | grep -i tekton |grep -i "image:"

Additional Info

Because the air Gap documentation doesn't seems to work, I tried to overwrite each image manually as it is said on Rewrite image one by one.

Sadly, there is still some images that are not overwritten properly with the env variable :

- IMAGE_TRIGGERS_ARG__EL_IMAGE
- IMAGE_PIPELINES_ARG__WORKINGDIRINIT_IMAGE

When declaring it on the patch of the deployment tekton operator the image are still not pulled from my custom registry (even after deleting the tektoninstallerset to force the "restart").

  • Kubernetes version: 1.32.12

    Output of kubectl version:

Client Version: v1.31.7
Kustomize Version: v5.4.2
Server Version: v1.32.12
  • Tekton Pipeline version: v1.6.0

    Output of tkn version or kubectl get pods -n tekton-pipelines -l app=tekton-pipelines-controller -o=jsonpath='{.items[0].metadata.labels.version}'

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions