<p>so I am creating a system composed of different components that are installed via helm charts. Since I needed different customizations for each of the charts, I created my own separated repositories, copied the charts there and added customizations.</p>
<p>The question is: how do I conveniently upgrade the charts versions, while keeping the customizations?</p>
<p>For some of the components it was an easy task, since custom templates were moved to different folder and when upgrade is needed I simply replace old files with the new one.</p>
<p>The issue is that in some charts I needed to alter the original files directly, for example in the middle of a template adding necessary stuff. So, during the upgrade of such component I have to go through all files, compare them, remember what changes are mine and then update the whole repository. So yes, you guessed it - it's manual, inconvenient and error prune task.</p>
<p>I tried looking for good practices how to maintain such repositories, but I couldn't find any answers, so I'd be more than happy to take any advice.</p>

<p>Unfortunately it often happens that the Helm Chart repositories of an application aren't suitable for the environment in which you are going to install them.</p>
<p>I suggest modifying the templates following the patterns of how they were written and sending PRs to the application's GitHub repository.</p>
<p>Unless these are &quot;reasonable&quot; configurations, such as things that complicate the application for whatever reason, there's no other way than to do a &quot;git diff&quot; before downloading the updated repo.</p>
