title: How to tell Helm not to run a job
body: <p>I am trying to make a Kubernetes deployment script using helm.
  I created following 2 jobs (skipped the container template since I guess it does not matter)</p>
  <p>templates/jobs/migrate.yaml</p>
  <pre><code>apiVersion: batch/v1
  kind: Job
  metadata:
    name: {{ .Release.Name }}-migrate
    namespace: {{ .Release.Namespace }}
    annotations:
      &quot;helm.sh/hook&quot;: post-install
      &quot;helm.sh/hook-weight&quot;: &quot;10&quot;
      &quot;helm.sh/hook-delete-policy&quot;: hook-succeeded
  spec:
    ...
  </code></pre>
  <p>templates/jobs/seed.yaml</p>
  <pre><code>apiVersion: batch/v1
  kind: Job
  metadata:
    name: {{ .Release.Name }}-seed
    namespace: {{ .Release.Namespace }}
  spec:
    ...
  </code></pre>
  <p>First job is updating the database structure.<br />
  Second job will reset the database contents and fill it with example data.</p>
  <p>Since I did not add <code>post-install</code> hook to the seed job I was expecting that job to not run automatically but only when I manually ask it to run.<br />
  But it not only ran automatically, it tried to run before migrate.</p>
  <p>How can I define a job that I have to manually trigger for it to run?<br />
  In vanilla kubernetes jobs run only when I explicitly execute their files using<br />
  <code>kubectl apply -f job/seed-database.yaml</code></p>
  <p>How can I do the same using helm?</p>