Залежності
Цей розділ посібника охоплює найкращі практики для залежностей
, оголошених у Chart.yaml
.
Версії
По можливості використовуйте діапазони версій замість привʼязки до точної версії. Рекомендоване стандартне значення — це використання відповідності на рівні патчу:
version: ~1.2.3
Це буде відповідати версії 1.2.3
та будь-яким патчам для цього випуску. Іншими словами, ~1.2.3
є еквівалентом >= 1.2.3, < 1.3.0
.
Для повної синтаксичної відповідності версій див. документацію semver.
Попередні версії
Вищезгадані обмеження версій не будуть відповідати попереднім версіям. Наприклад, version: ~1.2.3
буде відповідати version: ~1.2.4
, але не version: ~1.2.3-1
. Наступне забезпечує відповідність як попередніх версій, так і на рівні патчу:
version: ~1.2.3-0
URL-адреси репозиторіїв
По можливості використовуйте URL-адреси репозиторіїв https://
, далі http://
.
Якщо репозиторій був доданий до файлу індексу репозиторіїв, імʼя репозиторію може бути використане як псевдонім URL. Використовуйте alias:
або @
, за яким слідують імена репозиторіїв.
URL-адреси файлів (file://...
) вважаються "особливим випадком" для чартів, які збираються фіксованим процесом розгортання.
При використанні втулків завантажувача схема URL буде специфічною для втулка. Зверніть увагу, що користувачеві чарту буде потрібно мати втулок, що підтримує схему, встановлений для оновлення або побудови залежності.
Helm не може виконувати операції управління залежностями для залежності, коли поле repository
залишено порожнім. У цьому випадку Helm припускатиме, що залежність знаходиться в підтеці теки charts
з іменем, яке відповідає властивості name
для залежності.
Умови та теґи
Умови або теґи слід додавати до будь-яких залежностей, які є необовʼязковими.
Бажана форма умови є такою:
condition: somechart.enabled
Де somechart
є іменем чарту залежності.
Коли кілька субчартів (залежностей) разом забезпечують необовʼязкову або замінну функцію, ці чарт можуть мати спільні теґи.
Наприклад, якщо як nginx
, так і memcached
разом забезпечують оптимізації продуктивності для основного застосунку в чарті та вони потрібні, щоб обидва були присутні, коли ця функція увімкнена, то вони повинні мати розділ теґів як цей:
tags:
- webaccelerator
Це дозволяє користувачеві вмикати або вимикати цю функцію за допомогою одного теґу.