<p>I want to deploy IBM-MQ to Kubernetes (Rancher) using helmfile. I've found this link and did everything as described in the guide: <a href="https://artifacthub.io/packages/helm/ibm-charts/ibm-mqadvanced-server-dev" rel="nofollow noreferrer">https://artifacthub.io/packages/helm/ibm-charts/ibm-mqadvanced-server-dev</a>.</p>
<p>But the pod is not starting with the error: &quot;ImagePullBackOff&quot;. What could be the problem? My helmfile:</p>
<pre><code>...
repositories:
  - name: ibm-stable-charts
    url: https://raw.githubusercontent.com/IBM/charts/master/repo/stable

releases:
  - name: ibm-mq
    namespace: test
    createNamespace: true
    chart: ibm-stable-charts/ibm-mqadvanced-server-dev
    values:
      - ./ibm-mq.yaml
</code></pre>
<p>ibm-mq.yaml:</p>
<pre><code>- - - 
license: accept
security:
  initVolumeAsRoot: true/false // I'm not sure about this, I added it just because it wasn't working.
// Both of the options don't work too 
queueManager:
  name: &quot;QM1&quot;
  dev:
    secret:
      adminPasswordKey: adminPassword
      name: mysecret
</code></pre>
<p>I've created the secret and seems like it's working, so the problem is not in the secret.
The full error I'm getting:</p>
<pre><code>Failed to pull image &quot;ibmcom/mq:9.1.5.0-r1&quot;: rpc error: code = Unknown desc = Error response from daemon: manifest for ibmcom/mq:9.1.5.0-r1 not found: manifest unknown: manifest unknown
</code></pre>
<p>I'm using helm 3, helmfile v.0.141.0, kubectl 1.22.2</p>

<p>I will leave some things as an exercise to you, but here is what that tutorial says:</p>
<pre><code>helm repo add ibm-stable-charts https://raw.githubusercontent.com/IBM/charts/master/repo/stable
</code></pre>
<p>You don't really need to do this, since you are using <code>helmfile</code>.</p>
<p>Then they say to issue:</p>
<pre><code>helm install --name foo 
     ibm-stable-charts/ibm-mqadvanced-server-dev 
     --set license=accept 
     --set queueManager.dev.secret.name=mysecret 
     --set queueManager.dev.secret.adminPasswordKey=adminPassword 
     --tls
</code></pre>
<p>which is targeted towards <code>helm2</code> (because of those <code>--name</code> and <code>--tls</code>), but that is irrelevant to the problem.</p>
<p>When I install this, I get the same issue:</p>
<blockquote>
<p>Failed to pull image &quot;ibmcom/mq:9.1.5.0-r1&quot;: rpc error: code = NotFound desc = failed to pull and unpack image &quot;docker.io/ibmcom/mq:9.1.5.0-r1&quot;: failed to resolve reference &quot;docker.io/ibmcom/mq:9.1.5.0-r1&quot;: docker.io/ibmcom/mq:9.1.5.0-r1: not found</p>
</blockquote>
<p>I went to the docker.io page <a href="https://hub.docker.com/r/ibmcom/mq/tags" rel="nofollow noreferrer">of theirs</a> and indeed such a tag : <code>9.1.5.0-r1</code> is not present.</p>
<p>OK, can we update the image then?</p>
<pre><code>helm show values ibm-stable-charts/ibm-mqadvanced-server-dev
</code></pre>
<p>reveals:</p>
<pre><code>image:
   # repository is the container repository to use, which must contain IBM MQ Advanced for Developers
  repository: ibmcom/mq
  # tag is the tag to use for the container repository
  tag: 9.1.5.0-r1
</code></pre>
<p>good, that means we can change it via an override value:</p>
<pre><code>helm install foo 
   ibm-stable-charts/ibm-mqadvanced-server-dev 
   --set license=accept 
   --set queueManager.dev.secret.name=mysecret 
   --set queueManager.dev.secret.adminPasswordKey=adminPassword 
   --set image.tag=latest # or any other tag
</code></pre>
<p>so this works.</p>
<p>How to set-up that tag in <code>helmfile</code> is left as an exercise to you, but it's pretty trivial.</p>
