<p>I perform an installation og <code>jenkins</code> on GKE, using the official helm <a href="https://github.com/helm/charts/tree/master/stable/jenkins" rel="nofollow noreferrer">chart</a>.</p>

<p>I initially pass a list of plugins to the corresponding <a href="https://github.com/helm/charts/blob/master/stable/jenkins/values.yaml#L215" rel="nofollow noreferrer">key</a> </p>

<pre><code>- plugin1
- plugin2
- plugin3
- plugin4
</code></pre>

<p>and perform <code>helm upgrade --recreate-pods --force --tls --install</code></p>

<p>I then <strong>take out</strong> some of the plugins from the above list and run the same <code>helm</code> command again, e,g, with</p>

<pre><code>- plugin1
- plugin2
</code></pre>

<p>However <code>jenkins</code> keeps all the plugins from the initial list.</p>

<p>Is this the expected behavior?</p>

<p>Yes, it is an expected behavior. </p>

<p>To change this behavior you should set the parameter <code>master.overwritePlugins</code> to <code>true</code>.</p>

<p>Example:</p>

<pre><code>helm upgrade --set master.overwritePlugins=true --recreate-pods --force --install
</code></pre>

<p>From Helm chart <a href="https://github.com/helm/charts/tree/master/stable/jenkins" rel="nofollow noreferrer">documentation</a>:</p>

<blockquote>
  <p>| <code>master.overwritePlugins</code>  |  Overwrite installed plugins on start.  |  <code>false</code>   |</p>
</blockquote>
