From 1dbb32971a4b75c87449fe2ed8b9618e17b47b1c Mon Sep 17 00:00:00 2001 From: Evgheni Poleacov Date: Thu, 16 May 2024 18:53:42 +0300 Subject: [PATCH] filter previous version existing configuration on apply --- internal/configuration/apply.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/internal/configuration/apply.go b/internal/configuration/apply.go index b61eae4..6592bef 100644 --- a/internal/configuration/apply.go +++ b/internal/configuration/apply.go @@ -1,6 +1,8 @@ package configuration import ( + "strings" + "github.com/charmbracelet/log" "k8s.io/client-go/rest" @@ -29,8 +31,18 @@ func ApplyConfiguration(Link string, config *rest.Config, logger *log.Logger) { } } else { configs := release.Config["configuration"].(map[string]interface{}) + filteredConfigs := []string{} + linkName, _, _ := strings.Cut(Link, ":") + + for _, packageLink := range configs["packages"].([]interface{}) { + packageName, _, _ := strings.Cut(packageLink.(string), ":") + if packageName != linkName { + filteredConfigs = append(filteredConfigs, packageLink.(string)) + } + } + configs["packages"] = append( - configs["packages"].([]interface{}), + filteredConfigs, Link, ) release.Config["configuration"] = configs @@ -40,6 +52,6 @@ func ApplyConfiguration(Link string, config *rest.Config, logger *log.Logger) { if err != nil { logger.Errorf(" %v\n", err) } else { - logger.Info("Configuration applied successfully.") + logger.Infof("Configuration %s applied successfully.", Link) } }