依存関係
このガイドのセクションでは、Chart.yaml
で宣言されたdependencies
のベストプラクティスについて説明します。
バージョン
可能な限り、正確なバージョンに固定するのではなく、バージョン範囲を使用してください。推奨されるデフォルトは、パッチレベルのバージョン一致を使用することです。
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
可能な限り、https://
リポジトリURLを使用し、その後にhttp://
URLを使用してください。
リポジトリがリポジトリインデックスファイルに追加されている場合、リポジトリ名はURLのエイリアスとして使用できます。alias:
または@
の後にリポジトリ名を使用してください。
ファイルURL (file://...
) は、固定されたデプロイパイプラインによってアセンブルされたチャートの「特別なケース」と見なされます。
ダウンローダープラグインを使用する場合、URLスキームはプラグインに固有になります。チャートのユーザーは、依存関係を更新または構築するために、スキームをサポートするプラグインをインストールする必要があります。
repository
フィールドが空白の場合、Helmは依存関係に対する依存関係管理操作を実行できません。その場合、Helmは依存関係がcharts
フォルダーのサブディレクトリにあり、名前が依存関係のname
プロパティと同じであると見なします。
条件とタグ
オプションである依存関係には、条件またはタグを追加する必要があります。
条件の推奨される形式は
condition: somechart.enabled
ここで、somechart
は依存関係のチャート名です。
複数のサブチャート(依存関係)が組み合わさってオプションまたは交換可能な機能を提供する場合、これらのチャートは同じタグを共有する必要があります。
たとえば、nginx
とmemcached
の両方がチャート内のメインアプリのパフォーマンス最適化を提供し、その機能が有効になっている場合に両方が存在する必要がある場合、両方に次のようなタグセクションが必要です。
tags:
- webaccelerator
これにより、ユーザーは1つのタグでその機能をオン/オフにすることができます。