package helm_client import ( "context" "kube-forge/internal/config" "kube-forge/internal/logging" go_helm_client "github.com/mittwald/go-helm-client" ) func InstallChart(chartSpec go_helm_client.ChartSpec) { helmClient := config.GetHelmClient(chartSpec.Namespace) _, error := helmClient.GetRelease(chartSpec.ReleaseName) if error != nil { logging.Log.Infof("Installing %s", chartSpec.ChartName) } else { logging.Log.Infof("Upgrading %s", chartSpec.ChartName) } if _, err := helmClient.InstallOrUpgradeChart(context.Background(), &chartSpec, nil); err != nil { panic(err) } } func DeleteChart(chartSpec go_helm_client.ChartSpec) { helmClient := config.GetHelmClient(chartSpec.Namespace) _, error := helmClient.GetRelease(chartSpec.ReleaseName) if error != nil { return } logging.Log.Warnf("Uninstalling %s", chartSpec.ChartName) helmClient.UninstallRelease(&chartSpec) }