Как добавить репозиторий helm из существующего проекта github? - PullRequest
0 голосов
/ 12 января 2020

У меня есть существующий проект github. Я хочу создать / добавить папку helm в проект для хранения файлов helm yaml. Я хочу сослаться на этот проект / папку github, чтобы он действовал как репозиторий helm в моей локальной среде / dev. Я знаю, что могу добавить графики в репозиторий local / default helm. Вариант использования: если другой разработчик проверяет код на github и ему нужно работать с диаграммами, он может запустить helm install прямо из рабочей папки. На веб-сайте helm.sh есть инструкции по добавлению ветви gh-pages, но мне интересно, смогу ли я этого избежать.

Можно ли использовать существующий проект github и его с помощью команды helm repo add?

Ответы [ 2 ]

0 голосов
/ 13 января 2020

Во-первых, убедитесь, что у вас есть полнофункциональный репозиторий helm. Сложнее всего получить к нему доступ, как если бы это был простой HTTP-сервер, на котором размещены необработанные файлы. К счастью, Github предоставляет такую ​​возможность, используя raw.githubusercontent.com. Чтобы helm мог извлекать файлы из такого хранилища, вам необходимо предоставить ему имя пользователя и токен Github (токен личного доступа):

> helm repo add - username <your_github_username> - password <your_github_token> my-github-helm-repo 'https://raw.githubusercontent.com/my_organization/my-github-helm-repo/master/'
> helm repo update
> helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
my-github-helmrepo https://raw.githubusercontent.com/my_organization/my-github-helm-repo/master/
> helm search my-app
NAME CHART VERSION APP VERSION DESCRIPTION
my-github-helmrepo/my-app-chart 0.1.0 1.0 A Helm chart for Kubernetes

Это шаги для добавления новых пакетов в существующие репозиторий

Если вы хотите добавить новый пакет в существующий репозиторий просто:

1. Поместите новый пакет в ваш локальный репозиторий root

2. Выполнить: индекс репозитория Helm. Это обнаружит новый файл / папку и сделает обновления.

3. Фиксация и pu sh ваш новый пакет

4. Наконец, выполните команду: helm repo update

Аспект безопасности

Важно понять, где управляет на самом деле храните ваш Github токен . Он сохраняется в виде простого текста в ~/.helm/repository/repositories.yaml. В этом случае будет полезно сгенерировать токен с как можно меньшим количеством разрешений.

Посмотрите здесь: хостинг helm частный репозиторий .

0 голосов
/ 12 января 2020

К сожалению, я не смог найти способ опубликовать sh рулевые диаграммы через GitHub, используя частные репозитории. На теоретическом уровне это может работать с использованием токена GitHub и 2nd (метод raw URLs), но я не пробовал. Так как вы все равно используете реестр docker, возможно, стоит попробовать использовать реестр OCI (docker) для хранения графиков.

Если это не сработает или у вас есть c репозитории , можно либо использовать GitHub Pages, либо использовать необработанные URL GitHub. Оба решения требуют публикации c.

Для использования страниц GitHub :

  • Настройка страниц github для публикации в папке sh docs как github pages (вы можете использовать другое имя, просто подставьте позже)
  • Упакуйте репозиторий helm как .tgz (используя helm package): helm package charts/mychart -d docs/. Вместо charts/mychart укажите путь к папке с диаграммой root
  • Включите index.yaml - индексный файл для хранилища helm repo index ./docs --url https://<YOUR_ORG_OR_USERNAME>.github.io/<REPO_NAME>

Теперь вы можете добавить репо: helm repo add <INTERNAL_NAME> https://<YOUR_ORG_OR_USERNAME>.github.io/<REPO_NAME>

Для использования Необработанные URL :

  • Поместите TGZ index.yaml и диаграммы в папку с именем docs, как указано выше

Теперь вы можете добавить репо: helm repo add <INTERNAL_NAME> https://raw.githubusercontent.com/<YOUR_ORG_OR_USERNAME>/<REPO_NAME>/<BRANCH_USUALLY_MASTER>/docs

...