<p>I have an existing github project. I want to create/add a <code>helm</code> folder to the project to store the helm yaml files. I want to reference this github project/folder to act like a helm repo in my local/dev environment. I know I can add the charts to my local/default helm repo. The use case is if another developer checks out the code in github and he needs to work on the charts then he can run <code>helm install</code> directly from the working folder. The <code>helm.sh</code> website has instructions of adding a <code>gh-pages</code> branch but I am wondering if I can avoid it.</p>

<p>Can I use an existing github project and it via the <code>helm repo add</code> command? </p>

alltej
<p>Unfortunately, I wasn't able to find a way to publish helm charts via GitHub using private repositories. On a theoretical level, it might work using GitHub token and 2nd (raw URLs method), but I haven't tried it. Since you're using docker registry anyway, it might be worth trying using OCI (docker) registry to store the charts.</p>

<p>If that doesn't work, or you have public repos, it is possible to either use GitHub Pages, or use GitHub raw URLs. Both of the solutions require public repository.</p>

<p>To use <strong>GitHub pages</strong>:</p>

<ul>
<li>Setup github pages to publish <code>docs</code> folder as github pages (you can use a different name, just substitue later)</li>
<li>Package the helm repo as .tgz (using <code>helm package</code>): <code>helm package charts/mychart -d docs/</code>. Substitute <code>charts/mychart</code> with a path to a chart root folder</li>
<li>Include an index.yaml -- an index file for the repository <code>helm repo index ./docs --url https://&lt;YOUR_ORG_OR_USERNAME&gt;.github.io/&lt;REPO_NAME&gt;</code></li>
</ul>

<p>Now you can add the repo: <code>helm repo add &lt;INTERNAL_NAME&gt; https://&lt;YOUR_ORG_OR_USERNAME&gt;.github.io/&lt;REPO_NAME&gt;</code></p>

<p>To use <strong>Raw URLs</strong>:</p>

<ul>
<li>Place index.yaml and chart TGZs into a folder called <code>docs</code>, just like above</li>
</ul>

<p>Now you can add a repo: <code>helm repo add &lt;INTERNAL_NAME&gt; https://raw.githubusercontent.com/&lt;YOUR_ORG_OR_USERNAME&gt;/&lt;REPO_NAME&gt;/&lt;BRANCH_USUALLY_MASTER&gt;/docs</code></p>
