<ol>
<li>Is this even possible with helm? </li>
<li>What options for security are possible (BasicAuth? Client Certs? OAuth2?)</li>
<li>Is there any example / documentation about this (both server and client side)?</li>
</ol>

<p><strong>Helm Private Repository using private GitHub repositories</strong>.<br/></p>

<p><strong>Steps:</strong></p>

<ol>
<li>Create a private GitHub repository named <code>private-helm-registry</code> or any.</li>
<li>Place your Raw Helm Charts.</li>
<li><p>Create a <code>charts</code> folder and place <code>index.yaml</code> and packaged charts in <code>.tgz</code> format inside this folder.</p></li>
<li><p>Create a GitHub <a href="https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/" rel="noreferrer">Personal Access Token</a> with read-only access.</p></li>
<li><p>Add your Repository to helm using the following command:</p>

<pre><code>$ helm repo add helm-registry 'https://&lt;git_hub_personal_access_token&gt;@raw.githubusercontent.com/myGitHubAccountName/private-helm-registry/master/charts/'
"helm-registry" has been added to your repositories
</code></pre>

<p><strong>Note:</strong> </p>

<pre><code>1. Enclose the Url with single quotes ' '.
2. The trailing / is mandatory.
</code></pre></li>
<li><p>To add development or other branches as helm repository, use branch name:</p>

<pre><code>$ helm repo add helm-registry-dev 'https://&lt;git_hub_personal_access_token&gt;@raw.githubusercontent.com/myGitHubAccountName/private-helm-registry/&lt;branch&gt;/charts/'
"helm-registry-dev" has been added to your repositories
</code></pre></li>
</ol>

<p>Explore more at: <a href="https://medium.com/@kavehmz/using-a-private-github-repo-as-helm-chart-repo-https-access-95629b2af27c" rel="noreferrer">Using a private github repo as helm chart repo</a>.</p>
