@@ -145,16 +145,10 @@ func (h *HelmProvisioner) EnsureSharedInfra() error {
|
|||||||
return fmt.Errorf("création namespace %s: %w", sharedTraefikNamespace, err)
|
return fmt.Errorf("création namespace %s: %w", sharedTraefikNamespace, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
chartPath := filepath.Join(h.chartsDir, "traefik")
|
// Le subchart officiel traefik/traefik est vendorisé dans le repo
|
||||||
|
// (deploy/chart-gestion/traefik/charts/traefik-*.tgz + Chart.lock) :
|
||||||
// Le chart traefik dépend du chart officiel traefik/traefik (subchart) :
|
// pas de "helm dependency update" au runtime, qui échouerait de toute
|
||||||
// il faut le récupérer avant l'install (nécessite un accès internet
|
// façon puisque /charts est monté en lecture seule.
|
||||||
// sortant depuis ce pod, comme pour le plugin Coraza téléchargé par
|
|
||||||
// Traefik lui-même au démarrage).
|
|
||||||
if err := h.runHelmDependencyUpdate(chartPath); err != nil {
|
|
||||||
return fmt.Errorf("helm dependency update traefik: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := h.upgradeInstallChart(sharedTraefikNamespace, sharedTraefikRelease, "traefik", nil); err != nil {
|
if err := h.upgradeInstallChart(sharedTraefikNamespace, sharedTraefikRelease, "traefik", nil); err != nil {
|
||||||
return fmt.Errorf("déploiement traefik partagé: %w", err)
|
return fmt.Errorf("déploiement traefik partagé: %w", err)
|
||||||
}
|
}
|
||||||
@@ -249,13 +243,6 @@ func (h *HelmProvisioner) upgradeInstallChart(namespace, release, chartName stri
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// runHelmDependencyUpdate télécharge les subcharts déclarés dans
|
|
||||||
// Chart.yaml (dependencies) — requis avant d'installer un chart qui, comme
|
|
||||||
// traefik, dépend d'un chart tiers.
|
|
||||||
func (h *HelmProvisioner) runHelmDependencyUpdate(chartPath string) error {
|
|
||||||
return h.runHelm("dependency", "update", chartPath)
|
|
||||||
}
|
|
||||||
|
|
||||||
// writeValuesFile sérialise des valeurs Helm dans un fichier temporaire et
|
// writeValuesFile sérialise des valeurs Helm dans un fichier temporaire et
|
||||||
// retourne son chemin + une fonction de nettoyage à appeler en defer.
|
// retourne son chemin + une fonction de nettoyage à appeler en defer.
|
||||||
func (h *HelmProvisioner) writeValuesFile(namespace, chartName string, values map[string]interface{}) (string, func(), error) {
|
func (h *HelmProvisioner) writeValuesFile(namespace, chartName string, values map[string]interface{}) (string, func(), error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user