From 0487bc97775da7169595700630c4694649274187 Mon Sep 17 00:00:00 2001 From: share2kanna Date: Fri, 14 Jun 2024 22:55:40 +0530 Subject: [PATCH 1/7] hard coded repo name to tools --- capten/agent/internal/api/app_config_sso.go | 1 + 1 file changed, 1 insertion(+) diff --git a/capten/agent/internal/api/app_config_sso.go b/capten/agent/internal/api/app_config_sso.go index 556868e2..6038a4d1 100644 --- a/capten/agent/internal/api/app_config_sso.go +++ b/capten/agent/internal/api/app_config_sso.go @@ -55,6 +55,7 @@ func (a *Agent) ConfigureAppSSO(ctx context.Context, ssoOverwriteBytes, _ := yaml.Marshal(ssoOverwriteMapping) overrideValuesBytes, _ := yaml.Marshal(overrideValuesMapping) + appConfig.Config.RepoName = "tools" updateAppConfig, marshaledOverrideValues, err := populateTemplateValues(appConfig, overrideValuesBytes, ssoOverwriteBytes, a.log) if err != nil { a.log.Errorf("failed to populate template values for app %s, %v", req.ReleaseName, err) From 4efca2cd65dc57a5dab5c96a74a5ce456d3cac77 Mon Sep 17 00:00:00 2001 From: share2kanna Date: Fri, 14 Jun 2024 23:24:49 +0530 Subject: [PATCH 2/7] added column in structure --- capten/common-pkg/capten-store/model.go | 1 + 1 file changed, 1 insertion(+) diff --git a/capten/common-pkg/capten-store/model.go b/capten/common-pkg/capten-store/model.go index 92020cc8..cf611db5 100644 --- a/capten/common-pkg/capten-store/model.go +++ b/capten/common-pkg/capten-store/model.go @@ -92,6 +92,7 @@ type ClusterAppConfig struct { PluginStoreType int `json:"plugin_store_type" gorm:"column:plugin_store_type"` Category string `json:"category" gorm:"column:category"` Description string `json:"description" gorm:"column:description"` + RepoName string `json:"repo_name" gorm:"column:repo_name"` RepoURL string `json:"repo_url" gorm:"column:repo_url"` Version string `json:"version" gorm:"column:version"` Namespace string `json:"namespace" gorm:"column:namespace"` From 464c2dd5b6c36f0d01bd88a19e79f698ead4e296 Mon Sep 17 00:00:00 2001 From: share2kanna Date: Fri, 14 Jun 2024 23:28:17 +0530 Subject: [PATCH 3/7] update reponame --- capten/common-pkg/capten-store/app_config_store.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/capten/common-pkg/capten-store/app_config_store.go b/capten/common-pkg/capten-store/app_config_store.go index 9b8c1dd0..ddbb30fe 100644 --- a/capten/common-pkg/capten-store/app_config_store.go +++ b/capten/common-pkg/capten-store/app_config_store.go @@ -35,6 +35,7 @@ func (a *Store) UpsertAppConfig(appData *agentpb.SyncAppData) error { appConfig.Description = appData.Config.Description appConfig.Icon = appData.Config.Icon appConfig.AppName = appData.Config.ChartName + appConfig.RepoName = appData.Config.RepoName appConfig.RepoURL = appData.Config.RepoURL appConfig.Namespace = appData.Config.Namespace appConfig.PrivilegedNamespace = appData.Config.PrivilegedNamespace @@ -86,6 +87,7 @@ func (a *Store) GetAppConfig(appReleaseName string) (*agentpb.SyncAppData, error Description: appConfig.Description, Icon: appConfig.Icon, ChartName: appConfig.AppName, + RepoName: appConfig.RepoName, RepoURL: appConfig.RepoURL, Namespace: appConfig.Namespace, PrivilegedNamespace: appConfig.PrivilegedNamespace, @@ -136,6 +138,7 @@ func (a *Store) GetAllApps() ([]*agentpb.SyncAppData, error) { Description: ac.Description, Icon: ac.Icon, ChartName: ac.AppName, + RepoName: ac.RepoName, RepoURL: ac.RepoURL, Namespace: ac.Namespace, PrivilegedNamespace: ac.PrivilegedNamespace, From 3938b09bd3b2904d53ba01609c75ecc7d23d49fb Mon Sep 17 00:00:00 2001 From: share2kanna Date: Fri, 14 Jun 2024 23:49:31 +0530 Subject: [PATCH 4/7] Removed the db modifications and repoName prepared from appName and charName --- capten/agent/internal/api/app_config_sso.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/capten/agent/internal/api/app_config_sso.go b/capten/agent/internal/api/app_config_sso.go index 6038a4d1..85cea065 100644 --- a/capten/agent/internal/api/app_config_sso.go +++ b/capten/agent/internal/api/app_config_sso.go @@ -2,6 +2,7 @@ package api import ( "context" + "strings" "github.com/kube-tarian/kad/capten/common-pkg/credential" "github.com/kube-tarian/kad/capten/common-pkg/pb/agentpb" @@ -24,6 +25,8 @@ func (a *Agent) ConfigureAppSSO(ctx context.Context, }, nil } + a.prepareRepoName(appConfig) + if err := credential.StoreAppOauthCredential(ctx, req.ReleaseName, req.ClientId, req.ClientSecret); err != nil { a.log.Errorf("failed to store oauth credential for app %s, %v", req.ReleaseName, err) return &agentpb.ConfigureAppSSOResponse{ @@ -55,7 +58,6 @@ func (a *Agent) ConfigureAppSSO(ctx context.Context, ssoOverwriteBytes, _ := yaml.Marshal(ssoOverwriteMapping) overrideValuesBytes, _ := yaml.Marshal(overrideValuesMapping) - appConfig.Config.RepoName = "tools" updateAppConfig, marshaledOverrideValues, err := populateTemplateValues(appConfig, overrideValuesBytes, ssoOverwriteBytes, a.log) if err != nil { a.log.Errorf("failed to populate template values for app %s, %v", req.ReleaseName, err) @@ -84,6 +86,16 @@ func (a *Agent) ConfigureAppSSO(ctx context.Context, }, nil } +func (a *Agent) prepareRepoName(appConfig *agentpb.SyncAppData) { + repoInfo := strings.Split(appConfig.Config.AppName, "/") + + if len(repoInfo) != 2 { + a.log.Infof("App don't have repo name %s, using chartName as repoName", appConfig.Config.AppName) + repoInfo = []string{appConfig.Config.ChartName, appConfig.Config.AppName} + } + appConfig.Config.RepoName = repoInfo[0] +} + func (a *Agent) upgradeAppWithWorkflow(req *model.ApplicationInstallRequest, appConfig *agentpb.SyncAppData) { wd := workers.NewDeployment(a.tc, a.log) From 1b32e3d64561dfc61d557e78056f0e464015d6d0 Mon Sep 17 00:00:00 2001 From: share2kanna Date: Sat, 15 Jun 2024 00:00:19 +0530 Subject: [PATCH 5/7] removed table column repo_name changes --- capten/agent/internal/api/app_config_sso.go | 13 ------------- capten/agent/internal/api/app_values_util.go | 12 +++++++++++- capten/common-pkg/capten-store/app_config_store.go | 3 --- capten/common-pkg/capten-store/model.go | 1 - capten/common-pkg/pb/agentpb/agent.pb.go | 1 - .../internal/workflows/plugin_workflow.go | 1 - 6 files changed, 11 insertions(+), 20 deletions(-) diff --git a/capten/agent/internal/api/app_config_sso.go b/capten/agent/internal/api/app_config_sso.go index 85cea065..556868e2 100644 --- a/capten/agent/internal/api/app_config_sso.go +++ b/capten/agent/internal/api/app_config_sso.go @@ -2,7 +2,6 @@ package api import ( "context" - "strings" "github.com/kube-tarian/kad/capten/common-pkg/credential" "github.com/kube-tarian/kad/capten/common-pkg/pb/agentpb" @@ -25,8 +24,6 @@ func (a *Agent) ConfigureAppSSO(ctx context.Context, }, nil } - a.prepareRepoName(appConfig) - if err := credential.StoreAppOauthCredential(ctx, req.ReleaseName, req.ClientId, req.ClientSecret); err != nil { a.log.Errorf("failed to store oauth credential for app %s, %v", req.ReleaseName, err) return &agentpb.ConfigureAppSSOResponse{ @@ -86,16 +83,6 @@ func (a *Agent) ConfigureAppSSO(ctx context.Context, }, nil } -func (a *Agent) prepareRepoName(appConfig *agentpb.SyncAppData) { - repoInfo := strings.Split(appConfig.Config.AppName, "/") - - if len(repoInfo) != 2 { - a.log.Infof("App don't have repo name %s, using chartName as repoName", appConfig.Config.AppName) - repoInfo = []string{appConfig.Config.ChartName, appConfig.Config.AppName} - } - appConfig.Config.RepoName = repoInfo[0] -} - func (a *Agent) upgradeAppWithWorkflow(req *model.ApplicationInstallRequest, appConfig *agentpb.SyncAppData) { wd := workers.NewDeployment(a.tc, a.log) diff --git a/capten/agent/internal/api/app_values_util.go b/capten/agent/internal/api/app_values_util.go index 62a69013..9c3557a2 100644 --- a/capten/agent/internal/api/app_values_util.go +++ b/capten/agent/internal/api/app_values_util.go @@ -257,7 +257,7 @@ func deriveTemplateValues(overrideValues, templateValues []byte) ([]byte, error) func prepareAppDeployRequestFromSyncApp(data *agentpb.SyncAppData, values []byte) *model.ApplicationInstallRequest { return &model.ApplicationInstallRequest{ PluginName: "helm", - RepoName: data.Config.RepoName, + RepoName: prepareRepoName(data), RepoURL: data.Config.RepoURL, ChartName: data.Config.ChartName, Namespace: data.Config.Namespace, @@ -268,3 +268,13 @@ func prepareAppDeployRequestFromSyncApp(data *agentpb.SyncAppData, values []byte Timeout: 10, } } + +func prepareRepoName(appConfig *agentpb.SyncAppData) string { + repoInfo := strings.Split(appConfig.Config.AppName, "/") + + if len(repoInfo) != 2 { + // AppName don't have repo name, so using chartName as repoName + repoInfo = []string{appConfig.Config.ChartName, appConfig.Config.AppName} + } + return repoInfo[0] +} diff --git a/capten/common-pkg/capten-store/app_config_store.go b/capten/common-pkg/capten-store/app_config_store.go index ddbb30fe..9b8c1dd0 100644 --- a/capten/common-pkg/capten-store/app_config_store.go +++ b/capten/common-pkg/capten-store/app_config_store.go @@ -35,7 +35,6 @@ func (a *Store) UpsertAppConfig(appData *agentpb.SyncAppData) error { appConfig.Description = appData.Config.Description appConfig.Icon = appData.Config.Icon appConfig.AppName = appData.Config.ChartName - appConfig.RepoName = appData.Config.RepoName appConfig.RepoURL = appData.Config.RepoURL appConfig.Namespace = appData.Config.Namespace appConfig.PrivilegedNamespace = appData.Config.PrivilegedNamespace @@ -87,7 +86,6 @@ func (a *Store) GetAppConfig(appReleaseName string) (*agentpb.SyncAppData, error Description: appConfig.Description, Icon: appConfig.Icon, ChartName: appConfig.AppName, - RepoName: appConfig.RepoName, RepoURL: appConfig.RepoURL, Namespace: appConfig.Namespace, PrivilegedNamespace: appConfig.PrivilegedNamespace, @@ -138,7 +136,6 @@ func (a *Store) GetAllApps() ([]*agentpb.SyncAppData, error) { Description: ac.Description, Icon: ac.Icon, ChartName: ac.AppName, - RepoName: ac.RepoName, RepoURL: ac.RepoURL, Namespace: ac.Namespace, PrivilegedNamespace: ac.PrivilegedNamespace, diff --git a/capten/common-pkg/capten-store/model.go b/capten/common-pkg/capten-store/model.go index cf611db5..92020cc8 100644 --- a/capten/common-pkg/capten-store/model.go +++ b/capten/common-pkg/capten-store/model.go @@ -92,7 +92,6 @@ type ClusterAppConfig struct { PluginStoreType int `json:"plugin_store_type" gorm:"column:plugin_store_type"` Category string `json:"category" gorm:"column:category"` Description string `json:"description" gorm:"column:description"` - RepoName string `json:"repo_name" gorm:"column:repo_name"` RepoURL string `json:"repo_url" gorm:"column:repo_url"` Version string `json:"version" gorm:"column:version"` Namespace string `json:"namespace" gorm:"column:namespace"` diff --git a/capten/common-pkg/pb/agentpb/agent.pb.go b/capten/common-pkg/pb/agentpb/agent.pb.go index 2c141135..839f445f 100644 --- a/capten/common-pkg/pb/agentpb/agent.pb.go +++ b/capten/common-pkg/pb/agentpb/agent.pb.go @@ -1692,7 +1692,6 @@ type AppConfig struct { Category string `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"` Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` ChartName string `protobuf:"bytes,6,opt,name=chartName,proto3" json:"chartName,omitempty"` - RepoName string `protobuf:"bytes,7,opt,name=repoName,proto3" json:"repoName,omitempty"` RepoURL string `protobuf:"bytes,8,opt,name=repoURL,proto3" json:"repoURL,omitempty"` Namespace string `protobuf:"bytes,9,opt,name=namespace,proto3" json:"namespace,omitempty"` CreateNamespace bool `protobuf:"varint,10,opt,name=createNamespace,proto3" json:"createNamespace,omitempty"` diff --git a/capten/deployment-worker/internal/workflows/plugin_workflow.go b/capten/deployment-worker/internal/workflows/plugin_workflow.go index 68233701..9268fd52 100644 --- a/capten/deployment-worker/internal/workflows/plugin_workflow.go +++ b/capten/deployment-worker/internal/workflows/plugin_workflow.go @@ -232,7 +232,6 @@ func executeAppDeployment( Category: req.Category, Description: req.Description, ChartName: req.ChartName + "/" + req.ChartName, - RepoName: req.ChartName, RepoURL: req.ChartRepo, Namespace: req.DefaultNamespace, CreateNamespace: true, From 7d019945d7734081efae5587e1504f3f94791e53 Mon Sep 17 00:00:00 2001 From: share2kanna Date: Sat, 15 Jun 2024 00:03:46 +0530 Subject: [PATCH 6/7] reverted the changes for pb --- capten/common-pkg/pb/agentpb/agent.pb.go | 1 + capten/deployment-worker/internal/workflows/plugin_workflow.go | 1 + 2 files changed, 2 insertions(+) diff --git a/capten/common-pkg/pb/agentpb/agent.pb.go b/capten/common-pkg/pb/agentpb/agent.pb.go index 839f445f..2c141135 100644 --- a/capten/common-pkg/pb/agentpb/agent.pb.go +++ b/capten/common-pkg/pb/agentpb/agent.pb.go @@ -1692,6 +1692,7 @@ type AppConfig struct { Category string `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"` Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` ChartName string `protobuf:"bytes,6,opt,name=chartName,proto3" json:"chartName,omitempty"` + RepoName string `protobuf:"bytes,7,opt,name=repoName,proto3" json:"repoName,omitempty"` RepoURL string `protobuf:"bytes,8,opt,name=repoURL,proto3" json:"repoURL,omitempty"` Namespace string `protobuf:"bytes,9,opt,name=namespace,proto3" json:"namespace,omitempty"` CreateNamespace bool `protobuf:"varint,10,opt,name=createNamespace,proto3" json:"createNamespace,omitempty"` diff --git a/capten/deployment-worker/internal/workflows/plugin_workflow.go b/capten/deployment-worker/internal/workflows/plugin_workflow.go index 9268fd52..68233701 100644 --- a/capten/deployment-worker/internal/workflows/plugin_workflow.go +++ b/capten/deployment-worker/internal/workflows/plugin_workflow.go @@ -232,6 +232,7 @@ func executeAppDeployment( Category: req.Category, Description: req.Description, ChartName: req.ChartName + "/" + req.ChartName, + RepoName: req.ChartName, RepoURL: req.ChartRepo, Namespace: req.DefaultNamespace, CreateNamespace: true, From 0b210cb44a569d5ace1d29573dd840eda4fa7a85 Mon Sep 17 00:00:00 2001 From: share2kanna Date: Sat, 15 Jun 2024 00:14:55 +0530 Subject: [PATCH 7/7] While preparing we are using chartName and appName interchange --- capten/agent/internal/api/app_values_util.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/capten/agent/internal/api/app_values_util.go b/capten/agent/internal/api/app_values_util.go index 9c3557a2..65e14652 100644 --- a/capten/agent/internal/api/app_values_util.go +++ b/capten/agent/internal/api/app_values_util.go @@ -270,11 +270,11 @@ func prepareAppDeployRequestFromSyncApp(data *agentpb.SyncAppData, values []byte } func prepareRepoName(appConfig *agentpb.SyncAppData) string { - repoInfo := strings.Split(appConfig.Config.AppName, "/") + repoInfo := strings.Split(appConfig.Config.ChartName, "/") if len(repoInfo) != 2 { // AppName don't have repo name, so using chartName as repoName - repoInfo = []string{appConfig.Config.ChartName, appConfig.Config.AppName} + repoInfo = []string{appConfig.Config.ChartName, appConfig.Config.ChartName} } return repoInfo[0] }