Réponse directe : helm dependency update télécharge les sous-charts déclarés dans Chart.yaml vers charts/ et génère un Chart.lock pour verrouiller les versions exactes. Le chart parent passe des values aux subcharts via des clés nommées (ex: backend.replicaCount), et global.* est automatiquement propagé à tous les sous-charts.
Ce guide vous montre comment composer des applications complexes en assemblant plusieurs charts Helm, subcharts locaux, dépendances externes, et umbrella charts, tout en maintenant une configuration cohérente et reproductible.
Pré-requis
Section intitulée « Pré-requis »Avant de commencer, assurez-vous d'avoir :
- Un cluster Kubernetes fonctionnel (kind, k3d, minikube ou distant)
kubectlconfiguré et un namespace de test- Helm v3.8+ installé
- Connaissance des modules précédents : templates, values, fonctions
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »| Section | Concept | Durée |
|---|---|---|
| Déclarer des dépendances | Chart.yaml dependencies, repositories | 10 min |
| Télécharger et verrouiller | helm dependency update/build, Chart.lock | 8 min |
| Subcharts et values | Clés nommées, global.*, import-values | 12 min |
| Conditions et tags | Activer/désactiver des sous-charts | 8 min |
| Umbrella chart | Architecture multi-tiers complète | 10 min |
| Pièges et maintenance | Conflits de noms, mises à jour | 7 min |
Déclarer des dépendances
Section intitulée « Déclarer des dépendances »Un chart Helm peut dépendre d'autres charts, locaux ou distants. Ces dépendances sont déclarées dans le fichier Chart.yaml sous la clé dependencies.
Syntaxe de base
Section intitulée « Syntaxe de base »L'exemple ci-dessous mélange volontairement les deux origines possibles, un sous-chart local et un chart public, parce que c'est la configuration réelle de la plupart des umbrella charts : votre code applicatif à côté de briques d'infrastructure que vous ne maintenez pas. Notez que l'ordre des entrées dans dependencies n'a aucune influence sur l'ordre de déploiement, Helm rend tous les manifestes puis les applique en une passe, triés par type de ressource.
Créez un chart umbrella avec des dépendances mixtes :
apiVersion: v2name: mon-stackdescription: Chart umbrella pour démo compositiontype: applicationversion: 1.0.0appVersion: "1.0.0"
dependencies: # Dépendance locale (sous-chart dans charts/) - name: backend version: "0.1.0" repository: "file://charts/backend"
# Dépendance externe (repository Helm) - name: kube-state-metrics version: "5.27.0" repository: "https://prometheus-community.github.io/helm-charts" condition: monitoring.enabled # Activation conditionnelle alias: metrics # Renommer dans les templatesTypes de repositories
Section intitulée « Types de repositories »Le champ repository détermine d'où Helm va chercher le chart, et ce choix a des conséquences sur votre chaîne de livraison. file:// garde le sous-chart dans votre dépôt Git : il évolue au même rythme que le parent et ne demande aucune infrastructure. Les trois autres formes visent un artefact publié ailleurs, donc versionné indépendamment, ce qui suppose que ce dépôt distant reste accessible au moment du déploiement. Sur un cluster sans accès Internet, seule la forme file:// fonctionne sans miroir interne.
| Type | Syntaxe repository | Usage |
|---|---|---|
| Local | file://charts/nom | Sous-chart développé avec le parent |
| HTTPS | https://example.com/charts | Repository Helm classique |
| OCI | oci://ghcr.io/org/charts | Registry OCI (Helm 3.8+) |
| Alias | @monrepo | Référence un repo ajouté via helm repo add |
Champs de dépendance
Section intitulée « Champs de dépendance »Trois champs sont obligatoires, les quatre autres servent à résoudre des problèmes précis que vous rencontrerez tôt ou tard. condition et tags répondent à la même question, activer ou non le sous-chart, mais avec des granularités différentes, détaillées plus bas. alias est indispensable dans un seul cas : inclure deux fois le même chart dans un umbrella, par exemple deux instances de PostgreSQL. Le champ version accepte les opérateurs SemVer, et c'est celui qui décide de la stabilité de vos déploiements : la section sur les pièges y revient.
| Champ | Obligatoire | Description |
|---|---|---|
name | ✅ | Nom du chart à inclure |
version | ✅ | Version ou range SemVer (^1.2.0, ~1.2.0, >=1.0.0) |
repository | ✅ | URL ou chemin du chart |
condition | ❌ | Chemin values pour activer/désactiver (ex: db.enabled) |
tags | ❌ | Liste de tags pour activation groupée |
alias | ❌ | Renommer le chart (utile si même chart plusieurs fois) |
import-values | ❌ | Importer des values du sous-chart vers le parent |
Télécharger et verrouiller les versions
Section intitulée « Télécharger et verrouiller les versions »Helm propose deux commandes pour gérer les dépendances : update et build.
helm dependency update
Section intitulée « helm dependency update »Cette commande résout les dépendances depuis Chart.yaml, télécharge les charts dans charts/, et génère un fichier Chart.lock :
helm dependency update mon-stack/Sortie typique :
Hang tight while we grab the latest from your chart repositories......Successfully got an update from the "prometheus-community" chart repositoryUpdate Complete. ⎈Happy Helming!⎈Saving 2 chartsDownloading kube-state-metrics from repo https://prometheus-community.github.io/helm-chartsDeleting outdated chartsCe qui se passe :
- Helm met à jour les indexes des repositories
- Résout les versions selon les contraintes (
5.27.0,^1.0.0, etc.) - Télécharge les
.tgzdanscharts/ - Génère
Chart.lockavec les versions exactes
Contenu de charts/ après update
Section intitulée « Contenu de charts/ après update »Regarder le dossier charts/ après la commande apprend une chose qui surprend souvent : les deux types de dépendances n'y laissent pas la même trace. Le point à retenir pour votre .gitignore est que seuls les .tgz sont reconstructibles à partir du Chart.lock ; le dossier backend/ est du code source qui vous appartient et doit rester versionné.
ls -la mon-stack/charts/total 32drwxrwxr-x 3 bob bob 4096 févr. 1 19:09 .drwxrwxr-x 4 bob bob 4096 févr. 1 19:09 ..drwxrwxr-x 3 bob bob 4096 févr. 1 19:08 backend-rw-rw-r-- 1 bob bob 751 févr. 1 19:09 backend-0.1.0.tgz-rw-r--r-- 1 bob bob 14235 févr. 1 19:09 kube-state-metrics-5.27.0.tgzLes sous-charts locaux (file://) restent en dossiers ET sont packagés en .tgz. Les dépendances externes arrivent uniquement en .tgz.
Chart.lock : le verrou de reproductibilité
Section intitulée « Chart.lock : le verrou de reproductibilité »Là où Chart.yaml exprime une intention (« une version 5.27.x me convient »), Chart.lock enregistre le résultat de la résolution à un instant donné. Deux champs font tout le travail : version, qui fige la version exacte retenue pour chaque dépendance, et digest, une empreinte de la liste des dépendances qui permet à Helm de détecter que Chart.yaml a été modifié depuis la dernière résolution. Le champ generated n'est qu'un horodatage informatif, ne vous en servez pas comme critère de fraîcheur.
dependencies:- name: backend repository: file://charts/backend version: 0.1.0- name: kube-state-metrics repository: https://prometheus-community.github.io/helm-charts version: 5.27.0digest: sha256:c7be1e4c41ba5a5a166b995fbf57fd64ef0364100fb37c12a84553e64f4443c3generated: "2026-02-01T19:09:58.573104083+01:00"Ce fichier est essentiel : il garantit que toute l'équipe et la CI utilisent les mêmes versions exactes.
helm dependency build
Section intitulée « helm dependency build »Contrairement à update, la commande build utilise Chart.lock au lieu de Chart.yaml pour télécharger les dépendances :
# Supprimer les archives téléchargéesrm mon-stack/charts/*.tgz
# Reconstruire depuis le lockhelm dependency build mon-stack/Sortie :
Saving 2 chartsDownloading kube-state-metrics from repo https://prometheus-community.github.io/helm-chartsDeleting outdated chartsupdate vs build : quand utiliser quoi ?
Section intitulée « update vs build : quand utiliser quoi ? »La distinction est la même qu'entre npm install et npm ci : l'une peut faire évoluer les versions, l'autre reproduit à l'identique. build refuse d'ailleurs de travailler si les deux fichiers ont divergé, avec un message explicite, the lock file (Chart.lock) is out of sync with the dependencies file (Chart.yaml). C'est exactement le comportement que vous voulez en CI : un Chart.yaml modifié sans helm dependency update fait échouer le pipeline au lieu de résoudre silencieusement une version différente de celle testée.
| Commande | Utilise | Quand l'utiliser |
|---|---|---|
helm dependency update | Chart.yaml | Développement, mise à jour vers nouvelles versions |
helm dependency build | Chart.lock | CI/CD, builds reproductibles |
Lister les dépendances
Section intitulée « Lister les dépendances »C'est la commande de diagnostic à lancer avant de perdre du temps sur un rendu qui échoue. Elle ne télécharge rien et ne modifie rien, elle compare simplement ce que déclare Chart.yaml avec ce qui se trouve réellement dans charts/. La colonne STATUS répond à elle seule à la question « pourquoi mon helm template se plaint-il d'une dépendance ».
helm dependency list mon-stack/NAME VERSION REPOSITORY STATUSbackend 0.1.0 file://charts/backend okkube-state-metrics 5.27.0 https://prometheus-community.github.io/helm-charts okLes statuts possibles :
ok: Dépendance présente et à jourmissing: Non téléchargée (lancerupdateoubuild)unpacked: Dossier présent mais pas de.tgzwrong version: Archive présente, mais sa version ne satisfait pas la contrainte deChart.yamlmisnamed: Archive présente sous un nom de fichier qui ne correspond pas au chart qu'elle contient
Subcharts : passer des values
Section intitulée « Subcharts : passer des values »La communication entre chart parent et subcharts se fait exclusivement via les values. Helm offre trois mécanismes.
Mécanisme 1 : Clés nommées
Section intitulée « Mécanisme 1 : Clés nommées »Chaque sous-chart reçoit ses values sous une clé correspondant à son nom (ou alias) :
# Configuration du sous-chart "backend"backend: replicaCount: 2 image: tag: "6.7.1"
# Configuration du sous-chart avec alias "metrics" (kube-state-metrics)metrics: prometheusScrape: true replicas: 1Dans le sous-chart backend, ces values sont accessibles directement :
spec: replicas: {{ .Values.replicaCount }} # Reçoit 2 containers: - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" # tag = 6.7.1Mécanisme 2 : Global values
Section intitulée « Mécanisme 2 : Global values »Les values sous global.* sont automatiquement propagées à tous les sous-charts :
global: imageRegistry: "my-registry.io" additionalLabels: team: platform cost-center: infraDans n'importe quel sous-chart :
metadata: labels: {{- with .Values.global.additionalLabels }} {{- toYaml . | nindent 4 }} {{- end }}spec: containers: - image: "{{ .Values.global.imageRegistry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}"Résultat du template :
metadata: labels: team: platform cost-center: infraspec: containers: - image: "my-registry.io/ghcr.io/stefanprodan/podinfo:6.7.1"Ce rendu montre au passage le défaut le plus courant du motif global.imageRegistry : le sous-chart concatène sans condition, si bien qu'une image.repository contenant déjà un registre produit une référence à deux registres et un ImagePullBackOff. Les charts publics sérieux protègent leur template avec {{- if .Values.global.imageRegistry }} ; sur vos propres sous-charts, faites de même et ne stockez que le chemin du dépôt dans image.repository.
Mécanisme 3 : import-values
Section intitulée « Mécanisme 3 : import-values »Pour des cas avancés, vous pouvez importer des values d'un sous-chart vers le parent :
dependencies: - name: database version: "0.1.0" repository: "file://charts/database" import-values: - child: exports.connection # Chemin dans le sous-chart parent: dbConnection # Clé dans le parentexports: connection: host: postgres.default.svc port: 5432 database: appdbDans un template du parent, vous accédez maintenant à :
data: DB_HOST: {{ .Values.dbConnection.host | quote }} # "postgres.default.svc" DB_PORT: {{ .Values.dbConnection.port | quote }} # "5432"Conditions et tags
Section intitulée « Conditions et tags »Vous pouvez activer ou désactiver des sous-charts dynamiquement sans les supprimer de Chart.yaml.
Conditions
Section intitulée « Conditions »Une condition est un chemin values qui doit valoir true ou false :
dependencies: - name: kube-state-metrics version: "5.27.0" repository: "https://prometheus-community.github.io/helm-charts" condition: monitoring.enabled alias: metricsmonitoring: enabled: true # Le sous-chart est inclusTester la condition :
# Avec monitoring activéhelm template mon-stack . --set monitoring.enabled=true 2>&1 | grep -E "^# Source:" | sort -u# Source: mon-stack/charts/backend/templates/service.yaml# Source: mon-stack/charts/metrics/templates/clusterrolebinding.yaml# Source: mon-stack/charts/metrics/templates/deployment.yaml# Source: mon-stack/charts/metrics/templates/role.yaml# Source: mon-stack/charts/metrics/templates/serviceaccount.yaml# Source: mon-stack/charts/metrics/templates/service.yaml# Avec monitoring désactivéhelm template mon-stack . --set monitoring.enabled=false 2>&1 | grep -E "^# Source:" | sort -u# Source: mon-stack/charts/backend/templates/service.yamlLe sous-chart metrics n'est plus rendu quand monitoring.enabled=false.
Les tags permettent de grouper plusieurs sous-charts et de les activer/désactiver ensemble :
dependencies: - name: backend version: "0.1.0" repository: "file://charts/backend" tags: - backend - api
- name: frontend version: "0.1.0" repository: "file://charts/frontend" tags: - frontend - api
- name: kube-state-metrics repository: "https://prometheus-community.github.io/helm-charts" tags: - monitoring - observabilitytags: api: true # Active backend ET frontend monitoring: false # Désactive kube-state-metricsPriorité : condition vs tag
Section intitulée « Priorité : condition vs tag »Quand un sous-chart a à la fois une condition et des tags, la condition a priorité :
condition | tag | Résultat |
|---|---|---|
true | true | ✅ Inclus |
true | false | ✅ Inclus (condition prioritaire) |
false | true | ❌ Exclu (condition prioritaire) |
false | false | ❌ Exclu |
| non définie | true | ✅ Inclus |
| non définie | false | ❌ Exclu |
Un cas manque volontairement à ce tableau parce qu'il est la source d'erreur la plus fréquente : une condition déclarée dans Chart.yaml mais dont le chemin n'existe pas dans les values. Helm ne la considère alors pas comme fausse, il l'ignore purement et simplement, et le sous-chart est inclus. Autrement dit, oublier monitoring.enabled: false dans values.yaml ne désactive rien, cela déploie. Déclarez donc toujours explicitement la clé référencée par une condition dans le values.yaml du parent, avec la valeur par défaut que vous voulez réellement.
Umbrella chart : composer une stack
Section intitulée « Umbrella chart : composer une stack »Un umbrella chart est un chart qui ne contient (presque) pas de templates propres, il orchestre uniquement des sous-charts pour déployer une stack complète.
Architecture typique
Section intitulée « Architecture typique »Deux détails de cette arborescence méritent votre attention. D'abord le dossier templates/ du parent est quasi vide : un umbrella qui accumule ses propres manifestes n'en est plus un, il redevient un chart applicatif ordinaire et vous perdez le bénéfice de la composition. Ensuite, charts/ mélange volontairement des dossiers (sous-charts locaux, versionnés avec le parent) et des archives (dépendances externes, reconstruites par helm dependency build). Cette différence de nature est ce qui détermine ce que vous commitez.
Répertoiremon-stack/
- Chart.yaml Dépendances déclarées ici
- Chart.lock Versions verrouillées
- values.yaml Configuration globale + overrides subcharts
Répertoiretemplates/
- configmap.yaml Optionnel : config partagée
Répertoirecharts/
Répertoirebackend/ Sous-chart local
- …
Répertoiredatabase/ Sous-chart local
- …
- kube-state-metrics-5.27.0.tgz Dépendance externe
Exemple complet
Section intitulée « Exemple complet »Voici un umbrella chart pour une application web avec monitoring :
apiVersion: v2name: mon-stackdescription: Stack web complète avec backend, database et monitoringtype: applicationversion: 1.0.0appVersion: "1.0.0"
dependencies: - name: backend version: "0.1.0" repository: "file://charts/backend" tags: - backend
- name: database version: "0.1.0" repository: "file://charts/database" import-values: - child: exports.connection parent: dbConnection
- name: kube-state-metrics version: "5.27.0" repository: "https://prometheus-community.github.io/helm-charts" condition: monitoring.enabled alias: metrics# Activation par tagstags: backend: true
# Configuration globale (propagée à tous les subcharts)global: imageRegistry: "" additionalLabels: app.kubernetes.io/part-of: mon-stack
# Override du sous-chart backendbackend: replicaCount: 2 image: tag: "6.7.1" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 512Mi
# Override du sous-chart databasedatabase: persistence: size: 20Gi
# Activation du monitoringmonitoring: enabled: true
# Override du sous-chart metrics (alias de kube-state-metrics)metrics: prometheusScrape: truehelm template mon-stack . 2>&1 | grep -E "^# Source:" | sort -u# Source: mon-stack/charts/backend/templates/service.yaml# Source: mon-stack/charts/metrics/templates/clusterrolebinding.yaml# Source: mon-stack/charts/metrics/templates/deployment.yaml# Source: mon-stack/charts/metrics/templates/role.yaml# Source: mon-stack/charts/metrics/templates/service.yaml# Source: mon-stack/charts/metrics/templates/serviceaccount.yaml# Source: mon-stack/templates/configmap.yamlAfficher les métadonnées
Section intitulée « Afficher les métadonnées »helm show chart renvoie le Chart.yaml tel que Helm l'interprète, clés triées par ordre alphabétique et champs par défaut explicités. C'est utile pour deux vérifications : contrôler qu'un alias, une condition ou un import-values a bien été pris en compte, et inspecter un chart empaqueté que vous n'avez pas écrit, en passant un .tgz ou une référence de repository à la place du dossier.
helm show chart mon-stack/apiVersion: v2appVersion: 1.0.0dependencies:- name: backend repository: file://charts/backend tags: - backend version: 0.1.0- import-values: - child: exports.connection parent: dbConnection name: database repository: file://charts/database version: 0.1.0- alias: metrics condition: monitoring.enabled name: kube-state-metrics repository: https://prometheus-community.github.io/helm-charts version: 5.27.0description: Stack web complète avec backend, database et monitoringname: mon-stacktype: applicationversion: 1.0.0Packager l'umbrella
Section intitulée « Packager l'umbrella »Quand vous packagez un umbrella chart, toutes les dépendances sont incluses dans l'archive :
helm package mon-stack/ -d ./dist/Successfully packaged chart and saved it to: ./dist/mon-stack-1.0.0.tgztar tzf ./dist/mon-stack-1.0.0.tgz | head -20mon-stack/Chart.yamlmon-stack/Chart.lockmon-stack/values.yamlmon-stack/templates/configmap.yamlmon-stack/charts/backend/Chart.yamlmon-stack/charts/backend/values.yamlmon-stack/charts/backend/templates/deployment.yamlmon-stack/charts/backend/templates/service.yamlmon-stack/charts/kube-state-metrics/Chart.yamlmon-stack/charts/kube-state-metrics/values.yamlmon-stack/charts/kube-state-metrics/templates/...Pièges de composition et maintenance
Section intitulée « Pièges de composition et maintenance »Piège 1 : Conflits de noms
Section intitulée « Piège 1 : Conflits de noms »Deux sous-charts peuvent générer des ressources avec le même nom, causant des conflits :
# backend génère : mon-stack-backend-config# frontend génère aussi : mon-stack-frontend-config# ✅ OK, noms différents
# Si les deux utilisent {{ .Release.Name }}-config :# ❌ Conflit : mon-stack-config existe deux foisSolution : Utilisez le pattern {{ include "chart.fullname" . }} qui inclut le nom du chart :
{{- define "backend.fullname" -}}{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }}{{- end }}Piège 2 : Mises à jour des dépendances
Section intitulée « Piège 2 : Mises à jour des dépendances »Après modification de Chart.yaml, vous devez re-run helm dependency update :
# ❌ Erreur si vous oubliezhelm template mon-stack .# Error: an error occurred while checking for chart dependencies. You may need to run# `helm dependency build` to fetch missing dependencies: found in Chart.yaml, but# missing in charts/ directory: new-dependency
# ✅ Correcthelm dependency update mon-stack/helm template mon-stack .Piège 3 : Version ranges trop permissives
Section intitulée « Piège 3 : Version ranges trop permissives »Une contrainte de version large ne pose problème que le jour où quelqu'un relance helm dependency update, et c'est précisément pour ça qu'elle passe inaperçue pendant des mois. Les quatre écritures ci-dessous se lisent de la plus dangereuse à la plus sûre. Retenez la différence entre les deux opérateurs SemVer : le tilde ~ autorise seulement les correctifs, le caret ^ autorise aussi les versions mineures. Si vous voulez la reproductibilité maximale, épinglez la version exacte et acceptez de la faire évoluer à la main : Chart.lock protège les autres membres de l'équipe, pas celui qui lance la mise à jour.
dependencies: # ❌ Dangereux : peut sauter une major - name: postgres version: "*"
# ⚠️ Peut inclure des breaking changes mineurs - name: postgres version: ">=15.0.0"
# ✅ Recommandé : patch updates seulement - name: postgres version: "~15.5.0" # 15.5.x uniquement
# ✅ Recommandé : minor updates - name: postgres version: "^15.0.0" # 15.x.x uniquementPiège 4 : Charts.lock non commité
Section intitulée « Piège 4 : Charts.lock non commité »Si Chart.lock n'est pas dans le repo Git, chaque développeur peut avoir des versions différentes :
# Fichiers à commitergit add Chart.yaml Chart.lock values.yaml templates/
# Fichiers à ignorer (reconstruits via helm dependency build)echo "charts/*.tgz" >> .gitignorePiège 5 : Oublier les conditions
Section intitulée « Piège 5 : Oublier les conditions »Sans condition, un sous-chart est toujours déployé même si non utilisé :
# ❌ Pas de condition : monitoring toujours déployé- name: prometheus version: "25.0.0" repository: "https://prometheus-community.github.io/helm-charts"
# ✅ Avec condition : contrôle explicite- name: prometheus version: "25.0.0" repository: "https://prometheus-community.github.io/helm-charts" condition: prometheus.enabledLab B3, Créer un umbrella chart fonctionnel
Section intitulée « Lab B3, Créer un umbrella chart fonctionnel »Ce lab enchaîne les cinq mécanismes du guide sur un chart minimal, sans rien déployer sur un cluster : helm template suffit à valider la composition, et le kubectl apply --dry-run=client de la dernière étape vérifie seulement que le YAML produit est accepté par l'API. Comptez une dizaine de minutes. Le point de contrôle le plus instructif est le quatrième critère de réussite : c'est celui qui prouve que la condition fonctionne, et c'est aussi celui qui échoue si vous avez oublié de déclarer monitoring.enabled dans values.yaml.
-
Créer la structure :
Fenêtre de terminal mkdir -p mon-umbrella/charts/api/templates -
Déclarer le sous-chart API (
charts/api/Chart.yaml) :apiVersion: v2name: apiversion: 0.1.0 -
Ajouter une dépendance externe (Chart.yaml du parent) :
dependencies:- name: apiversion: "0.1.0"repository: "file://charts/api"- name: kube-state-metricsversion: "5.27.0"repository: "https://prometheus-community.github.io/helm-charts"condition: monitoring.enabledalias: metrics -
Configurer les values avec
global.*et overrides :global:environment: stagingapi:replicaCount: 3monitoring:enabled: true -
Télécharger et valider :
Fenêtre de terminal helm dependency update mon-umbrella/helm template test mon-umbrella/ | kubectl apply --dry-run=client -f -
Critères de réussite :
-
helm dependency listaffiche toutes les dépendances en statusok -
Chart.lockest généré avec les versions exactes - Les values
global.*sont accessibles dans les sous-charts -
--set monitoring.enabled=falseexclut kube-state-metrics du rendu - Le chart se package avec toutes les dépendances incluses
À retenir
Section intitulée « À retenir »| Concept | Commande / Syntaxe | Usage |
|---|---|---|
| Déclarer | dependencies: dans Chart.yaml | Lister les sous-charts |
| Télécharger | helm dependency update | Développement, nouvelles versions |
| Reconstruire | helm dependency build | CI/CD, reproductibilité |
| Lister | helm dependency list | Vérifier les statuts |
| Values nommées | backend.replicaCount: 2 | Configurer un sous-chart |
| Global values | global.imageRegistry | Propager à tous les sous-charts |
| Condition | condition: db.enabled | Activer/désactiver un sous-chart |
| Alias | alias: metrics | Renommer un sous-chart |