<p>When running <code>helm upgrade</code>, does helm reinstall all manifests in the chart, or only the manifests that have been changed?</p>

<p>I cannot seem to find any documentation regarding this. Any reference or documentation is welcome. </p>

<p>Thanks in advance.</p>

<p>Depends on a resource type of objects which you updating.</p>

<p>Helm itself never make any decision about what should be updated. It just generates objects from templates based on your configuration and apply them to a Kubernetes.</p>

<p>Now, let's talk about how Kubernetes working with objects. Each object has parameters which can be updated in-place and which cannot. </p>

<p>For example, in a <code>Deployment</code> you can update it's annotations or labels, but if you will update the same values in a <code>spec</code> (which is actually a template for a <code>ReplicSet</code>), it will create new RS with that values and that new RS will create new Pods.</p>

<p>So, if you call <code>helm upgrade</code> and, for example, one resulting object has some new values which cannot be updated on existing object (in-place), then Kubernetes will create a new object to replace the old one. </p>

<p>That is independent process for each object you are creating during upgrade process, so some of objects will be replaced (re-created) and some - no.</p>
