Как ссылаться на таблицу руля в том же хранилище

Я хочу сохранить несколько диаграмм Хелма в одном репозитории, которые ссылаются друг на друга в их соответствующих requirements.yaml файлы. Как эти диаграммы должны ссылаться на относительные пути друг друга?

Для местного развития я могу использовать file:// протокол как в

name: chart-name
repository: file://../chart-name

Однако, когда я перехожу в размещенный репозиторий, мне нужно будет это изменить. Я бы предпочел, чтобы этот каталог диаграмм не нуждался в том, чтобы его окончательное местоположение запекалось в его файлах repository.yaml. Это возможно?

1 ответ

Когда вы перейдете в размещенный репозиторий, вам не пришлось публиковать каждый график? Если это так, пока у вас нет циклических зависимостей, опубликуйте каждую диаграмму в зависимом порядке в вашем размещенном репо, а затем обновите файл require.yaml.

т.е. если у вас есть 3 диаграммы A,B и C.

  1. А не зависит ни от В, ни от С
  2. B зависит от A
  3. C зависит от B

Опубликуйте A в размещенном репо, обновите требования B, чтобы указать имя размещенного репо A, затем опубликуйте B и повторите процесс обновления для C.

Я делаю что-то подобное, но я не пользуюсь размещенным репо. У меня уже есть большая установка Ansible, поэтому я написал роль, которая устанавливает диаграммы прямо из каталогов. Есть одно git-репо со всеми (в настоящее время 7) моими диаграммами, и этот минус при запуске сервера helm - аналогичный процесс. Очевидным недостатком является ручное обновление требований, но я не уверен, что есть другой выбор.

РЕДАКТИРОВАТЬ

Немного хакерский, но может сработать:

Чтобы избежать редактирования зависимостей, одним из способов является также локальное выполнение репозитория. Если ваше репо доступно на charts.domain.comдобавить зависимость к этому, как обычно

dependencies:
  - name: my-chart
    repository: http://charts.domain.com
    version: 0.0.1

затем, когда вы разрабатываете локально, добавьте запись в ваш файл hosts, который указывает charts.domain.com на ваш localhost графики.

Пример рабочего процесса может быть что-то вроде:

mkdir my-charts
mv my-char-a-0.0.1.tgz my-charts/
helm repo index my-charts/ --url http://charts.domain.com

Теперь обслуживайте индекс / репо, сгенерированный из localhost. Таким образом, ваша зависимость всегда от charts.domain.com

В зависимости от того, какой удаленный хост вы используете, вы можете просто переслать этот локальный индекс на ваш пульт, когда вы будете счастливы выпустить его, и таким образом вы уменьшите вероятность расхождения локального и удаленного узлов.

Опять же, будьте осторожны, вы должны включить или отключить эту запись хоста в зависимости от того, разрабатываете ли вы или хотите использовать репо. Вы всегда можете написать скрипт редактирования записи в файле хоста.

Другие вопросы по тегам