Синхронізація вашого репозиторію чартів

Примітка: Цей приклад для хмарного сховища Google (GCS), яке обслуговує репозиторій чартів.

Попередні умови

  • Встановіть інструмент gsutil. Ми значною мірою покладаємося на функціональність gsutil rsync.
  • Переконайтеся, що у вас є доступ до бінарного файлу Helm.
  • Необовʼязково: Ми рекомендуємо встановити версіювання обʼєктів у вашому сховищі GCS, на випадок, якщо ви випадково щось видалите.

Налаштування теки локального репозиторію чартів

Створіть локальну теку, як ми це робили в керівництві з репозиторію чартів, і помістіть ваші упаковані чарти в цю теку.

Наприклад:

$ mkdir fantastic-charts
$ mv alpine-0.1.0.tgz fantastic-charts/

Генерація оновленого файлу index.yaml

Використовуйте Helm для генерації оновленого файлу index.yaml, передавши шлях до теки та URL-адресу віддаленого репозиторію команді helm repo index, як показано нижче:

$ helm repo index fantastic-charts/ --url https://fantastic-charts.storage.googleapis.com

Це згенерує оновлений файл index.yaml і помістить його в теку fantastic-charts/.

Синхронізація ваших локальних та віддалених репозиторіїв чартів

Завантажте вміст теки у ваше сховище GCS, запустивши scripts/sync-repo.sh та передавши назву локальної теки та назву сховища GCS.

Наприклад:

$ pwd
/Users/me/code/go/src/helm.sh/helm
$ scripts/sync-repo.sh fantastic-charts/ fantastic-charts
Getting ready to sync your local directory (fantastic-charts/) to a remote repository at gs://fantastic-charts
Verifying Prerequisites....
Thumbs up! Looks like you have gsutil. Let's continue.
Building synchronization state...
Starting synchronization
Would copy file://fantastic-charts/alpine-0.1.0.tgz to gs://fantastic-charts/alpine-0.1.0.tgz
Would copy file://fantastic-charts/index.yaml to gs://fantastic-charts/index.yaml
Are you sure you would like to continue with these changes?? [y/N]} y
Building synchronization state...
Starting synchronization
Copying file://fantastic-charts/alpine-0.1.0.tgz [Content-Type=application/x-tar]...
Uploading   gs://fantastic-charts/alpine-0.1.0.tgz:              740 B/740 B
Copying file://fantastic-charts/index.yaml [Content-Type=application/octet-stream]...
Uploading   gs://fantastic-charts/index.yaml:                    347 B/347 B
Congratulations your remote chart repository now matches the contents of fantastic-charts/

Оновлення вашого репозиторію чартів

Ви захочете зберегти локальну копію вмісту вашого репозиторію чартів або використати gsutil rsync для копіювання вмісту вашого віддаленого репозиторію чартів до локальної теки.

Наприклад:

$ gsutil rsync -d -n gs://bucket-name local-dir/    # прапорець -n виконує пробний запуск
Building synchronization state...
Starting synchronization
Would copy gs://bucket-name/alpine-0.1.0.tgz to file://local-dir/alpine-0.1.0.tgz
Would copy gs://bucket-name/index.yaml to file://local-dir/index.yaml

$ gsutil rsync -d gs://bucket-name local-dir/       # виконує дії копіювання
Building synchronization state...
Starting synchronization
Copying gs://bucket-name/alpine-0.1.0.tgz...
Downloading file://local-dir/alpine-0.1.0.tgz:                        740 B/740 B
Copying gs://bucket-name/index.yaml...
Downloading file://local-dir/index.yaml:                              346 B/346 B

Корисні посилання: