chore: update
This commit is contained in:
@@ -36,17 +36,21 @@ import (
|
||||
// HelmProvisioner : implémente Provisioner en appelant l'exécutable Helm.
|
||||
// Nécessite que helm soit installé dans le container (ex: dans /usr/local/bin/helm).
|
||||
type HelmProvisioner struct {
|
||||
cfg *config.Config
|
||||
k8sClient *kubernetes.Clientset
|
||||
restConfig *rest.Config // pour l'exec dans les pods (pg_dump/restore)
|
||||
metricsClient *metricsclient.Clientset // optionnel : nil si metrics-server indisponible
|
||||
dynamicClient dynamic.Interface // pour les CRD Velero (Schedule/Backup), voir ensureDemoBackupSchedule
|
||||
chartsDir string // chemin vers le dossier des charts (ex: /charts)
|
||||
frontendImage string
|
||||
backendImage string
|
||||
lbtelegramImage string
|
||||
baseDomain string
|
||||
helmPath string // chemin vers l'exécutable helm (default: "helm")
|
||||
cfg *config.Config
|
||||
k8sClient *kubernetes.Clientset
|
||||
restConfig *rest.Config // pour l'exec dans les pods (pg_dump/restore)
|
||||
metricsClient *metricsclient.Clientset // optionnel : nil si metrics-server indisponible
|
||||
dynamicClient dynamic.Interface // pour les CRD Velero (Schedule/Backup), voir ensureDemoBackupSchedule
|
||||
chartsDir string // chemin vers le dossier des charts (ex: /charts)
|
||||
// vitrineChartsDir : charts des projets vitrine (backend, frontend,
|
||||
// postgresql, redis, ingressroute), distincts de chartsDir dont les
|
||||
// charts de mêmes noms déploient le produit des démos.
|
||||
vitrineChartsDir string
|
||||
frontendImage string
|
||||
backendImage string
|
||||
lbtelegramImage string
|
||||
baseDomain string
|
||||
helmPath string // chemin vers l'exécutable helm (default: "helm")
|
||||
}
|
||||
|
||||
// NewHelmProvisioner crée un nouveau provisioner Helm.
|
||||
@@ -79,17 +83,18 @@ func NewHelmProvisioner(
|
||||
}
|
||||
|
||||
return &HelmProvisioner{
|
||||
cfg: cfg,
|
||||
k8sClient: k8sClient,
|
||||
restConfig: restConfig,
|
||||
metricsClient: metricsClient,
|
||||
dynamicClient: dynamicClient,
|
||||
chartsDir: chartsDir,
|
||||
frontendImage: cfg.FrontendImage,
|
||||
backendImage: cfg.BackendImage,
|
||||
lbtelegramImage: cfg.LBTelegramImage,
|
||||
baseDomain: cfg.DemoDomain,
|
||||
helmPath: helmPath,
|
||||
cfg: cfg,
|
||||
k8sClient: k8sClient,
|
||||
restConfig: restConfig,
|
||||
metricsClient: metricsClient,
|
||||
dynamicClient: dynamicClient,
|
||||
chartsDir: chartsDir,
|
||||
vitrineChartsDir: cfg.VitrineChartsDir,
|
||||
frontendImage: cfg.FrontendImage,
|
||||
backendImage: cfg.BackendImage,
|
||||
lbtelegramImage: cfg.LBTelegramImage,
|
||||
baseDomain: cfg.DemoDomain,
|
||||
helmPath: helmPath,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -843,10 +848,10 @@ func (h *HelmProvisioner) ensureDemoBackupSchedule(namespace string) error {
|
||||
"spec": map[string]interface{}{
|
||||
"schedule": "*/15 * * * *",
|
||||
"template": map[string]interface{}{
|
||||
"includedNamespaces": []interface{}{namespace},
|
||||
"includedNamespaces": []interface{}{namespace},
|
||||
"defaultVolumesToFsBackup": true,
|
||||
"storageLocation": "default",
|
||||
"ttl": "24h0m0s",
|
||||
"storageLocation": "default",
|
||||
"ttl": "24h0m0s",
|
||||
},
|
||||
},
|
||||
}}
|
||||
@@ -911,6 +916,13 @@ func (h *HelmProvisioner) deleteDemoBackups(namespace string) error {
|
||||
// avec des valeurs personnalisées. Release name : "<namespace>-<chartName>".
|
||||
// Adapté aux charts par démo (namespace toujours neuf).
|
||||
func (h *HelmProvisioner) installChart(namespace, chartName string, values map[string]interface{}) error {
|
||||
return h.installChartFrom(h.chartsDir, namespace, chartName, values)
|
||||
}
|
||||
|
||||
// installChartFrom : comme installChart, avec un dossier de charts explicite
|
||||
// (charts des démos : h.chartsDir ; charts des projets vitrine :
|
||||
// h.vitrineChartsDir).
|
||||
func (h *HelmProvisioner) installChartFrom(chartsDir, namespace, chartName string, values map[string]interface{}) error {
|
||||
release := fmt.Sprintf("%s-%s", namespace, chartName)
|
||||
valuesFile, cleanup, err := h.writeValuesFile(namespace, chartName, values)
|
||||
if err != nil {
|
||||
@@ -921,7 +933,7 @@ func (h *HelmProvisioner) installChart(namespace, chartName string, values map[s
|
||||
args := []string{
|
||||
"install",
|
||||
release,
|
||||
filepath.Join(h.chartsDir, chartName),
|
||||
filepath.Join(chartsDir, chartName),
|
||||
"--namespace", namespace,
|
||||
"--values", valuesFile,
|
||||
"--wait",
|
||||
|
||||
Reference in New Issue
Block a user