<p>I have a Helm chart that uses Nginx chart as a dependency. Is it possible to specify different repo for pulling the image?</p>
<p>My dependencies:</p>
<pre><code>dependencies:
  - name: nginx-ingress
    version: &quot;3.15.2&quot;
    repository: &quot;https://kubernetes.github.io/ingress-nginx&quot;
    condition: master.ingress.create_controller
    tags:
      - ingressController
</code></pre>
<p>What I want to achieve is to make k8s pull image from private Docker registry instead of Docker Hub.
I've checked Helm docs, but couldn't find a corresponding parameter. I understand that I can download the chart and change the value inside, but this is my plan B.</p>

<p>This is possible only if the chart has an option to do it.</p>
<p>If you look at <a href="https://github.com/kubernetes/ingress-nginx/blob/master/charts/ingress-nginx/values.yaml" rel="nofollow noreferrer">the chart's <code>values.yaml</code> file</a> you can see that it has settings:</p>
<pre class="lang-yaml prettyprint-override"><code>controller:
  image:
    repository: k8s.gcr.io/ingress-nginx/controller
</code></pre>
<p>And, correspondingly in <a href="https://github.com/kubernetes/ingress-nginx/blob/master/charts/ingress-nginx/templates/controller-deployment.yaml#L70-L72" rel="nofollow noreferrer">the Deployment template</a>:</p>
<pre class="lang-yaml prettyprint-override"><code>{{- with .Values.controller.image }}
image: &quot;{{.repository}}:{{ .tag }}{{- if (.digest) -}} @{{.digest}} {{- end -}}&quot;
{{- end }}
</code></pre>
<p>So when you deploy the chart, you can add to your deploy-time settings</p>
<pre><code>nginx-ingress:
  controller:
    image:
      repository: docker-mirror.example.com/k8s.gcr.io/ingress-nginx/controller
</code></pre>
<p>You can also default this in the parent chart.</p>
<p>Different charts handle this in different ways.  The <a href="https://github.com/bitnami/charts" rel="nofollow noreferrer">Bitnami charts</a>, for example, let you separately specify the registry and image names, and support a <code>global: { imageRegistry: ... }</code> option.  (Which is just used via string concatenation, so if you have a path prefix in your local registry mirror, you can include both parts there.)</p>
