Как ссылаться на таблицу руля в том же хранилище
Я хочу сохранить несколько диаграмм Хелма в одном репозитории, которые ссылаются друг на друга в их соответствующих requirements.yaml
файлы. Как эти диаграммы должны ссылаться на относительные пути друг друга?
Для местного развития я могу использовать file://
протокол как в
name: chart-name
repository: file://../chart-name
Однако, когда я перехожу в размещенный репозиторий, мне нужно будет это изменить. Я бы предпочел, чтобы этот каталог диаграмм не нуждался в том, чтобы его окончательное местоположение запекалось в его файлах repository.yaml. Это возможно?
1 ответ
Когда вы перейдете в размещенный репозиторий, вам не пришлось публиковать каждый график? Если это так, пока у вас нет циклических зависимостей, опубликуйте каждую диаграмму в зависимом порядке в вашем размещенном репо, а затем обновите файл require.yaml.
т.е. если у вас есть 3 диаграммы A,B и C.
- А не зависит ни от В, ни от С
- B зависит от A
- 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
В зависимости от того, какой удаленный хост вы используете, вы можете просто переслать этот локальный индекс на ваш пульт, когда вы будете счастливы выпустить его, и таким образом вы уменьшите вероятность расхождения локального и удаленного узлов.
Опять же, будьте осторожны, вы должны включить или отключить эту запись хоста в зависимости от того, разрабатываете ли вы или хотите использовать репо. Вы всегда можете написать скрипт редактирования записи в файле хоста.