Kong helm chart is not respecting on-prem image registry

Here is what I am trying to use to install kong

helm install kong kong/kong -n kong ^
–set global.imageRegistry=mycompany.net/container-external/docker.io ^
–set ingressController.enabled=true ^
–set ingressController.installCRDs=false ^
–set ingressController.image.registry=mycompany.net/container-external/docker.io ^
–set ingressController.image.repository=kong/kubernetes-ingress-controller ^
–set ingressController.image.tag=2.3.0 ^
–set image.repository=kong/kong ^
–set image.tag=2.8.1 ^
–set env.role=control_plane ^
–set env.database=postgres ^
–set env.cluster_cert=/etc/secrets/kong-cluster-cert/tls.crt ^
–set env.cluster_cert_key=/etc/secrets/kong-cluster-cert/tls.key ^
–set cluster.enabled=true ^
–set cluster.tls.enabled=true ^
–set cluster.tls.servicePort=8005 ^
–set cluster.tls.containerPort=8005 ^
–set clustertelemetry.enabled=false ^
–set proxy.enabled=true ^
–set admin.enabled=true ^
–set admin.http.enabled=true ^
–set admin.http.servicePort=8001 ^
–set admin.http.containerPort=8001 ^
–set secretVolumes[0]=kong-cluster-cert ^
–set postgresql.enabled=true ^
–set postgresql.image.registry=mycompany.net/container-external/docker.io ^
–set postgresql.image.repository=postgres ^
–set postgresql.image.tag=9.6.24 ^
–set postgresql.postgresqlUsername=kong ^
–set postgresql.postgresqlDatabase=kong ^
–set postgresql.postgresqlPassword=kong

But pod fails with below events where it still tries to fetch from https://registry-1.docker.io/v2/

Events:
Type Reason Age From Message


Normal Scheduled 36s default-scheduler Successfully assigned kong/kong-kong-5fcbd9576b-7dxgx to minikube
Warning Failed 20s kubelet Failed to pull image “kong/kong:2.8.1”: rpc error: code = Unknown desc = Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Warning Failed 20s kubelet Error: ErrImagePull
Normal BackOff 20s kubelet Back-off pulling image “kong/kong:2.8.1”
Warning Failed 20s kubelet Error: ImagePullBackOff
Normal Pulling 5s (x2 over 35s) kubelet Pulling image “kong/kong:2.8.1”

The Postgres chart splits registry/repo; we do not and use a single repository key for both. You probably want:

$ helm install --dry-run example kong/kong -n kong --set image.repository=mycompany.net/container-external/docker.io/kong --set ingressController.enabled=true --set ingressController.installCRDs=false --set ingressController.image.repository=mycompany.net/container-external/docker.io/kong/kubernetes-ingress-controller --set postgresql.enabled=true --set postgresql.image.registry=mycompany.net/container-external/docker.io --set postgresql.image.repository=postgres --set postgresql.image.tag=9.6.24 | grep image:                                                                                                                                                                                           image: curlimages/curl
      image: curlimages/curl
      image: curlimages/curl
        image: mycompany.net/container-external/docker.io/kong:2.8
        image: mycompany.net/container-external/docker.io/kong/kubernetes-ingress-controller:2.3
        image: mycompany.net/container-external/docker.io/kong:2.8
          image: mycompany.net/container-external/docker.io/postgres:9.6.24

Ignore the curl images, Helm renders test jobs when doing install --dry-run for some reason, even though it’ll only actually create them for helm test.

Thank you so much! This helped me to solve my problem