<p>I understand that helm consists of a client-side component (the <code>helm</code> CLI) and a cluster-side component (tiller). The docs say that tiller is responsible for building and managing releases. But why does this need to be done from the cluster? Why can't helm build and manage releases from the client, and then simply push resources to kubernetes?</p>

<p>Tiller can also be run on the client side as mentioned in the Helm documentation <a href="https://docs.helm.sh/using_helm/#running-tiller-locally" rel="nofollow noreferrer">here</a>. The documentation refers to it as <code>Running Tiller Locally</code>.</p>

<p>But, as mentioned in the same documentation it's mainly for the sake of development. Had been thinking about it and not exactly sure why only for development and not for production.</p>
