From 23d60e8bf8f5845cffaccaa7b5a054331834b94c Mon Sep 17 00:00:00 2001 From: ayu-devtron Date: Tue, 5 Nov 2024 17:44:19 +0530 Subject: [PATCH 1/7] separate out environment pkg --- api/cluster/ClusterRestHandler.go | 31 ++- api/cluster/EnvironmentRestHandler.go | 7 +- api/cluster/wire_cluster.go | 27 +- api/helm-app/service/HelmAppService.go | 8 +- api/k8s/capacity/k8sCapacityRestHandler.go | 15 +- api/restHandler/BulkUpdateRestHandler.go | 2 +- api/restHandler/CoreAppRestHandler.go | 2 +- api/restHandler/ImageScanRestHandler.go | 6 +- api/restHandler/NotificationRestHandler.go | 6 +- api/restHandler/PolicyRestHandler.go | 6 +- .../app/appList/AppFilteringRestHandler.go | 14 +- .../app/appList/AppListingRestHandler.go | 6 +- .../app/pipeline/AutoCompleteRestHandler.go | 6 +- client/events/EventBuilder.go | 2 +- client/telemetry/TelemetryEventClient.go | 3 +- .../telemetry/TelemetryEventClientExtended.go | 5 +- cmd/external-app/wire_gen.go | 9 +- .../sql/repository/AppListingRepository.go | 2 +- .../EnvConfigOverrideRepository.go | 2 +- .../pipelineConfig/CiPipelineRepository.go | 2 +- .../pipelineConfig/PipelineRepository.go | 2 +- pkg/app/AppListingService.go | 2 +- .../AppServiceDeployment_test.go | 2 +- pkg/appClone/batch/DataHolder.go | 8 +- pkg/appClone/batch/DataHolder_test.go | 4 +- pkg/appClone/batch/Deployment.go | 8 +- pkg/appClone/batch/Mocks_test.go | 8 +- pkg/appStore/adapter/Adapter.go | 2 +- pkg/appStore/bean/bean.go | 2 +- pkg/appStore/chartGroup/ChartGroupService.go | 9 +- .../repository/InstalledAppRepository.go | 2 +- .../service/AppStoreDeploymentDBService.go | 9 +- .../service/AppStoreDeploymentService.go | 6 +- .../service/AppStoreDeploymentService_test.go | 6 +- .../installedApp/service/AppStoreValidator.go | 2 +- .../service/EAMode/InstalledAppDBService.go | 6 +- .../deployment/FullModeDeploymentService.go | 2 +- .../deployment/InstalledAppArgoCdService.go | 2 +- ...InstalledAppDeploymentTypeChangeService.go | 5 +- pkg/argoApplication/ArgoApplicationService.go | 4 +- .../read/ArgoApplicationReadService.go | 6 +- pkg/bulkAction/BulkUpdateService.go | 2 +- pkg/chart/ChartService.go | 2 +- pkg/chartRepo/Mock_test.go | 30 +-- pkg/cluster/ClusterService.go | 241 ++++++------------ pkg/cluster/ClusterServiceExtended.go | 23 +- pkg/cluster/ClusterService_test.go | 7 +- pkg/cluster/adapter/Adapter.go | 29 ++- pkg/cluster/bean/bean.go | 77 ++++++ pkg/cluster/mocks/ClusterService.go | 144 +++++------ pkg/cluster/{ => rbac}/ClusterRbacService.go | 12 +- .../repository/mocks/EnvironmentRepository.go | 3 +- .../UserTerminalAccessServiceIT_test.go | 3 +- pkg/commonService/CommonService.go | 2 +- .../DeploymentConfigurationService.go | 2 +- pkg/delete/DeleteService.go | 16 +- pkg/delete/DeleteServiceExtended.go | 10 +- .../deployedApp/DeployedAppService.go | 2 +- .../manifest/ManifestCreationService.go | 2 +- .../devtronApps/PreStageTriggerService.go | 2 +- .../trigger/devtronApps/TriggerService.go | 2 +- pkg/deploymentGroup/DeploymentGroupService.go | 2 +- .../DockerRegistryIpsConfigService.go | 2 +- .../EnvironmentService.go | 22 +- .../EnvironmentService_test.go | 19 +- .../EnvironmentUtil.go | 2 +- .../repository => environment}/bean/bean.go | 0 .../repository/EnvironmentRepository.go | 3 +- .../DeploymentTemplateService.go | 2 +- pkg/generateManifest/helper.go | 2 +- pkg/genericNotes/GenericNoteServiceIT_test.go | 6 +- pkg/k8s/K8sCommonService.go | 11 +- .../application/k8sApplicationService_test.go | 32 +-- .../mocks/K8sApplicationService.go | 3 +- pkg/k8s/capacity/k8sCapacityService.go | 20 +- .../kubernetesResourceHistoryService.go | 2 +- pkg/notifier/NotificationConfigService.go | 2 +- pkg/pipeline/CdHandler.go | 12 +- pkg/pipeline/CiCdPipelineOrchestrator.go | 2 +- pkg/pipeline/CiCdPipelineOrchestrator_test.go | 2 +- pkg/pipeline/CiHandler.go | 15 +- pkg/pipeline/CiService.go | 2 +- pkg/pipeline/ConfigMapService.go | 2 +- pkg/pipeline/ConfigMapService_test.go | 2 +- .../DeploymentPipelineConfigService.go | 13 +- pkg/pipeline/ImageTaggingService.go | 2 +- pkg/pipeline/ImageTaggingService_test.go | 2 +- pkg/pipeline/PipelineStageServiceIT_test.go | 2 +- pkg/pipeline/PropertiesConfig.go | 2 +- pkg/pipeline/WorkflowService.go | 2 +- pkg/pipeline/WorkflowServiceIT_test.go | 5 +- pkg/pipeline/mock_pipeline/PipelineBuilder.go | 2 +- pkg/pipeline/types/CiCdConfig.go | 2 +- pkg/pipeline/types/Workflow.go | 2 +- pkg/security/ImageScanService.go | 8 +- pkg/security/policyService.go | 5 +- pkg/terminal/terminalSesion.go | 8 +- pkg/variables/ScopedVariableService.go | 3 +- pkg/workflow/status/WorkflowStatusService.go | 2 +- util/rbac/EnforcerUtil.go | 9 +- wire_gen.go | 9 +- 101 files changed, 589 insertions(+), 525 deletions(-) create mode 100644 pkg/cluster/bean/bean.go rename pkg/cluster/{ => rbac}/ClusterRbacService.go (91%) rename pkg/{cluster => environment}/EnvironmentService.go (97%) rename pkg/{cluster => environment}/EnvironmentService_test.go (91%) rename pkg/{cluster => environment}/EnvironmentUtil.go (97%) rename pkg/{cluster/repository => environment}/bean/bean.go (100%) rename pkg/{cluster => environment}/repository/EnvironmentRepository.go (99%) diff --git a/api/cluster/ClusterRestHandler.go b/api/cluster/ClusterRestHandler.go index 9eac24b6d9..3f4f90eed2 100644 --- a/api/cluster/ClusterRestHandler.go +++ b/api/cluster/ClusterRestHandler.go @@ -20,6 +20,9 @@ import ( "context" "encoding/json" "errors" + bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean" + "github.com/devtron-labs/devtron/pkg/cluster/rbac" + "github.com/devtron-labs/devtron/pkg/environment" "net/http" "strconv" "time" @@ -69,8 +72,8 @@ type ClusterRestHandlerImpl struct { enforcer casbin.Enforcer deleteService delete2.DeleteService argoUserService argo.ArgoUserService - environmentService cluster.EnvironmentService - clusterRbacService cluster.ClusterRbacService + environmentService environment.EnvironmentService + clusterRbacService rbac.ClusterRbacService } func NewClusterRestHandlerImpl(clusterService cluster.ClusterService, @@ -82,8 +85,8 @@ func NewClusterRestHandlerImpl(clusterService cluster.ClusterService, enforcer casbin.Enforcer, deleteService delete2.DeleteService, argoUserService argo.ArgoUserService, - environmentService cluster.EnvironmentService, - clusterRbacService cluster.ClusterRbacService) *ClusterRestHandlerImpl { + environmentService environment.EnvironmentService, + clusterRbacService rbac.ClusterRbacService) *ClusterRestHandlerImpl { return &ClusterRestHandlerImpl{ clusterService: clusterService, clusterNoteService: clusterNoteService, @@ -107,7 +110,7 @@ func (impl ClusterRestHandlerImpl) SaveClusters(w http.ResponseWriter, r *http.R common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - beans := []*cluster.ClusterBean{} + beans := []*bean2.ClusterBean{} err = decoder.Decode(&beans) if err != nil { impl.logger.Errorw("request err, Save", "error", err, "payload", beans) @@ -178,7 +181,7 @@ func (impl ClusterRestHandlerImpl) Save(w http.ResponseWriter, r *http.Request) common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - bean := new(cluster.ClusterBean) + bean := new(bean2.ClusterBean) err = decoder.Decode(bean) if err != nil { impl.logger.Errorw("request err, Save", "error", err, "payload", bean) @@ -247,7 +250,7 @@ func (impl ClusterRestHandlerImpl) ValidateKubeconfig(w http.ResponseWriter, r * common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - bean := &cluster.Kubeconfig{} + bean := &bean2.Kubeconfig{} err = decoder.Decode(bean) if err != nil { impl.logger.Errorw("request err, Validate", "error", err, "payload", bean) @@ -309,7 +312,7 @@ func (impl ClusterRestHandlerImpl) FindAll(w http.ResponseWriter, r *http.Reques } // RBAC enforcer applying - var result []*cluster.ClusterBean + var result []*bean2.ClusterBean for _, item := range clusterList { if ok := impl.enforcer.Enforce(token, casbin.ResourceCluster, casbin.ActionGet, item.ClusterName); ok { result = append(result, item) @@ -397,7 +400,7 @@ func (impl ClusterRestHandlerImpl) Update(w http.ResponseWriter, r *http.Request common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - var bean cluster.ClusterBean + var bean bean2.ClusterBean err = decoder.Decode(&bean) if err != nil { impl.logger.Errorw("request err, Update", "error", err, "payload", bean) @@ -458,7 +461,7 @@ func (impl ClusterRestHandlerImpl) UpdateClusterDescription(w http.ResponseWrite common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - var bean cluster.ClusterBean + var bean bean2.ClusterBean err = decoder.Decode(&bean) if err != nil { impl.logger.Errorw("request err, UpdateClusterDescription", "error", err, "payload", bean) @@ -544,7 +547,7 @@ func (impl ClusterRestHandlerImpl) FindAllForAutoComplete(w http.ResponseWriter, common.WriteJsonResp(w, err, nil, http.StatusInternalServerError) return } - var result []cluster.ClusterBean + var result []bean2.ClusterBean v := r.URL.Query() authEnabled := true auth := v.Get("auth") @@ -573,7 +576,7 @@ func (impl ClusterRestHandlerImpl) FindAllForAutoComplete(w http.ResponseWriter, //RBAC enforcer Ends if len(result) == 0 { - result = make([]cluster.ClusterBean, 0) + result = make([]bean2.ClusterBean, 0) } common.WriteJsonResp(w, err, result, http.StatusOK) } @@ -586,7 +589,7 @@ func (impl ClusterRestHandlerImpl) DeleteCluster(w http.ResponseWriter, r *http. common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - var bean cluster.ClusterBean + var bean bean2.ClusterBean err = decoder.Decode(&bean) if err != nil { impl.logger.Errorw("request err, Delete", "error", err, "payload", bean) @@ -688,7 +691,7 @@ func (impl ClusterRestHandlerImpl) FindAllForClusterPermission(w http.ResponseWr if len(clusterList) == 0 { // assumption is that if list is empty, then it can happen only in case of Unauthorized (but not sending Unauthorized for super-admin user) if isActionUserSuperAdmin { - clusterList = make([]cluster.ClusterBean, 0) + clusterList = make([]bean2.ClusterBean, 0) } else { common.WriteJsonResp(w, errors.New("unauthorized"), nil, http.StatusForbidden) return diff --git a/api/cluster/EnvironmentRestHandler.go b/api/cluster/EnvironmentRestHandler.go index 081dab38f7..17109ec8dd 100644 --- a/api/cluster/EnvironmentRestHandler.go +++ b/api/cluster/EnvironmentRestHandler.go @@ -19,7 +19,9 @@ package cluster import ( "context" "encoding/json" - bean2 "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + bean3 "github.com/devtron-labs/devtron/pkg/cluster/bean" + request "github.com/devtron-labs/devtron/pkg/environment" + bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "net/http" "strconv" "strings" @@ -35,7 +37,6 @@ import ( "github.com/devtron-labs/devtron/api/bean" "github.com/devtron-labs/devtron/api/restHandler/common" - request "github.com/devtron-labs/devtron/pkg/cluster" delete2 "github.com/devtron-labs/devtron/pkg/delete" "github.com/gorilla/mux" "github.com/pkg/errors" @@ -516,6 +517,6 @@ func (impl EnvironmentRestHandlerImpl) GetEnvironmentConnection(w http.ResponseW //updating the cluster connection error to db mapObj := &sync.Map{} mapObj.Store(clusterBean.Id, err) - impl.environmentClusterMappingsService.HandleErrorInClusterConnections([]*request.ClusterBean{clusterBean}, mapObj, true) + impl.environmentClusterMappingsService.HandleErrorInClusterConnections([]*bean3.ClusterBean{clusterBean}, mapObj, true) common.WriteJsonResp(w, nil, responseObj, http.StatusOK) } diff --git a/api/cluster/wire_cluster.go b/api/cluster/wire_cluster.go index bbfa050f87..25df934798 100644 --- a/api/cluster/wire_cluster.go +++ b/api/cluster/wire_cluster.go @@ -18,7 +18,10 @@ package cluster import ( "github.com/devtron-labs/devtron/pkg/cluster" + "github.com/devtron-labs/devtron/pkg/cluster/rbac" "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/environment" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/genericNotes" repository2 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" "github.com/google/wire" @@ -33,8 +36,8 @@ var ClusterWireSet = wire.NewSet( cluster.NewClusterServiceImplExtended, wire.Bind(new(cluster.ClusterService), new(*cluster.ClusterServiceImplExtended)), - cluster.NewClusterRbacServiceImpl, - wire.Bind(new(cluster.ClusterRbacService), new(*cluster.ClusterRbacServiceImpl)), + rbac.NewClusterRbacServiceImpl, + wire.Bind(new(rbac.ClusterRbacService), new(*rbac.ClusterRbacServiceImpl)), repository.NewClusterDescriptionRepositoryImpl, wire.Bind(new(repository.ClusterDescriptionRepository), new(*repository.ClusterDescriptionRepositoryImpl)), @@ -54,10 +57,10 @@ var ClusterWireSet = wire.NewSet( NewClusterRouterImpl, wire.Bind(new(ClusterRouter), new(*ClusterRouterImpl)), - repository.NewEnvironmentRepositoryImpl, - wire.Bind(new(repository.EnvironmentRepository), new(*repository.EnvironmentRepositoryImpl)), - cluster.NewEnvironmentServiceImpl, - wire.Bind(new(cluster.EnvironmentService), new(*cluster.EnvironmentServiceImpl)), + repository3.NewEnvironmentRepositoryImpl, + wire.Bind(new(repository3.EnvironmentRepository), new(*repository3.EnvironmentRepositoryImpl)), + environment.NewEnvironmentServiceImpl, + wire.Bind(new(environment.EnvironmentService), new(*environment.EnvironmentServiceImpl)), NewEnvironmentRestHandlerImpl, wire.Bind(new(EnvironmentRestHandler), new(*EnvironmentRestHandlerImpl)), NewEnvironmentRouterImpl, @@ -68,8 +71,8 @@ var ClusterWireSet = wire.NewSet( var ClusterWireSetEa = wire.NewSet( repository.NewClusterRepositoryImpl, wire.Bind(new(repository.ClusterRepository), new(*repository.ClusterRepositoryImpl)), - cluster.NewClusterRbacServiceImpl, - wire.Bind(new(cluster.ClusterRbacService), new(*cluster.ClusterRbacServiceImpl)), + rbac.NewClusterRbacServiceImpl, + wire.Bind(new(rbac.ClusterRbacService), new(*rbac.ClusterRbacServiceImpl)), cluster.NewClusterServiceImpl, wire.Bind(new(cluster.ClusterService), new(*cluster.ClusterServiceImpl)), @@ -90,10 +93,10 @@ var ClusterWireSetEa = wire.NewSet( wire.Bind(new(ClusterRestHandler), new(*ClusterRestHandlerImpl)), NewClusterRouterImpl, wire.Bind(new(ClusterRouter), new(*ClusterRouterImpl)), - repository.NewEnvironmentRepositoryImpl, - wire.Bind(new(repository.EnvironmentRepository), new(*repository.EnvironmentRepositoryImpl)), - cluster.NewEnvironmentServiceImpl, - wire.Bind(new(cluster.EnvironmentService), new(*cluster.EnvironmentServiceImpl)), + repository3.NewEnvironmentRepositoryImpl, + wire.Bind(new(repository3.EnvironmentRepository), new(*repository3.EnvironmentRepositoryImpl)), + environment.NewEnvironmentServiceImpl, + wire.Bind(new(environment.EnvironmentService), new(*environment.EnvironmentServiceImpl)), NewEnvironmentRestHandlerImpl, wire.Bind(new(EnvironmentRestHandler), new(*EnvironmentRestHandlerImpl)), NewEnvironmentRouterImpl, diff --git a/api/helm-app/service/HelmAppService.go b/api/helm-app/service/HelmAppService.go index 697beda4b2..9287388407 100644 --- a/api/helm-app/service/HelmAppService.go +++ b/api/helm-app/service/HelmAppService.go @@ -28,6 +28,8 @@ import ( helmBean "github.com/devtron-labs/devtron/api/helm-app/service/bean" "github.com/devtron-labs/devtron/internal/constants" repository2 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" + bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean" + "github.com/devtron-labs/devtron/pkg/environment" "github.com/go-pg/pg" "net/http" "reflect" @@ -102,7 +104,7 @@ type HelmAppServiceImpl struct { serverDataStore *serverDataStore.ServerDataStore serverEnvConfig *serverEnvConfig.ServerEnvConfig appStoreApplicationVersionRepository appStoreDiscoverRepository.AppStoreApplicationVersionRepository - environmentService cluster.EnvironmentService + environmentService environment.EnvironmentService pipelineRepository pipelineConfig.PipelineRepository installedAppRepository repository.InstalledAppRepository appRepository app.AppRepository @@ -115,7 +117,7 @@ func NewHelmAppServiceImpl(Logger *zap.SugaredLogger, clusterService cluster.Clu helmAppClient gRPC.HelmAppClient, pump connector.Pump, enforcerUtil rbac.EnforcerUtilHelm, serverDataStore *serverDataStore.ServerDataStore, serverEnvConfig *serverEnvConfig.ServerEnvConfig, appStoreApplicationVersionRepository appStoreDiscoverRepository.AppStoreApplicationVersionRepository, - environmentService cluster.EnvironmentService, pipelineRepository pipelineConfig.PipelineRepository, + environmentService environment.EnvironmentService, pipelineRepository pipelineConfig.PipelineRepository, installedAppRepository repository.InstalledAppRepository, appRepository app.AppRepository, clusterRepository clusterRepository.ClusterRepository, K8sUtil *k8s.K8sServiceImpl, helmReleaseConfig *HelmReleaseConfig) *HelmAppServiceImpl { @@ -602,7 +604,7 @@ func (impl *HelmAppServiceImpl) DeleteApplication(ctx context.Context, app *helm return response, nil } -func (impl *HelmAppServiceImpl) checkIfNsExists(namespace string, clusterBean *cluster.ClusterBean) (bool, error) { +func (impl *HelmAppServiceImpl) checkIfNsExists(namespace string, clusterBean *bean2.ClusterBean) (bool, error) { config := clusterBean.GetClusterConfig() v12Client, err := impl.K8sUtil.GetCoreV1Client(config) diff --git a/api/k8s/capacity/k8sCapacityRestHandler.go b/api/k8s/capacity/k8sCapacityRestHandler.go index 25e00acf27..f2d0199e2c 100644 --- a/api/k8s/capacity/k8sCapacityRestHandler.go +++ b/api/k8s/capacity/k8sCapacityRestHandler.go @@ -21,6 +21,9 @@ import ( "errors" "fmt" "github.com/devtron-labs/common-lib/utils" + bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean" + "github.com/devtron-labs/devtron/pkg/cluster/rbac" + "github.com/devtron-labs/devtron/pkg/environment" "github.com/devtron-labs/devtron/pkg/k8s" "net/http" "strconv" @@ -53,16 +56,16 @@ type K8sCapacityRestHandlerImpl struct { userService user.UserService enforcer casbin.Enforcer clusterService cluster.ClusterService - environmentService cluster.EnvironmentService - clusterRbacService cluster.ClusterRbacService + environmentService environment.EnvironmentService + clusterRbacService rbac.ClusterRbacService } func NewK8sCapacityRestHandlerImpl(logger *zap.SugaredLogger, k8sCapacityService capacity.K8sCapacityService, userService user.UserService, enforcer casbin.Enforcer, clusterService cluster.ClusterService, - environmentService cluster.EnvironmentService, - clusterRbacService cluster.ClusterRbacService) *K8sCapacityRestHandlerImpl { + environmentService environment.EnvironmentService, + clusterRbacService rbac.ClusterRbacService) *K8sCapacityRestHandlerImpl { return &K8sCapacityRestHandlerImpl{ logger: logger, k8sCapacityService: k8sCapacityService, @@ -88,7 +91,7 @@ func (handler *K8sCapacityRestHandlerImpl) GetClusterListRaw(w http.ResponseWrit return } // RBAC enforcer applying - var authenticatedClusters []*cluster.ClusterBean + var authenticatedClusters []*bean2.ClusterBean var clusterDetailList []*bean.ClusterCapacityDetail for _, cluster := range clusters { authenticated, err := handler.clusterRbacService.CheckAuthorization(cluster.ClusterName, cluster.Id, token, userId, true) @@ -128,7 +131,7 @@ func (handler *K8sCapacityRestHandlerImpl) GetClusterListWithDetail(w http.Respo return } // RBAC enforcer applying - var authenticatedClusters []*cluster.ClusterBean + var authenticatedClusters []*bean2.ClusterBean for _, cluster := range clusters { authenticated, err := handler.clusterRbacService.CheckAuthorization(cluster.ClusterName, cluster.Id, token, userId, true) if err != nil { diff --git a/api/restHandler/BulkUpdateRestHandler.go b/api/restHandler/BulkUpdateRestHandler.go index d3e607d486..e6ba7104fc 100644 --- a/api/restHandler/BulkUpdateRestHandler.go +++ b/api/restHandler/BulkUpdateRestHandler.go @@ -20,6 +20,7 @@ import ( "context" "encoding/json" "fmt" + request "github.com/devtron-labs/devtron/pkg/environment" "net/http" "strconv" "strings" @@ -36,7 +37,6 @@ import ( "github.com/devtron-labs/devtron/pkg/auth/user" "github.com/devtron-labs/devtron/pkg/bulkAction" "github.com/devtron-labs/devtron/pkg/chart" - request "github.com/devtron-labs/devtron/pkg/cluster" "github.com/devtron-labs/devtron/pkg/pipeline" security2 "github.com/devtron-labs/devtron/pkg/security" "github.com/devtron-labs/devtron/pkg/team" diff --git a/api/restHandler/CoreAppRestHandler.go b/api/restHandler/CoreAppRestHandler.go index efac704651..5be26534e6 100644 --- a/api/restHandler/CoreAppRestHandler.go +++ b/api/restHandler/CoreAppRestHandler.go @@ -22,6 +22,7 @@ import ( "errors" "fmt" app2 "github.com/devtron-labs/devtron/api/restHandler/app/pipeline/configure" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/pipeline/bean/CiPipeline" "net/http" "strconv" @@ -43,7 +44,6 @@ import ( "github.com/devtron-labs/devtron/pkg/bean" "github.com/devtron-labs/devtron/pkg/chart" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/pipeline" bean2 "github.com/devtron-labs/devtron/pkg/pipeline/bean" "github.com/devtron-labs/devtron/pkg/sql" diff --git a/api/restHandler/ImageScanRestHandler.go b/api/restHandler/ImageScanRestHandler.go index eded4a3de4..dc5b7c5f91 100644 --- a/api/restHandler/ImageScanRestHandler.go +++ b/api/restHandler/ImageScanRestHandler.go @@ -19,6 +19,7 @@ package restHandler import ( "encoding/json" "fmt" + "github.com/devtron-labs/devtron/pkg/environment" securityBean "github.com/devtron-labs/devtron/pkg/security/bean" "net/http" "strconv" @@ -28,7 +29,6 @@ import ( "github.com/devtron-labs/devtron/internal/util" "github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin" "github.com/devtron-labs/devtron/pkg/auth/user" - "github.com/devtron-labs/devtron/pkg/cluster" "github.com/devtron-labs/devtron/pkg/security" "github.com/devtron-labs/devtron/util/rbac" "go.uber.org/zap" @@ -47,12 +47,12 @@ type ImageScanRestHandlerImpl struct { userService user.UserService enforcer casbin.Enforcer enforcerUtil rbac.EnforcerUtil - environmentService cluster.EnvironmentService + environmentService environment.EnvironmentService } func NewImageScanRestHandlerImpl(logger *zap.SugaredLogger, imageScanService security.ImageScanService, userService user.UserService, enforcer casbin.Enforcer, - enforcerUtil rbac.EnforcerUtil, environmentService cluster.EnvironmentService) *ImageScanRestHandlerImpl { + enforcerUtil rbac.EnforcerUtil, environmentService environment.EnvironmentService) *ImageScanRestHandlerImpl { return &ImageScanRestHandlerImpl{ logger: logger, imageScanService: imageScanService, diff --git a/api/restHandler/NotificationRestHandler.go b/api/restHandler/NotificationRestHandler.go index 0b653d173c..7330f33f46 100644 --- a/api/restHandler/NotificationRestHandler.go +++ b/api/restHandler/NotificationRestHandler.go @@ -25,7 +25,7 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository" "github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin" "github.com/devtron-labs/devtron/pkg/auth/user" - "github.com/devtron-labs/devtron/pkg/cluster" + "github.com/devtron-labs/devtron/pkg/environment" "github.com/devtron-labs/devtron/pkg/notifier" "github.com/devtron-labs/devtron/pkg/notifier/beans" "github.com/devtron-labs/devtron/pkg/pipeline" @@ -80,7 +80,7 @@ type NotificationRestHandlerImpl struct { smtpService notifier.SMTPNotificationService enforcer casbin.Enforcer teamService team.TeamService - environmentService cluster.EnvironmentService + environmentService environment.EnvironmentService pipelineBuilder pipeline.PipelineBuilder enforcerUtil rbac.EnforcerUtil } @@ -94,7 +94,7 @@ func NewNotificationRestHandlerImpl(dockerRegistryConfig pipeline.DockerRegistry userAuthService user.UserService, validator *validator.Validate, notificationService notifier.NotificationConfigService, slackService notifier.SlackNotificationService, webhookService notifier.WebhookNotificationService, sesService notifier.SESNotificationService, smtpService notifier.SMTPNotificationService, - enforcer casbin.Enforcer, teamService team.TeamService, environmentService cluster.EnvironmentService, pipelineBuilder pipeline.PipelineBuilder, + enforcer casbin.Enforcer, teamService team.TeamService, environmentService environment.EnvironmentService, pipelineBuilder pipeline.PipelineBuilder, enforcerUtil rbac.EnforcerUtil) *NotificationRestHandlerImpl { return &NotificationRestHandlerImpl{ dockerRegistryConfig: dockerRegistryConfig, diff --git a/api/restHandler/PolicyRestHandler.go b/api/restHandler/PolicyRestHandler.go index 6dce4c3037..dd0ce0d10e 100644 --- a/api/restHandler/PolicyRestHandler.go +++ b/api/restHandler/PolicyRestHandler.go @@ -21,6 +21,7 @@ import ( "errors" "fmt" securityBean "github.com/devtron-labs/devtron/internal/sql/repository/security/bean" + "github.com/devtron-labs/devtron/pkg/environment" "net/http" "strconv" @@ -28,7 +29,6 @@ import ( "github.com/devtron-labs/devtron/api/restHandler/common" "github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin" user2 "github.com/devtron-labs/devtron/pkg/auth/user" - "github.com/devtron-labs/devtron/pkg/cluster" "github.com/devtron-labs/devtron/pkg/security" "github.com/devtron-labs/devtron/util/rbac" "go.uber.org/zap" @@ -47,14 +47,14 @@ type PolicyRestHandlerImpl struct { userAuthService user2.UserAuthService enforcer casbin.Enforcer enforcerUtil rbac.EnforcerUtil - environmentService cluster.EnvironmentService + environmentService environment.EnvironmentService } func NewPolicyRestHandlerImpl(logger *zap.SugaredLogger, policyService security.PolicyService, userService user2.UserService, userAuthService user2.UserAuthService, enforcer casbin.Enforcer, - enforcerUtil rbac.EnforcerUtil, environmentService cluster.EnvironmentService) *PolicyRestHandlerImpl { + enforcerUtil rbac.EnforcerUtil, environmentService environment.EnvironmentService) *PolicyRestHandlerImpl { return &PolicyRestHandlerImpl{ logger: logger, policyService: policyService, diff --git a/api/restHandler/app/appList/AppFilteringRestHandler.go b/api/restHandler/app/appList/AppFilteringRestHandler.go index 293b5f0e64..ce78298cfc 100644 --- a/api/restHandler/app/appList/AppFilteringRestHandler.go +++ b/api/restHandler/app/appList/AppFilteringRestHandler.go @@ -23,7 +23,9 @@ import ( "github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin" "github.com/devtron-labs/devtron/pkg/auth/user" "github.com/devtron-labs/devtron/pkg/cluster" - bean2 "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + bean3 "github.com/devtron-labs/devtron/pkg/cluster/bean" + "github.com/devtron-labs/devtron/pkg/environment" + bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/team" "go.uber.org/zap" "net/http" @@ -42,7 +44,7 @@ type AppFilteringRestHandlerImpl struct { enforcer casbin.Enforcer userService user.UserService clusterService cluster.ClusterService - environmentClusterMappingsService cluster.EnvironmentService + environmentClusterMappingsService environment.EnvironmentService cfg *bean.Config } @@ -51,7 +53,7 @@ func NewAppFilteringRestHandlerImpl(logger *zap.SugaredLogger, enforcer casbin.Enforcer, userService user.UserService, clusterService cluster.ClusterService, - environmentClusterMappingsService cluster.EnvironmentService, + environmentClusterMappingsService environment.EnvironmentService, ) *AppFilteringRestHandlerImpl { cfg := &bean.Config{} err := env.Parse(cfg) @@ -78,7 +80,7 @@ func (handler AppFilteringRestHandlerImpl) GetClusterTeamAndEnvListForAutocomple common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - clusterMapping := make(map[string]cluster.ClusterBean) + clusterMapping := make(map[string]bean3.ClusterBean) start := time.Now() clusterList, err := handler.clusterService.FindAllForAutoComplete() dbOperationTime := time.Since(start) @@ -87,7 +89,7 @@ func (handler AppFilteringRestHandlerImpl) GetClusterTeamAndEnvListForAutocomple common.WriteJsonResp(w, err, nil, http.StatusInternalServerError) return } - var granterClusters []cluster.ClusterBean + var granterClusters []bean3.ClusterBean v := r.URL.Query() authEnabled := true auth := v.Get("auth") @@ -117,7 +119,7 @@ func (handler AppFilteringRestHandlerImpl) GetClusterTeamAndEnvListForAutocomple //RBAC enforcer Ends if len(granterClusters) == 0 { - granterClusters = make([]cluster.ClusterBean, 0) + granterClusters = make([]bean3.ClusterBean, 0) } //getting environment for autocomplete diff --git a/api/restHandler/app/appList/AppListingRestHandler.go b/api/restHandler/app/appList/AppListingRestHandler.go index 39161f01a4..8f88ef612a 100644 --- a/api/restHandler/app/appList/AppListingRestHandler.go +++ b/api/restHandler/app/appList/AppListingRestHandler.go @@ -48,12 +48,12 @@ import ( argoApplication2 "github.com/devtron-labs/devtron/pkg/argoApplication" "github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin" "github.com/devtron-labs/devtron/pkg/auth/user" - "github.com/devtron-labs/devtron/pkg/cluster" - bean2 "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + bean5 "github.com/devtron-labs/devtron/pkg/cluster/bean" common2 "github.com/devtron-labs/devtron/pkg/deployment/common" bean3 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" bean4 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" "github.com/devtron-labs/devtron/pkg/deploymentGroup" + bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/generateManifest" "github.com/devtron-labs/devtron/pkg/genericNotes" "github.com/devtron-labs/devtron/pkg/k8s" @@ -127,7 +127,7 @@ type AppStatus struct { type AppAutocomplete struct { Teams []team.TeamRequest Environments []bean2.EnvironmentBean - Clusters []cluster.ClusterBean + Clusters []bean5.ClusterBean } func NewAppListingRestHandlerImpl(application application.ServiceClient, diff --git a/api/restHandler/app/pipeline/AutoCompleteRestHandler.go b/api/restHandler/app/pipeline/AutoCompleteRestHandler.go index c614fcb4ec..f251632ec7 100644 --- a/api/restHandler/app/pipeline/AutoCompleteRestHandler.go +++ b/api/restHandler/app/pipeline/AutoCompleteRestHandler.go @@ -20,7 +20,7 @@ import ( "context" "fmt" "github.com/devtron-labs/devtron/pkg/auth/user" - "github.com/devtron-labs/devtron/pkg/cluster" + "github.com/devtron-labs/devtron/pkg/environment" "github.com/devtron-labs/devtron/pkg/team" "github.com/devtron-labs/devtron/util/rbac" "go.uber.org/zap" @@ -52,7 +52,7 @@ type DevtronAppAutoCompleteRestHandlerImpl struct { enforcer casbin.Enforcer enforcerUtil rbac.EnforcerUtil devtronAppConfigService pipeline.DevtronAppConfigService - envService cluster.EnvironmentService + envService environment.EnvironmentService gitRegistryConfig pipeline.GitRegistryConfig dockerRegistryConfig pipeline.DockerRegistryConfig } @@ -64,7 +64,7 @@ func NewDevtronAppAutoCompleteRestHandlerImpl( enforcer casbin.Enforcer, enforcerUtil rbac.EnforcerUtil, devtronAppConfigService pipeline.DevtronAppConfigService, - envService cluster.EnvironmentService, + envService environment.EnvironmentService, gitRegistryConfig pipeline.GitRegistryConfig, dockerRegistryConfig pipeline.DockerRegistryConfig) *DevtronAppAutoCompleteRestHandlerImpl { return &DevtronAppAutoCompleteRestHandlerImpl{ diff --git a/client/events/EventBuilder.go b/client/events/EventBuilder.go index 8f1ae9183f..dc5e06bfeb 100644 --- a/client/events/EventBuilder.go +++ b/client/events/EventBuilder.go @@ -19,7 +19,7 @@ package client import ( "context" "fmt" - repository4 "github.com/devtron-labs/devtron/pkg/cluster/repository" + repository4 "github.com/devtron-labs/devtron/pkg/environment/repository" "strings" "time" diff --git a/client/telemetry/TelemetryEventClient.go b/client/telemetry/TelemetryEventClient.go index 55bb56d61c..1b9a1187f5 100644 --- a/client/telemetry/TelemetryEventClient.go +++ b/client/telemetry/TelemetryEventClient.go @@ -25,6 +25,7 @@ import ( "github.com/devtron-labs/common-lib/utils/k8s/commonBean" "github.com/devtron-labs/devtron/api/helm-app/gRPC" bean2 "github.com/devtron-labs/devtron/pkg/attributes/bean" + bean3 "github.com/devtron-labs/devtron/pkg/cluster/bean" cron3 "github.com/devtron-labs/devtron/util/cron" "net/http" "time" @@ -198,7 +199,7 @@ const ( SIG_TERM TelemetryEventType = "SIG_TERM" ) -func (impl *TelemetryEventClientImpl) SummaryDetailsForTelemetry() (cluster []cluster.ClusterBean, user []bean.UserInfo, +func (impl *TelemetryEventClientImpl) SummaryDetailsForTelemetry() (cluster []bean3.ClusterBean, user []bean.UserInfo, k8sServerVersion *version.Info, hostURL bool, ssoSetup bool, HelmAppAccessCount string, ChartStoreVisitCount string, SkippedOnboarding bool, HelmAppUpdateCounter string, helmChartSuccessfulDeploymentCount int, ExternalHelmAppClusterCount map[int32]int) { diff --git a/client/telemetry/TelemetryEventClientExtended.go b/client/telemetry/TelemetryEventClientExtended.go index 782e33cf51..67e7a87b2f 100644 --- a/client/telemetry/TelemetryEventClientExtended.go +++ b/client/telemetry/TelemetryEventClientExtended.go @@ -21,6 +21,7 @@ import ( cloudProviderIdentifier "github.com/devtron-labs/common-lib/cloud-provider-identifier" client "github.com/devtron-labs/devtron/api/helm-app/gRPC" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" + "github.com/devtron-labs/devtron/pkg/environment" "github.com/devtron-labs/devtron/pkg/pipeline/bean/CiPipeline" cron3 "github.com/devtron-labs/devtron/util/cron" "net/http" @@ -49,7 +50,7 @@ import ( const AppsCount int = 50 type TelemetryEventClientImplExtended struct { - environmentService cluster.EnvironmentService + environmentService environment.EnvironmentService appListingRepository repository.AppListingRepository ciPipelineRepository pipelineConfig.CiPipelineRepository pipelineRepository pipelineConfig.PipelineRepository @@ -68,7 +69,7 @@ type TelemetryEventClientImplExtended struct { func NewTelemetryEventClientImplExtended(logger *zap.SugaredLogger, client *http.Client, clusterService cluster.ClusterService, K8sUtil *util2.K8sServiceImpl, aCDAuthConfig *util3.ACDAuthConfig, - environmentService cluster.EnvironmentService, userService user2.UserService, + environmentService environment.EnvironmentService, userService user2.UserService, appListingRepository repository.AppListingRepository, PosthogClient *PosthogClient, ciPipelineRepository pipelineConfig.CiPipelineRepository, pipelineRepository pipelineConfig.PipelineRepository, gitProviderRepository repository.GitProviderRepository, attributeRepo repository.AttributesRepository, diff --git a/cmd/external-app/wire_gen.go b/cmd/external-app/wire_gen.go index 2c4e5a32b0..c904fcc33f 100644 --- a/cmd/external-app/wire_gen.go +++ b/cmd/external-app/wire_gen.go @@ -81,12 +81,15 @@ import ( "github.com/devtron-labs/devtron/pkg/chartRepo" "github.com/devtron-labs/devtron/pkg/chartRepo/repository" "github.com/devtron-labs/devtron/pkg/cluster" + rbac2 "github.com/devtron-labs/devtron/pkg/cluster/rbac" repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/clusterTerminalAccess" delete2 "github.com/devtron-labs/devtron/pkg/delete" "github.com/devtron-labs/devtron/pkg/deployment/common" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" + "github.com/devtron-labs/devtron/pkg/environment" + repository9 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/externalLink" "github.com/devtron-labs/devtron/pkg/fluxApplication" "github.com/devtron-labs/devtron/pkg/genericNotes" @@ -211,9 +214,9 @@ func InitializeApp() (*App, error) { return nil, err } appStatusRepositoryImpl := appStatus.NewAppStatusRepositoryImpl(db, sugaredLogger) - environmentRepositoryImpl := repository2.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) + environmentRepositoryImpl := repository9.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) attributesRepositoryImpl := repository3.NewAttributesRepositoryImpl(db) - environmentServiceImpl := cluster.NewEnvironmentServiceImpl(environmentRepositoryImpl, clusterServiceImpl, sugaredLogger, k8sServiceImpl, k8sInformerFactoryImpl, userAuthServiceImpl, attributesRepositoryImpl) + environmentServiceImpl := environment.NewEnvironmentServiceImpl(environmentRepositoryImpl, clusterServiceImpl, sugaredLogger, k8sServiceImpl, k8sInformerFactoryImpl, userAuthServiceImpl, attributesRepositoryImpl) chartRepoRepositoryImpl := chartRepoRepository.NewChartRepoRepositoryImpl(db) acdAuthConfig, err := util3.GetACDAuthConfig() if err != nil { @@ -271,7 +274,7 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - clusterRbacServiceImpl := cluster.NewClusterRbacServiceImpl(environmentServiceImpl, enforcerImpl, clusterServiceImpl, sugaredLogger, userServiceImpl) + clusterRbacServiceImpl := rbac2.NewClusterRbacServiceImpl(environmentServiceImpl, enforcerImpl, clusterServiceImpl, sugaredLogger, userServiceImpl) clusterRestHandlerImpl := cluster2.NewClusterRestHandlerImpl(clusterServiceImpl, genericNoteServiceImpl, clusterDescriptionServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceImpl, helmUserServiceImpl, environmentServiceImpl, clusterRbacServiceImpl) clusterRouterImpl := cluster2.NewClusterRouterImpl(clusterRestHandlerImpl) dashboardConfig, err := dashboard.GetConfig() diff --git a/internal/sql/repository/AppListingRepository.go b/internal/sql/repository/AppListingRepository.go index 359d69f9a5..d8938c3745 100644 --- a/internal/sql/repository/AppListingRepository.go +++ b/internal/sql/repository/AppListingRepository.go @@ -28,7 +28,7 @@ import ( appWorkflow2 "github.com/devtron-labs/devtron/internal/sql/repository/appWorkflow" "github.com/devtron-labs/devtron/internal/sql/repository/deploymentConfig" "github.com/devtron-labs/devtron/internal/util" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "go.opentelemetry.io/otel" "strings" "time" diff --git a/internal/sql/repository/chartConfig/EnvConfigOverrideRepository.go b/internal/sql/repository/chartConfig/EnvConfigOverrideRepository.go index 82ac77e2ee..bdcc4c060a 100644 --- a/internal/sql/repository/chartConfig/EnvConfigOverrideRepository.go +++ b/internal/sql/repository/chartConfig/EnvConfigOverrideRepository.go @@ -19,7 +19,7 @@ package chartConfig import ( "github.com/devtron-labs/devtron/internal/sql/models" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/sql" "github.com/go-pg/pg" "github.com/juju/errors" diff --git a/internal/sql/repository/pipelineConfig/CiPipelineRepository.go b/internal/sql/repository/pipelineConfig/CiPipelineRepository.go index 47ab07622a..436f62c980 100644 --- a/internal/sql/repository/pipelineConfig/CiPipelineRepository.go +++ b/internal/sql/repository/pipelineConfig/CiPipelineRepository.go @@ -21,7 +21,7 @@ import ( "fmt" "github.com/devtron-labs/devtron/internal/sql/repository/app" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/ciPipeline" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/environment/repository" ciPipelineBean "github.com/devtron-labs/devtron/pkg/pipeline/bean/CiPipeline" "github.com/devtron-labs/devtron/pkg/sql" "github.com/devtron-labs/devtron/util/response/pagination" diff --git a/internal/sql/repository/pipelineConfig/PipelineRepository.go b/internal/sql/repository/pipelineConfig/PipelineRepository.go index ebd6885591..42d866688c 100644 --- a/internal/sql/repository/pipelineConfig/PipelineRepository.go +++ b/internal/sql/repository/pipelineConfig/PipelineRepository.go @@ -26,7 +26,7 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/workflow/cdWorkflow" "github.com/devtron-labs/devtron/internal/util" util2 "github.com/devtron-labs/devtron/pkg/appStore/util" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/sql" "github.com/go-pg/pg" "github.com/go-pg/pg/orm" diff --git a/pkg/app/AppListingService.go b/pkg/app/AppListingService.go index 0655168154..ad0df224c7 100644 --- a/pkg/app/AppListingService.go +++ b/pkg/app/AppListingService.go @@ -22,6 +22,7 @@ import ( argoApplication "github.com/devtron-labs/devtron/client/argocdServer/bean" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/workflow/cdWorkflow" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "net/http" "strconv" "strings" @@ -32,7 +33,6 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/app" userrepository "github.com/devtron-labs/devtron/pkg/auth/user/repository" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/dockerRegistry" "github.com/devtron-labs/devtron/util/argo" errors2 "github.com/juju/errors" diff --git a/pkg/app/integrationTest/AppServiceDeployment_test.go b/pkg/app/integrationTest/AppServiceDeployment_test.go index a3ddea561a..d939e12c36 100644 --- a/pkg/app/integrationTest/AppServiceDeployment_test.go +++ b/pkg/app/integrationTest/AppServiceDeployment_test.go @@ -27,9 +27,9 @@ import ( "github.com/devtron-labs/devtron/pkg/app" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" mocks2 "github.com/devtron-labs/devtron/pkg/chartRepo/repository/mocks" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" mocks4 "github.com/devtron-labs/devtron/pkg/cluster/repository/mocks" repository4 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/repository" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/pipeline/history/repository" "github.com/devtron-labs/devtron/pkg/pipeline/history/repository/mocks" "github.com/devtron-labs/devtron/pkg/sql" diff --git a/pkg/appClone/batch/DataHolder.go b/pkg/appClone/batch/DataHolder.go index 97e923b74d..8fc9161c06 100644 --- a/pkg/appClone/batch/DataHolder.go +++ b/pkg/appClone/batch/DataHolder.go @@ -21,8 +21,8 @@ import ( "fmt" "github.com/devtron-labs/devtron/internal/sql/repository/app" "github.com/devtron-labs/devtron/pkg/apis/devtron/v1" - "github.com/devtron-labs/devtron/pkg/cluster" - bean2 "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + "github.com/devtron-labs/devtron/pkg/environment" + bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/bean" "github.com/devtron-labs/devtron/util" @@ -38,10 +38,10 @@ type DataHolderActionImpl struct { logger *zap.SugaredLogger appRepo app.AppRepository configMapService pipeline.ConfigMapService - envService cluster.EnvironmentService + envService environment.EnvironmentService } -func NewDataHolderActionImpl(appRepo app.AppRepository, configMapService pipeline.ConfigMapService, envService cluster.EnvironmentService, logger *zap.SugaredLogger) *DataHolderActionImpl { +func NewDataHolderActionImpl(appRepo app.AppRepository, configMapService pipeline.ConfigMapService, envService environment.EnvironmentService, logger *zap.SugaredLogger) *DataHolderActionImpl { dh := &DataHolderActionImpl{ logger: logger, appRepo: appRepo, diff --git a/pkg/appClone/batch/DataHolder_test.go b/pkg/appClone/batch/DataHolder_test.go index 02d6f0e003..4d95048772 100644 --- a/pkg/appClone/batch/DataHolder_test.go +++ b/pkg/appClone/batch/DataHolder_test.go @@ -20,7 +20,7 @@ import ( "encoding/json" "github.com/devtron-labs/devtron/internal/sql/repository/app" v1 "github.com/devtron-labs/devtron/pkg/apis/devtron/v1" - "github.com/devtron-labs/devtron/pkg/cluster" + "github.com/devtron-labs/devtron/pkg/environment" "github.com/devtron-labs/devtron/pkg/pipeline" "go.uber.org/zap" "gopkg.in/yaml.v2" @@ -316,7 +316,7 @@ data: logger *zap.SugaredLogger appRepo app.AppRepository configMapService pipeline.ConfigMapService - envService cluster.EnvironmentService + envService environment.EnvironmentService } type args struct { holder *v1.DataHolder diff --git a/pkg/appClone/batch/Deployment.go b/pkg/appClone/batch/Deployment.go index 722ecc9f89..15361590b5 100644 --- a/pkg/appClone/batch/Deployment.go +++ b/pkg/appClone/batch/Deployment.go @@ -25,8 +25,8 @@ import ( pc "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/pkg/apis/devtron/v1" "github.com/devtron-labs/devtron/pkg/bean" - "github.com/devtron-labs/devtron/pkg/cluster" - bean2 "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + "github.com/devtron-labs/devtron/pkg/environment" + bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/util" uuid "github.com/satori/go.uuid" @@ -43,7 +43,7 @@ type DeploymentActionImpl struct { logger *zap.SugaredLogger pipelineBuilder pipeline.PipelineBuilder appRepo app.AppRepository - envService cluster.EnvironmentService + envService environment.EnvironmentService appWorkflowRepo appWorkflow.AppWorkflowRepository ciPipelineRepository pc.CiPipelineRepository cdPipelineRepository pc.PipelineRepository @@ -52,7 +52,7 @@ type DeploymentActionImpl struct { } func NewDeploymentActionImpl(pipelineBuilder pipeline.PipelineBuilder, logger *zap.SugaredLogger, - appRepo app.AppRepository, envService cluster.EnvironmentService, appWorkflowRepo appWorkflow.AppWorkflowRepository, + appRepo app.AppRepository, envService environment.EnvironmentService, appWorkflowRepo appWorkflow.AppWorkflowRepository, ciPipelineRepository pc.CiPipelineRepository, cdPipelineRepository pc.PipelineRepository, dataHolderAction DataHolderAction, deploymentTemplateAction DeploymentTemplateAction) *DeploymentActionImpl { return &DeploymentActionImpl{ pipelineBuilder: pipelineBuilder, diff --git a/pkg/appClone/batch/Mocks_test.go b/pkg/appClone/batch/Mocks_test.go index de2ee6a5a6..79ccc1c6e6 100644 --- a/pkg/appClone/batch/Mocks_test.go +++ b/pkg/appClone/batch/Mocks_test.go @@ -25,8 +25,8 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/ciPipeline" "github.com/devtron-labs/devtron/pkg/bean" - "github.com/devtron-labs/devtron/pkg/cluster" - bean3 "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + bean4 "github.com/devtron-labs/devtron/pkg/cluster/bean" + bean3 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/pipeline" pipelineBean "github.com/devtron-labs/devtron/pkg/pipeline/bean" "go.uber.org/zap" @@ -178,7 +178,7 @@ func (impl EnvironmentServiceMock) FindById(id int) (*bean3.EnvironmentBean, err panic("implement me") } -func (impl EnvironmentServiceMock) getClusterConfig(cluster *cluster.ClusterBean) (*k8s.ClusterConfig, error) { +func (impl EnvironmentServiceMock) getClusterConfig(cluster *bean4.ClusterBean) (*k8s.ClusterConfig, error) { panic("implement me") } @@ -186,7 +186,7 @@ func (impl EnvironmentServiceMock) Update(mappings *bean3.EnvironmentBean, userI panic("implement me") } -func (impl EnvironmentServiceMock) FindClusterByEnvId(id int) (*cluster.ClusterBean, error) { +func (impl EnvironmentServiceMock) FindClusterByEnvId(id int) (*bean4.ClusterBean, error) { panic("implement me") } diff --git a/pkg/appStore/adapter/Adapter.go b/pkg/appStore/adapter/Adapter.go index ee487b27bd..ae3047e51f 100644 --- a/pkg/appStore/adapter/Adapter.go +++ b/pkg/appStore/adapter/Adapter.go @@ -27,8 +27,8 @@ import ( util4 "github.com/devtron-labs/devtron/pkg/appStore/util" "github.com/devtron-labs/devtron/pkg/bean" "github.com/devtron-labs/devtron/pkg/cluster/adapter" - clutserBean "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" bean2 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" + clutserBean "github.com/devtron-labs/devtron/pkg/environment/bean" "time" ) diff --git a/pkg/appStore/bean/bean.go b/pkg/appStore/bean/bean.go index fbce8d2a9c..cf882ad2d2 100644 --- a/pkg/appStore/bean/bean.go +++ b/pkg/appStore/bean/bean.go @@ -24,8 +24,8 @@ import ( openapi "github.com/devtron-labs/devtron/api/helm-app/openapiClient" bean3 "github.com/devtron-labs/devtron/api/helm-app/service/bean" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/workflow/cdWorkflow" - "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" bean2 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" + "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/util/gitUtil" "slices" "time" diff --git a/pkg/appStore/chartGroup/ChartGroupService.go b/pkg/appStore/chartGroup/ChartGroupService.go index 30108bedfb..d4204ccdfe 100644 --- a/pkg/appStore/chartGroup/ChartGroupService.go +++ b/pkg/appStore/chartGroup/ChartGroupService.go @@ -33,10 +33,11 @@ import ( "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode" "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/deployment" "github.com/devtron-labs/devtron/pkg/appStore/values/service" - cluster2 "github.com/devtron-labs/devtron/pkg/cluster" - bean2 "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + bean3 "github.com/devtron-labs/devtron/pkg/cluster/bean" commonBean "github.com/devtron-labs/devtron/pkg/deployment/gitOps/common/bean" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/git" + cluster2 "github.com/devtron-labs/devtron/pkg/environment" + bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/eventProcessor/out" repository4 "github.com/devtron-labs/devtron/pkg/team" "github.com/devtron-labs/devtron/util/argo" @@ -142,7 +143,7 @@ type ChartGroupService interface { DeleteChartGroup(req *ChartGroupBean) error DeployBulk(chartGroupInstallRequest *ChartGroupInstallRequest) (*ChartGroupInstallAppRes, error) - DeployDefaultChartOnCluster(bean *cluster2.ClusterBean, userId int32) (bool, error) + DeployDefaultChartOnCluster(bean *bean3.ClusterBean, userId int32) (bool, error) TriggerDeploymentEventAndHandleStatusUpdate(installAppVersions []*appStoreBean.InstallAppVersionDTO) PerformDeployStage(installedAppVersionId int, installedAppVersionHistoryId int, userId int32) (*appStoreBean.InstallAppVersionDTO, error) @@ -695,7 +696,7 @@ func (impl *ChartGroupServiceImpl) TriggerDeploymentEventAndHandleStatusUpdate(i } } -func (impl *ChartGroupServiceImpl) DeployDefaultChartOnCluster(bean *cluster2.ClusterBean, userId int32) (bool, error) { +func (impl *ChartGroupServiceImpl) DeployDefaultChartOnCluster(bean *bean3.ClusterBean, userId int32) (bool, error) { // STEP 1 - create environment with name "devton" impl.logger.Infow("STEP 1", "create environment for cluster component", "clusterId", bean.Id) envName := fmt.Sprintf("%d-%s", bean.Id, appStoreBean.DEFAULT_ENVIRONMENT_OR_NAMESPACE_OR_PROJECT) diff --git a/pkg/appStore/installedApp/repository/InstalledAppRepository.go b/pkg/appStore/installedApp/repository/InstalledAppRepository.go index 970eff6f96..7f93ac49f2 100644 --- a/pkg/appStore/installedApp/repository/InstalledAppRepository.go +++ b/pkg/appStore/installedApp/repository/InstalledAppRepository.go @@ -26,7 +26,7 @@ import ( appStoreBean "github.com/devtron-labs/devtron/pkg/appStore/bean" appStoreDiscoverRepository "github.com/devtron-labs/devtron/pkg/appStore/discover/repository" util3 "github.com/devtron-labs/devtron/pkg/appStore/util" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/sql" "github.com/devtron-labs/devtron/util" "github.com/devtron-labs/devtron/util/gitUtil" diff --git a/pkg/appStore/installedApp/service/AppStoreDeploymentDBService.go b/pkg/appStore/installedApp/service/AppStoreDeploymentDBService.go index b6fd0915bf..8e9d223510 100644 --- a/pkg/appStore/installedApp/service/AppStoreDeploymentDBService.go +++ b/pkg/appStore/installedApp/service/AppStoreDeploymentDBService.go @@ -34,13 +34,14 @@ import ( util4 "github.com/devtron-labs/devtron/pkg/appStore/util" "github.com/devtron-labs/devtron/pkg/bean" clusterService "github.com/devtron-labs/devtron/pkg/cluster" - clutserBean "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" "github.com/devtron-labs/devtron/pkg/deployment/common" bean2 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" gitOpsBean "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config/bean" validationBean "github.com/devtron-labs/devtron/pkg/deployment/gitOps/validation/bean" "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" + "github.com/devtron-labs/devtron/pkg/environment" + clutserBean "github.com/devtron-labs/devtron/pkg/environment/bean" globalUtil "github.com/devtron-labs/devtron/util" "github.com/go-pg/pg" "go.uber.org/zap" @@ -75,7 +76,7 @@ type AppStoreDeploymentDBServiceImpl struct { installedAppRepository repository.InstalledAppRepository appStoreApplicationVersionRepository discoverRepository.AppStoreApplicationVersionRepository appRepository app.AppRepository - environmentService clusterService.EnvironmentService + environmentService environment.EnvironmentService clusterService clusterService.ClusterService installedAppRepositoryHistory repository.InstalledAppVersionHistoryRepository deploymentTypeConfig *globalUtil.DeploymentServiceTypeConfig @@ -91,7 +92,7 @@ func NewAppStoreDeploymentDBServiceImpl(logger *zap.SugaredLogger, installedAppRepository repository.InstalledAppRepository, appStoreApplicationVersionRepository discoverRepository.AppStoreApplicationVersionRepository, appRepository app.AppRepository, - environmentService clusterService.EnvironmentService, + environmentService environment.EnvironmentService, clusterService clusterService.ClusterService, installedAppRepositoryHistory repository.InstalledAppVersionHistoryRepository, envVariables *globalUtil.EnvironmentVariables, @@ -651,7 +652,7 @@ func (impl *AppStoreDeploymentDBServiceImpl) createEnvironmentIfNotExists(instal } environmentBean := &clutserBean.EnvironmentBean{ - Environment: clusterService.BuildEnvironmentName(cluster.ClusterName, namespace), + Environment: environment.BuildEnvironmentName(cluster.ClusterName, namespace), ClusterId: clusterId, Namespace: namespace, Default: false, diff --git a/pkg/appStore/installedApp/service/AppStoreDeploymentService.go b/pkg/appStore/installedApp/service/AppStoreDeploymentService.go index 5ef6b5b486..a58ab6117e 100644 --- a/pkg/appStore/installedApp/service/AppStoreDeploymentService.go +++ b/pkg/appStore/installedApp/service/AppStoreDeploymentService.go @@ -42,10 +42,10 @@ import ( deployment2 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/EAMode/deployment" "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/FullMode/deployment" bean2 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/bean" - "github.com/devtron-labs/devtron/pkg/cluster" "github.com/devtron-labs/devtron/pkg/deployment/common" bean5 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" + "github.com/devtron-labs/devtron/pkg/environment" util2 "github.com/devtron-labs/devtron/util" "github.com/go-pg/pg" "go.opentelemetry.io/otel" @@ -81,7 +81,7 @@ type AppStoreDeploymentServiceImpl struct { appRepository app.AppRepository eaModeDeploymentService deployment2.EAModeDeploymentService fullModeDeploymentService deployment.FullModeDeploymentService - environmentService cluster.EnvironmentService + environmentService environment.EnvironmentService helmAppService service.HelmAppService installedAppRepositoryHistory repository.InstalledAppVersionHistoryRepository deploymentTypeConfig *util2.DeploymentServiceTypeConfig @@ -101,7 +101,7 @@ func NewAppStoreDeploymentServiceImpl(logger *zap.SugaredLogger, appRepository app.AppRepository, eaModeDeploymentService deployment2.EAModeDeploymentService, fullModeDeploymentService deployment.FullModeDeploymentService, - environmentService cluster.EnvironmentService, + environmentService environment.EnvironmentService, helmAppService service.HelmAppService, installedAppRepositoryHistory repository.InstalledAppVersionHistoryRepository, envVariables *util2.EnvironmentVariables, diff --git a/pkg/appStore/installedApp/service/AppStoreDeploymentService_test.go b/pkg/appStore/installedApp/service/AppStoreDeploymentService_test.go index 5ff35231ef..e98b759d12 100644 --- a/pkg/appStore/installedApp/service/AppStoreDeploymentService_test.go +++ b/pkg/appStore/installedApp/service/AppStoreDeploymentService_test.go @@ -21,6 +21,8 @@ import ( appStoreDiscoverRepository "github.com/devtron-labs/devtron/pkg/appStore/discover/repository" "github.com/devtron-labs/devtron/pkg/attributes" "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" + "github.com/devtron-labs/devtron/pkg/environment" + repository4 "github.com/devtron-labs/devtron/pkg/environment/repository" util3 "github.com/devtron-labs/devtron/util" "testing" @@ -149,7 +151,7 @@ func initAppStoreDeploymentService(t *testing.T, internalUse bool) *AppStoreDepl db, _ := sql.NewDbConnection(config, sugaredLogger) attributeRepo := repository.NewAttributesRepositoryImpl(db) discoverRepository := appStoreDiscoverRepository.NewAppStoreApplicationVersionRepositoryImpl(sugaredLogger, db) - environmentRepository := repository2.NewEnvironmentRepositoryImpl(db, sugaredLogger, nil) + environmentRepository := repository4.NewEnvironmentRepositoryImpl(db, sugaredLogger, nil) k8sUtil := util2.NewK8sUtil(sugaredLogger, &util2.RuntimeConfig{LocalDevMode: true}) @@ -167,7 +169,7 @@ func initAppStoreDeploymentService(t *testing.T, internalUse bool) *AppStoreDepl userRepositoryImpl, roleGroupRepositoryImpl) - environmentService := cluster.NewEnvironmentServiceImpl(environmentRepository, clusterService, sugaredLogger, k8sUtil, nil, nil, nil) + environmentService := environment.NewEnvironmentServiceImpl(environmentRepository, clusterService, sugaredLogger, k8sUtil, nil, nil, nil) envVariables := &util3.EnvironmentVariables{ DeploymentServiceTypeConfig: &util3.DeploymentServiceTypeConfig{ ExternallyManagedDeploymentType: internalUse, diff --git a/pkg/appStore/installedApp/service/AppStoreValidator.go b/pkg/appStore/installedApp/service/AppStoreValidator.go index cf5dbf5b03..672706460b 100644 --- a/pkg/appStore/installedApp/service/AppStoreValidator.go +++ b/pkg/appStore/installedApp/service/AppStoreValidator.go @@ -18,7 +18,7 @@ package service import ( appStoreBean "github.com/devtron-labs/devtron/pkg/appStore/bean" - "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + "github.com/devtron-labs/devtron/pkg/environment/bean" "go.uber.org/zap" ) diff --git a/pkg/appStore/installedApp/service/EAMode/InstalledAppDBService.go b/pkg/appStore/installedApp/service/EAMode/InstalledAppDBService.go index fca7f2bac0..5edef97f64 100644 --- a/pkg/appStore/installedApp/service/EAMode/InstalledAppDBService.go +++ b/pkg/appStore/installedApp/service/EAMode/InstalledAppDBService.go @@ -21,8 +21,8 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/helper" util4 "github.com/devtron-labs/devtron/pkg/appStore/util" bean3 "github.com/devtron-labs/devtron/pkg/auth/user/bean" - "github.com/devtron-labs/devtron/pkg/cluster" "github.com/devtron-labs/devtron/pkg/deployment/common" + "github.com/devtron-labs/devtron/pkg/environment" "net/http" "strconv" "strings" @@ -76,7 +76,7 @@ type InstalledAppDBServiceImpl struct { InstalledAppRepository appStoreRepo.InstalledAppRepository AppRepository app.AppRepository UserService user.UserService - EnvironmentService cluster.EnvironmentService + EnvironmentService environment.EnvironmentService InstalledAppRepositoryHistory appStoreRepo.InstalledAppVersionHistoryRepository deploymentConfigService common.DeploymentConfigService } @@ -85,7 +85,7 @@ func NewInstalledAppDBServiceImpl(logger *zap.SugaredLogger, installedAppRepository appStoreRepo.InstalledAppRepository, appRepository app.AppRepository, userService user.UserService, - environmentService cluster.EnvironmentService, + environmentService environment.EnvironmentService, installedAppRepositoryHistory appStoreRepo.InstalledAppVersionHistoryRepository, deploymentConfigService common.DeploymentConfigService) *InstalledAppDBServiceImpl { return &InstalledAppDBServiceImpl{ diff --git a/pkg/appStore/installedApp/service/FullMode/deployment/FullModeDeploymentService.go b/pkg/appStore/installedApp/service/FullMode/deployment/FullModeDeploymentService.go index f18ff0be42..7b23f0ff7d 100644 --- a/pkg/appStore/installedApp/service/FullMode/deployment/FullModeDeploymentService.go +++ b/pkg/appStore/installedApp/service/FullMode/deployment/FullModeDeploymentService.go @@ -26,12 +26,12 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/timelineStatus" "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/common" "github.com/devtron-labs/devtron/pkg/argoRepositoryCreds" - repository5 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/deployment/common" commonBean "github.com/devtron-labs/devtron/pkg/deployment/gitOps/common/bean" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/git" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/validation" + repository5 "github.com/devtron-labs/devtron/pkg/environment/repository" util2 "github.com/devtron-labs/devtron/pkg/util" "time" diff --git a/pkg/appStore/installedApp/service/FullMode/deployment/InstalledAppArgoCdService.go b/pkg/appStore/installedApp/service/FullMode/deployment/InstalledAppArgoCdService.go index 18e1b95b8f..59294c4e4d 100644 --- a/pkg/appStore/installedApp/service/FullMode/deployment/InstalledAppArgoCdService.go +++ b/pkg/appStore/installedApp/service/FullMode/deployment/InstalledAppArgoCdService.go @@ -27,8 +27,8 @@ import ( "github.com/devtron-labs/devtron/internal/util" appStoreBean "github.com/devtron-labs/devtron/pkg/appStore/bean" cluster2 "github.com/devtron-labs/devtron/pkg/cluster" - "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" commonBean "github.com/devtron-labs/devtron/pkg/deployment/gitOps/common/bean" + "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/go-pg/pg" "net/http" "strconv" diff --git a/pkg/appStore/installedApp/service/FullMode/deploymentTypeChange/InstalledAppDeploymentTypeChangeService.go b/pkg/appStore/installedApp/service/FullMode/deploymentTypeChange/InstalledAppDeploymentTypeChangeService.go index e1ed9d3efe..98dd59ff2a 100644 --- a/pkg/appStore/installedApp/service/FullMode/deploymentTypeChange/InstalledAppDeploymentTypeChangeService.go +++ b/pkg/appStore/installedApp/service/FullMode/deploymentTypeChange/InstalledAppDeploymentTypeChangeService.go @@ -46,6 +46,7 @@ import ( bean3 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" bean2 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/bean" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/k8s" util3 "github.com/devtron-labs/devtron/util" "github.com/devtron-labs/devtron/util/argo" @@ -71,7 +72,7 @@ type InstalledAppDeploymentTypeChangeServiceImpl struct { appStatusRepository appStatus2.AppStatusRepository appRepository appRepository.AppRepository gitOpsConfigReadService config.GitOpsConfigReadService - environmentRepository repository5.EnvironmentRepository + environmentRepository repository.EnvironmentRepository acdClient application2.ServiceClient k8sCommonService k8s.K8sCommonService k8sUtil k8s2.K8sService @@ -91,7 +92,7 @@ func NewInstalledAppDeploymentTypeChangeServiceImpl(logger *zap.SugaredLogger, installedAppRepositoryHistory repository2.InstalledAppVersionHistoryRepository, appStatusRepository appStatus2.AppStatusRepository, gitOpsConfigReadService config.GitOpsConfigReadService, - environmentRepository repository5.EnvironmentRepository, + environmentRepository repository.EnvironmentRepository, acdClient application2.ServiceClient, k8sCommonService k8s.K8sCommonService, k8sUtil k8s2.K8sService, fullModeDeploymentService deployment.FullModeDeploymentService, eaModeDeploymentService deployment2.EAModeDeploymentService, diff --git a/pkg/argoApplication/ArgoApplicationService.go b/pkg/argoApplication/ArgoApplicationService.go index a9b9e9cab2..99e290b564 100644 --- a/pkg/argoApplication/ArgoApplicationService.go +++ b/pkg/argoApplication/ArgoApplicationService.go @@ -29,7 +29,7 @@ import ( "github.com/devtron-labs/devtron/pkg/argoApplication/bean" "github.com/devtron-labs/devtron/pkg/argoApplication/helper" "github.com/devtron-labs/devtron/pkg/argoApplication/read" - cluster2 "github.com/devtron-labs/devtron/pkg/cluster" + "github.com/devtron-labs/devtron/pkg/cluster/adapter" clusterRepository "github.com/devtron-labs/devtron/pkg/cluster/repository" k8s2 "github.com/devtron-labs/devtron/pkg/k8s" "github.com/devtron-labs/devtron/pkg/k8s/application" @@ -114,7 +114,7 @@ func (impl *ArgoApplicationServiceImpl) ListApplications(clusterIds []int) ([]*b if clusterObj.IsVirtualCluster || len(clusterObj.ErrorInConnecting) != 0 { continue } - clusterBean := cluster2.GetClusterBean(clusterObj) + clusterBean := adapter.GetClusterBean(clusterObj) clusterConfig := clusterBean.GetClusterConfig() restConfig, err := impl.k8sUtil.GetRestConfigByCluster(clusterConfig) if err != nil { diff --git a/pkg/argoApplication/read/ArgoApplicationReadService.go b/pkg/argoApplication/read/ArgoApplicationReadService.go index 7f4d4863b9..c09db2edaa 100644 --- a/pkg/argoApplication/read/ArgoApplicationReadService.go +++ b/pkg/argoApplication/read/ArgoApplicationReadService.go @@ -9,7 +9,7 @@ import ( "github.com/devtron-labs/devtron/api/helm-app/gRPC" "github.com/devtron-labs/devtron/api/helm-app/service" "github.com/devtron-labs/devtron/pkg/argoApplication/bean" - cluster2 "github.com/devtron-labs/devtron/pkg/cluster" + "github.com/devtron-labs/devtron/pkg/cluster/adapter" clusterRepository "github.com/devtron-labs/devtron/pkg/cluster/repository" clientErrors "github.com/devtron-labs/devtron/pkg/errors" "github.com/devtron-labs/devtron/util/argo" @@ -151,7 +151,7 @@ func (impl *ArgoApplicationReadServiceImpl) GetClusterConfigFromAllClusters(clus if len(clusterWithApplicationObject.ErrorInConnecting) != 0 { return nil, clusterWithApplicationObject, nil, fmt.Errorf("error in connecting to cluster") } - clusterBean := cluster2.GetClusterBean(clusterWithApplicationObject) + clusterBean := adapter.GetClusterBean(clusterWithApplicationObject) clusterConfig := clusterBean.GetClusterConfig() return clusterConfig, clusterWithApplicationObject, clusterServerUrlIdMap, err } @@ -185,7 +185,7 @@ func (impl *ArgoApplicationReadServiceImpl) GetAppDetail(resourceName, resourceN } else if len(clusterWithApplicationObject.ErrorInConnecting) != 0 { return nil, fmt.Errorf("error in connecting to cluster") } - clusterBean := cluster2.GetClusterBean(clusterWithApplicationObject) + clusterBean := adapter.GetClusterBean(clusterWithApplicationObject) clusterConfig := clusterBean.GetClusterConfig() restConfig, err := impl.k8sUtil.GetRestConfigByCluster(clusterConfig) if err != nil { diff --git a/pkg/bulkAction/BulkUpdateService.go b/pkg/bulkAction/BulkUpdateService.go index 1388a057d3..e43a4f6e04 100644 --- a/pkg/bulkAction/BulkUpdateService.go +++ b/pkg/bulkAction/BulkUpdateService.go @@ -36,12 +36,12 @@ import ( appWorkflow2 "github.com/devtron-labs/devtron/pkg/appWorkflow" bean2 "github.com/devtron-labs/devtron/pkg/bean" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/deployment/deployedApp" bean5 "github.com/devtron-labs/devtron/pkg/deployment/deployedApp/bean" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef" bean3 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef/bean" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/eventProcessor/out" "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/history" diff --git a/pkg/chart/ChartService.go b/pkg/chart/ChartService.go index edce7ca958..929c56b693 100644 --- a/pkg/chart/ChartService.go +++ b/pkg/chart/ChartService.go @@ -27,7 +27,6 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/chartConfig" "github.com/devtron-labs/devtron/internal/util" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - repository4 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/deployment/common" bean2 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" @@ -35,6 +34,7 @@ import ( "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/bean" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef" chartRefBean "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef/bean" + repository4 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/pipeline/history" "github.com/devtron-labs/devtron/pkg/sql" "github.com/devtron-labs/devtron/pkg/variables" diff --git a/pkg/chartRepo/Mock_test.go b/pkg/chartRepo/Mock_test.go index 3c621d09a0..0195c78621 100644 --- a/pkg/chartRepo/Mock_test.go +++ b/pkg/chartRepo/Mock_test.go @@ -20,8 +20,8 @@ import ( "context" "github.com/devtron-labs/common-lib/utils/k8s" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - cluster2 "github.com/devtron-labs/devtron/pkg/cluster" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/cluster/bean" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/go-pg/pg" "github.com/stretchr/testify/mock" ) @@ -61,44 +61,44 @@ type ClusterServiceImplMock struct { // panic("implement me") //} -func (impl ClusterServiceImplMock) Save(parent context.Context, bean *cluster2.ClusterBean, userId int32) (*cluster2.ClusterBean, error) { +func (impl ClusterServiceImplMock) Save(parent context.Context, bean *bean.ClusterBean, userId int32) (*bean.ClusterBean, error) { panic("implement me") } -func (impl ClusterServiceImplMock) FindOne(clusterName string) (*cluster2.ClusterBean, error) { +func (impl ClusterServiceImplMock) FindOne(clusterName string) (*bean.ClusterBean, error) { panic("implement me") } -func (impl ClusterServiceImplMock) FindOneActive(clusterName string) (*cluster2.ClusterBean, error) { +func (impl ClusterServiceImplMock) FindOneActive(clusterName string) (*bean.ClusterBean, error) { panic("implement me") } -func (impl ClusterServiceImplMock) FindAll() ([]*cluster2.ClusterBean, error) { +func (impl ClusterServiceImplMock) FindAll() ([]*bean.ClusterBean, error) { panic("implement me") } -func (impl ClusterServiceImplMock) FindAllActive() ([]cluster2.ClusterBean, error) { +func (impl ClusterServiceImplMock) FindAllActive() ([]bean.ClusterBean, error) { panic("implement me") } -func (impl ClusterServiceImplMock) DeleteFromDb(bean *cluster2.ClusterBean, userId int32) error { +func (impl ClusterServiceImplMock) DeleteFromDb(bean *bean.ClusterBean, userId int32) error { panic("implement me") } -func (impl ClusterServiceImplMock) FindById(id int) (*cluster2.ClusterBean, error) { +func (impl ClusterServiceImplMock) FindById(id int) (*bean.ClusterBean, error) { panic("implement me") } -func (impl ClusterServiceImplMock) FindByIds(id []int) ([]cluster2.ClusterBean, error) { +func (impl ClusterServiceImplMock) FindByIds(id []int) ([]bean.ClusterBean, error) { panic("implement me") } -func (impl ClusterServiceImplMock) Update(ctx context.Context, bean *cluster2.ClusterBean, userId int32) (*cluster2.ClusterBean, error) { +func (impl ClusterServiceImplMock) Update(ctx context.Context, bean *bean.ClusterBean, userId int32) (*bean.ClusterBean, error) { panic("implement me") } -func (impl ClusterServiceImplMock) Delete(bean *cluster2.ClusterBean, userId int32) error { +func (impl ClusterServiceImplMock) Delete(bean *bean.ClusterBean, userId int32) error { panic("implement me") } -func (impl ClusterServiceImplMock) FindAllForAutoComplete() ([]cluster2.ClusterBean, error) { +func (impl ClusterServiceImplMock) FindAllForAutoComplete() ([]bean.ClusterBean, error) { panic("implement me") } -func (impl ClusterServiceImplMock) CreateGrafanaDataSource(clusterBean *cluster2.ClusterBean, env *repository.Environment) (int, error) { +func (impl ClusterServiceImplMock) CreateGrafanaDataSource(clusterBean *bean.ClusterBean, env *repository.Environment) (int, error) { panic("implement me") } -func (impl ClusterServiceImplMock) GetClusterConfig(cluster *cluster2.ClusterBean) (*k8s.ClusterConfig, error) { +func (impl ClusterServiceImplMock) GetClusterConfig(cluster *bean.ClusterBean) (*k8s.ClusterConfig, error) { panic("implement me") } diff --git a/pkg/cluster/ClusterService.go b/pkg/cluster/ClusterService.go index 5417c69eae..7c5561a4fd 100644 --- a/pkg/cluster/ClusterService.go +++ b/pkg/cluster/ClusterService.go @@ -21,6 +21,9 @@ import ( "encoding/json" "fmt" "github.com/devtron-labs/common-lib/utils/k8s/commonBean" + "github.com/devtron-labs/devtron/pkg/cluster/adapter" + "github.com/devtron-labs/devtron/pkg/cluster/bean" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" cronUtil "github.com/devtron-labs/devtron/util/cron" "github.com/robfig/cron/v3" "log" @@ -63,128 +66,34 @@ const ( TokenFilePath = "/var/run/secrets/kubernetes.io/serviceaccount/token" ) -type PrometheusAuth struct { - UserName string `json:"userName,omitempty"` - Password string `json:"password,omitempty"` - TlsClientCert string `json:"tlsClientCert,omitempty"` - TlsClientKey string `json:"tlsClientKey,omitempty"` - IsAnonymous bool `json:"isAnonymous"` -} - -type ClusterBean struct { - Id int `json:"id" validate:"number"` - ClusterName string `json:"cluster_name,omitempty" validate:"required"` - Description string `json:"description"` - ServerUrl string `json:"server_url,omitempty" validate:"url,required"` - PrometheusUrl string `json:"prometheus_url,omitempty" validate:"validate-non-empty-url"` - Active bool `json:"active"` - Config map[string]string `json:"config,omitempty"` - PrometheusAuth *PrometheusAuth `json:"prometheusAuth,omitempty"` - DefaultClusterComponent []*DefaultClusterComponent `json:"defaultClusterComponent"` - AgentInstallationStage int `json:"agentInstallationStage,notnull"` // -1=external, 0=not triggered, 1=progressing, 2=success, 3=fails - K8sVersion string `json:"k8sVersion"` - HasConfigOrUrlChanged bool `json:"-"` - UserName string `json:"userName,omitempty"` - InsecureSkipTLSVerify bool `json:"insecureSkipTlsVerify"` - ErrorInConnecting string `json:"errorInConnecting"` - IsCdArgoSetup bool `json:"isCdArgoSetup"` - IsVirtualCluster bool `json:"isVirtualCluster"` - ClusterUpdated bool `json:"clusterUpdated"` -} - -func GetClusterBean(model repository.Cluster) ClusterBean { - bean := ClusterBean{} - bean.Id = model.Id - bean.ClusterName = model.ClusterName - //bean.Note = model.Note - bean.ServerUrl = model.ServerUrl - bean.PrometheusUrl = model.PrometheusEndpoint - bean.AgentInstallationStage = model.AgentInstallationStage - bean.Active = model.Active - bean.Config = model.Config - bean.K8sVersion = model.K8sVersion - bean.InsecureSkipTLSVerify = model.InsecureSkipTlsVerify - bean.IsVirtualCluster = model.IsVirtualCluster - bean.ErrorInConnecting = model.ErrorInConnecting - bean.PrometheusAuth = &PrometheusAuth{ - UserName: model.PUserName, - Password: model.PPassword, - TlsClientCert: model.PTlsClientCert, - TlsClientKey: model.PTlsClientKey, - } - return bean -} - -func (bean ClusterBean) GetClusterConfig() *k8s.ClusterConfig { - host := bean.ServerUrl - configMap := bean.Config - bearerToken := configMap[commonBean.BearerToken] - clusterCfg := &k8s.ClusterConfig{Host: host, BearerToken: bearerToken} - clusterCfg.InsecureSkipTLSVerify = bean.InsecureSkipTLSVerify - if bean.InsecureSkipTLSVerify == false { - clusterCfg.KeyData = configMap[commonBean.TlsKey] - clusterCfg.CertData = configMap[commonBean.CertData] - clusterCfg.CAData = configMap[commonBean.CertificateAuthorityData] - } - return clusterCfg -} - -type UserInfo struct { - UserName string `json:"userName,omitempty"` - Config map[string]string `json:"config,omitempty"` - ErrorInConnecting string `json:"errorInConnecting"` -} - -type ValidateClusterBean struct { - UserInfos map[string]*UserInfo `json:"userInfos,omitempty""` - *ClusterBean -} - -type UserClusterBeanMapping struct { - Mapping map[string]*ClusterBean `json:"mapping"` -} - -type Kubeconfig struct { - Config string `json:"config"` -} - -type DefaultClusterComponent struct { - ComponentName string `json:"name"` - AppId int `json:"appId"` - InstalledAppId int `json:"installedAppId,omitempty"` - EnvId int `json:"envId"` - EnvName string `json:"envName"` - Status string `json:"status"` -} - type ClusterService interface { - Save(parent context.Context, bean *ClusterBean, userId int32) (*ClusterBean, error) - UpdateClusterDescription(bean *ClusterBean, userId int32) error - ValidateKubeconfig(kubeConfig string) (map[string]*ValidateClusterBean, error) - FindOne(clusterName string) (*ClusterBean, error) - FindOneActive(clusterName string) (*ClusterBean, error) - FindAll() ([]*ClusterBean, error) - FindAllExceptVirtual() ([]*ClusterBean, error) - FindAllWithoutConfig() ([]*ClusterBean, error) - FindAllActive() ([]ClusterBean, error) - DeleteFromDb(bean *ClusterBean, userId int32) (string, error) - - FindById(id int) (*ClusterBean, error) - FindByIdWithoutConfig(id int) (*ClusterBean, error) - FindByIds(id []int) ([]ClusterBean, error) - Update(ctx context.Context, bean *ClusterBean, userId int32) (*ClusterBean, error) - Delete(bean *ClusterBean, userId int32) error - - FindAllForAutoComplete() ([]ClusterBean, error) - CreateGrafanaDataSource(clusterBean *ClusterBean, env *repository.Environment) (int, error) + Save(parent context.Context, bean *bean.ClusterBean, userId int32) (*bean.ClusterBean, error) + UpdateClusterDescription(bean *bean.ClusterBean, userId int32) error + ValidateKubeconfig(kubeConfig string) (map[string]*bean.ValidateClusterBean, error) + FindOne(clusterName string) (*bean.ClusterBean, error) + FindOneActive(clusterName string) (*bean.ClusterBean, error) + FindAll() ([]*bean.ClusterBean, error) + FindAllExceptVirtual() ([]*bean.ClusterBean, error) + FindAllWithoutConfig() ([]*bean.ClusterBean, error) + FindAllActive() ([]bean.ClusterBean, error) + DeleteFromDb(bean *bean.ClusterBean, userId int32) (string, error) + + FindById(id int) (*bean.ClusterBean, error) + FindByIdWithoutConfig(id int) (*bean.ClusterBean, error) + FindByIds(id []int) ([]bean.ClusterBean, error) + Update(ctx context.Context, bean *bean.ClusterBean, userId int32) (*bean.ClusterBean, error) + Delete(bean *bean.ClusterBean, userId int32) error + + FindAllForAutoComplete() ([]bean.ClusterBean, error) + CreateGrafanaDataSource(clusterBean *bean.ClusterBean, env *repository2.Environment) (int, error) GetAllClusterNamespaces() map[string][]string FindAllNamespacesByUserIdAndClusterId(userId int32, clusterId int, isActionUserSuperAdmin bool) ([]string, error) - FindAllForClusterByUserId(userId int32, isActionUserSuperAdmin bool) ([]ClusterBean, error) + FindAllForClusterByUserId(userId int32, isActionUserSuperAdmin bool) ([]bean.ClusterBean, error) FetchRolesFromGroup(userId int32) ([]*repository3.RoleModel, error) - HandleErrorInClusterConnections(clusters []*ClusterBean, respMap *sync.Map, clusterExistInDb bool) - ConnectClustersInBatch(clusters []*ClusterBean, clusterExistInDb bool) - ConvertClusterBeanToCluster(clusterBean *ClusterBean, userId int32) *repository.Cluster - ConvertClusterBeanObjectToCluster(bean *ClusterBean) *v1alpha1.Cluster + HandleErrorInClusterConnections(clusters []*bean.ClusterBean, respMap *sync.Map, clusterExistInDb bool) + ConnectClustersInBatch(clusters []*bean.ClusterBean, clusterExistInDb bool) + ConvertClusterBeanToCluster(clusterBean *bean.ClusterBean, userId int32) *repository.Cluster + ConvertClusterBeanObjectToCluster(bean *bean.ClusterBean) *v1alpha1.Cluster GetClusterConfigByClusterId(clusterId int) (*k8s.ClusterConfig, error) IsClusterReachable(clusterId int) (bool, error) @@ -230,7 +139,7 @@ func NewClusterServiceImpl(repository repository.ClusterRepository, logger *zap. return clusterService, nil } -func (impl *ClusterServiceImpl) ConvertClusterBeanToCluster(clusterBean *ClusterBean, userId int32) *repository.Cluster { +func (impl *ClusterServiceImpl) ConvertClusterBeanToCluster(clusterBean *bean.ClusterBean, userId int32) *repository.Cluster { model := &repository.Cluster{} @@ -274,7 +183,7 @@ func (impl *ClusterServiceImpl) getAndUpdateClusterConnectionStatus() { impl.ConnectClustersInBatch(clusters, true) } -func (impl *ClusterServiceImpl) Save(parent context.Context, bean *ClusterBean, userId int32) (*ClusterBean, error) { +func (impl *ClusterServiceImpl) Save(parent context.Context, bean *bean.ClusterBean, userId int32) (*bean.ClusterBean, error) { //validating config err := impl.CheckIfConfigIsValid(bean) @@ -348,7 +257,7 @@ func (impl *ClusterServiceImpl) Save(parent context.Context, bean *ClusterBean, // UpdateClusterDescription is new api service logic to only update description, this should be done in cluster update operation only // but not supported currently as per product -func (impl *ClusterServiceImpl) UpdateClusterDescription(bean *ClusterBean, userId int32) error { +func (impl *ClusterServiceImpl) UpdateClusterDescription(bean *bean.ClusterBean, userId int32) error { //updating description as other fields are not supported yet err := impl.clusterRepository.SetDescription(bean.Id, bean.Description, userId) if err != nil { @@ -358,26 +267,26 @@ func (impl *ClusterServiceImpl) UpdateClusterDescription(bean *ClusterBean, user return nil } -func (impl *ClusterServiceImpl) FindOne(clusterName string) (*ClusterBean, error) { +func (impl *ClusterServiceImpl) FindOne(clusterName string) (*bean.ClusterBean, error) { model, err := impl.clusterRepository.FindOne(clusterName) if err != nil { return nil, err } - bean := GetClusterBean(*model) + bean := adapter.GetClusterBean(*model) return &bean, nil } -func (impl *ClusterServiceImpl) FindOneActive(clusterName string) (*ClusterBean, error) { +func (impl *ClusterServiceImpl) FindOneActive(clusterName string) (*bean.ClusterBean, error) { model, err := impl.clusterRepository.FindOneActive(clusterName) if err != nil { return nil, err } - bean := GetClusterBean(*model) + bean := adapter.GetClusterBean(*model) return &bean, nil } -func (impl *ClusterServiceImpl) FindAllWithoutConfig() ([]*ClusterBean, error) { +func (impl *ClusterServiceImpl) FindAllWithoutConfig() ([]*bean.ClusterBean, error) { models, err := impl.FindAll() if err != nil { return nil, err @@ -388,55 +297,55 @@ func (impl *ClusterServiceImpl) FindAllWithoutConfig() ([]*ClusterBean, error) { return models, nil } -func (impl *ClusterServiceImpl) FindAll() ([]*ClusterBean, error) { +func (impl *ClusterServiceImpl) FindAll() ([]*bean.ClusterBean, error) { models, err := impl.clusterRepository.FindAllActive() if err != nil { return nil, err } - var beans []*ClusterBean + var beans []*bean.ClusterBean for _, model := range models { - bean := GetClusterBean(model) + bean := adapter.GetClusterBean(model) beans = append(beans, &bean) } return beans, nil } -func (impl *ClusterServiceImpl) FindAllExceptVirtual() ([]*ClusterBean, error) { +func (impl *ClusterServiceImpl) FindAllExceptVirtual() ([]*bean.ClusterBean, error) { models, err := impl.clusterRepository.FindAllActiveExceptVirtual() if err != nil { return nil, err } - var beans []*ClusterBean + var beans []*bean.ClusterBean for _, model := range models { - bean := GetClusterBean(model) + bean := adapter.GetClusterBean(model) beans = append(beans, &bean) } return beans, nil } -func (impl *ClusterServiceImpl) FindAllActive() ([]ClusterBean, error) { +func (impl *ClusterServiceImpl) FindAllActive() ([]bean.ClusterBean, error) { models, err := impl.clusterRepository.FindAllActive() if err != nil { return nil, err } - var beans []ClusterBean + var beans []bean.ClusterBean for _, model := range models { - bean := GetClusterBean(model) + bean := adapter.GetClusterBean(model) beans = append(beans, bean) } return beans, nil } -func (impl *ClusterServiceImpl) FindById(id int) (*ClusterBean, error) { +func (impl *ClusterServiceImpl) FindById(id int) (*bean.ClusterBean, error) { model, err := impl.clusterRepository.FindById(id) if err != nil { return nil, err } - bean := GetClusterBean(*model) + bean := adapter.GetClusterBean(*model) return &bean, nil } -func (impl *ClusterServiceImpl) FindByIdWithoutConfig(id int) (*ClusterBean, error) { +func (impl *ClusterServiceImpl) FindByIdWithoutConfig(id int) (*bean.ClusterBean, error) { model, err := impl.FindById(id) if err != nil { return nil, err @@ -446,21 +355,21 @@ func (impl *ClusterServiceImpl) FindByIdWithoutConfig(id int) (*ClusterBean, err return model, nil } -func (impl *ClusterServiceImpl) FindByIds(ids []int) ([]ClusterBean, error) { +func (impl *ClusterServiceImpl) FindByIds(ids []int) ([]bean.ClusterBean, error) { models, err := impl.clusterRepository.FindByIds(ids) if err != nil { return nil, err } - var beans []ClusterBean + var beans []bean.ClusterBean for _, model := range models { - bean := GetClusterBean(model) + bean := adapter.GetClusterBean(model) beans = append(beans, bean) } return beans, nil } -func (impl *ClusterServiceImpl) Update(ctx context.Context, bean *ClusterBean, userId int32) (*ClusterBean, error) { +func (impl *ClusterServiceImpl) Update(ctx context.Context, bean *bean.ClusterBean, userId int32) (*bean.ClusterBean, error) { model, err := impl.clusterRepository.FindById(bean.Id) if err != nil { impl.logger.Error(err) @@ -599,7 +508,7 @@ func (impl *ClusterServiceImpl) Update(ctx context.Context, bean *ClusterBean, u return bean, nil } -func (impl *ClusterServiceImpl) SyncNsInformer(bean *ClusterBean) { +func (impl *ClusterServiceImpl) SyncNsInformer(bean *bean.ClusterBean) { requestConfig := bean.Config[commonBean.BearerToken] //before creating new informer for cluster, close existing one impl.K8sInformerFactory.CleanNamespaceInformer(bean.ClusterName) @@ -619,7 +528,7 @@ func (impl *ClusterServiceImpl) SyncNsInformer(bean *ClusterBean) { impl.K8sInformerFactory.BuildInformer([]*bean2.ClusterInfo{clusterInfo}) } -func (impl *ClusterServiceImpl) Delete(bean *ClusterBean, userId int32) error { +func (impl *ClusterServiceImpl) Delete(bean *bean.ClusterBean, userId int32) error { model, err := impl.clusterRepository.FindById(bean.Id) if err != nil { return err @@ -627,14 +536,14 @@ func (impl *ClusterServiceImpl) Delete(bean *ClusterBean, userId int32) error { return impl.clusterRepository.Delete(model) } -func (impl *ClusterServiceImpl) FindAllForAutoComplete() ([]ClusterBean, error) { +func (impl *ClusterServiceImpl) FindAllForAutoComplete() ([]bean.ClusterBean, error) { model, err := impl.clusterRepository.FindAll() if err != nil { return nil, err } - var beans []ClusterBean + var beans []bean.ClusterBean for _, m := range model { - beans = append(beans, ClusterBean{ + beans = append(beans, bean.ClusterBean{ Id: m.Id, ClusterName: m.ClusterName, ErrorInConnecting: m.ErrorInConnecting, @@ -645,7 +554,7 @@ func (impl *ClusterServiceImpl) FindAllForAutoComplete() ([]ClusterBean, error) return beans, nil } -func (impl *ClusterServiceImpl) CreateGrafanaDataSource(clusterBean *ClusterBean, env *repository.Environment) (int, error) { +func (impl *ClusterServiceImpl) CreateGrafanaDataSource(clusterBean *bean.ClusterBean, env *repository2.Environment) (int, error) { impl.logger.Errorw("CreateGrafanaDataSource not inplementd in ClusterServiceImpl") return 0, fmt.Errorf("method not implemented") } @@ -675,7 +584,7 @@ func (impl *ClusterServiceImpl) buildInformer() { impl.K8sInformerFactory.BuildInformer(clusterInfo) } -func (impl *ClusterServiceImpl) DeleteFromDb(bean *ClusterBean, userId int32) (string, error) { +func (impl *ClusterServiceImpl) DeleteFromDb(bean *bean.ClusterBean, userId int32) (string, error) { existingCluster, err := impl.clusterRepository.FindById(bean.Id) if err != nil { impl.logger.Errorw("No matching entry found for delete.", "id", bean.Id) @@ -700,7 +609,7 @@ func (impl *ClusterServiceImpl) DeleteFromDb(bean *ClusterBean, userId int32) (s return existingCluster.ClusterName, nil } -func (impl *ClusterServiceImpl) CheckIfConfigIsValid(cluster *ClusterBean) error { +func (impl *ClusterServiceImpl) CheckIfConfigIsValid(cluster *bean.ClusterBean) error { clusterConfig := cluster.GetClusterConfig() response, err := impl.K8sUtil.DiscoveryClientGetLiveZCall(clusterConfig) if err != nil { @@ -788,7 +697,7 @@ func (impl *ClusterServiceImpl) FindAllNamespacesByUserIdAndClusterId(userId int return result, nil } -func (impl *ClusterServiceImpl) FindAllForClusterByUserId(userId int32, isActionUserSuperAdmin bool) ([]ClusterBean, error) { +func (impl *ClusterServiceImpl) FindAllForClusterByUserId(userId int32, isActionUserSuperAdmin bool) ([]bean.ClusterBean, error) { if isActionUserSuperAdmin { return impl.FindAllForAutoComplete() } @@ -807,10 +716,10 @@ func (impl *ClusterServiceImpl) FindAllForClusterByUserId(userId int32, isAction impl.logger.Errorw("error on fetching clusters", "err", err) return nil, err } - var beans []ClusterBean + var beans []bean.ClusterBean for _, model := range models { if _, ok := allowedClustersMap[model.ClusterName]; ok { - beans = append(beans, ClusterBean{ + beans = append(beans, bean.ClusterBean{ Id: model.Id, ClusterName: model.ClusterName, ErrorInConnecting: model.ErrorInConnecting, @@ -853,7 +762,7 @@ func (impl *ClusterServiceImpl) updateConnectionStatusForVirtualCluster(respMap respMap.Store(clusterId, connErr) } -func (impl *ClusterServiceImpl) ConnectClustersInBatch(clusters []*ClusterBean, clusterExistInDb bool) { +func (impl *ClusterServiceImpl) ConnectClustersInBatch(clusters []*bean.ClusterBean, clusterExistInDb bool) { var wg sync.WaitGroup respMap := &sync.Map{} for idx, cluster := range clusters { @@ -862,7 +771,7 @@ func (impl *ClusterServiceImpl) ConnectClustersInBatch(clusters []*ClusterBean, continue } wg.Add(1) - go func(idx int, cluster *ClusterBean) { + go func(idx int, cluster *bean.ClusterBean) { defer wg.Done() clusterConfig := cluster.GetClusterConfig() _, _, k8sClientSet, err := impl.K8sUtil.GetK8sConfigAndClients(clusterConfig) @@ -883,7 +792,7 @@ func (impl *ClusterServiceImpl) ConnectClustersInBatch(clusters []*ClusterBean, impl.HandleErrorInClusterConnections(clusters, respMap, clusterExistInDb) } -func (impl *ClusterServiceImpl) HandleErrorInClusterConnections(clusters []*ClusterBean, respMap *sync.Map, clusterExistInDb bool) { +func (impl *ClusterServiceImpl) HandleErrorInClusterConnections(clusters []*bean.ClusterBean, respMap *sync.Map, clusterExistInDb bool) { respMap.Range(func(key, value any) bool { defer func() { // defer to handle panic on type assertion @@ -919,7 +828,7 @@ func (impl *ClusterServiceImpl) HandleErrorInClusterConnections(clusters []*Clus }) } -func (impl *ClusterServiceImpl) ValidateKubeconfig(kubeConfig string) (map[string]*ValidateClusterBean, error) { +func (impl *ClusterServiceImpl) ValidateKubeconfig(kubeConfig string) (map[string]*bean.ValidateClusterBean, error) { kubeConfigObject := api.Config{} @@ -951,10 +860,10 @@ func (impl *ClusterServiceImpl) ValidateKubeconfig(kubeConfig string) (map[strin } //var clusterBeanObjects []*ClusterBean - ValidateObjects := make(map[string]*ValidateClusterBean) + ValidateObjects := make(map[string]*bean.ValidateClusterBean) - var clusterBeansWithNoValidationErrors []*ClusterBean - var clusterBeanObjects []*ClusterBean + var clusterBeansWithNoValidationErrors []*bean.ClusterBean + var clusterBeanObjects []*bean.ClusterBean if err != nil { return ValidateObjects, err } @@ -970,9 +879,9 @@ func (impl *ClusterServiceImpl) ValidateKubeconfig(kubeConfig string) (map[strin clusterListMapWithId[c.ClusterName] = c.Id } - userInfosMap := map[string]*UserInfo{} + userInfosMap := map[string]*bean.UserInfo{} for _, ctx := range kubeConfigObject.Contexts { - clusterBeanObject := &ClusterBean{} + clusterBeanObject := &bean.ClusterBean{} clusterName := ctx.Cluster userName := ctx.AuthInfo clusterObj := kubeConfigObject.Clusters[clusterName] @@ -1036,16 +945,16 @@ func (impl *ClusterServiceImpl) ValidateKubeconfig(kubeConfig string) (map[strin } } - userInfo := UserInfo{ + userInfo := bean.UserInfo{ UserName: userName, Config: Config, ErrorInConnecting: clusterBeanObject.ErrorInConnecting, } userInfosMap[userInfo.UserName] = &userInfo - validateObject := &ValidateClusterBean{} + validateObject := &bean.ValidateClusterBean{} if _, ok := ValidateObjects[clusterBeanObject.ClusterName]; !ok { - validateObject.UserInfos = make(map[string]*UserInfo) + validateObject.UserInfos = make(map[string]*bean.UserInfo) validateObject.ClusterBean = clusterBeanObject ValidateObjects[clusterBeanObject.ClusterName] = validateObject } @@ -1116,7 +1025,7 @@ func (impl *ClusterServiceImpl) GetAndUpdateConnectionStatusForOneCluster(k8sCli respMap.Store(clusterId, err) } -func (impl *ClusterServiceImpl) ConvertClusterBeanObjectToCluster(bean *ClusterBean) *v1alpha1.Cluster { +func (impl *ClusterServiceImpl) ConvertClusterBeanObjectToCluster(bean *bean.ClusterBean) *v1alpha1.Cluster { configMap := bean.Config serverUrl := bean.ServerUrl bearerToken := "" diff --git a/pkg/cluster/ClusterServiceExtended.go b/pkg/cluster/ClusterServiceExtended.go index 71168df049..122a80c4d5 100644 --- a/pkg/cluster/ClusterServiceExtended.go +++ b/pkg/cluster/ClusterServiceExtended.go @@ -20,7 +20,9 @@ import ( "context" "fmt" "github.com/devtron-labs/common-lib/utils/k8s/commonBean" + "github.com/devtron-labs/devtron/pkg/cluster/bean" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" + "github.com/devtron-labs/devtron/pkg/environment/repository" "net/http" "strings" "time" @@ -33,7 +35,6 @@ import ( "github.com/devtron-labs/devtron/internal/util" appStoreBean "github.com/devtron-labs/devtron/pkg/appStore/bean" repository2 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" - "github.com/devtron-labs/devtron/pkg/cluster/repository" ) // extends ClusterServiceImpl and enhances method of ClusterService with full mode specific errors @@ -62,7 +63,7 @@ func NewClusterServiceImplExtended(environmentRepository repository.EnvironmentR return clusterServiceExt } -func (impl *ClusterServiceImplExtended) FindAllWithoutConfig() ([]*ClusterBean, error) { +func (impl *ClusterServiceImplExtended) FindAllWithoutConfig() ([]*bean.ClusterBean, error) { beans, err := impl.FindAll() if err != nil { return nil, err @@ -73,7 +74,7 @@ func (impl *ClusterServiceImplExtended) FindAllWithoutConfig() ([]*ClusterBean, return beans, nil } -func (impl *ClusterServiceImplExtended) GetClusterFullModeDTO(beans []*ClusterBean) ([]*ClusterBean, error) { +func (impl *ClusterServiceImplExtended) GetClusterFullModeDTO(beans []*bean.ClusterBean) ([]*bean.ClusterBean, error) { //devtron full mode logic var clusterIds []int for _, cluster := range beans { @@ -98,7 +99,7 @@ func (impl *ClusterServiceImplExtended) GetClusterFullModeDTO(beans []*ClusterBe } for _, item := range beans { - defaultClusterComponents := make([]*DefaultClusterComponent, 0) + defaultClusterComponents := make([]*bean.DefaultClusterComponent, 0) if _, ok := clusterComponentsMap[item.Id]; ok { charts := clusterComponentsMap[item.Id] failed := false @@ -108,7 +109,7 @@ func (impl *ClusterServiceImplExtended) GetClusterFullModeDTO(beans []*ClusterBe chartLen = len(charts) } for _, chart := range charts { - defaultClusterComponent := &DefaultClusterComponent{} + defaultClusterComponent := &bean.DefaultClusterComponent{} defaultClusterComponent.AppId = chart.InstalledApp.AppId defaultClusterComponent.InstalledAppId = chart.InstalledApp.Id defaultClusterComponent.EnvId = chart.InstalledApp.EnvironmentId @@ -141,7 +142,7 @@ func (impl *ClusterServiceImplExtended) GetClusterFullModeDTO(beans []*ClusterBe return beans, nil } -func (impl *ClusterServiceImplExtended) FindAll() ([]*ClusterBean, error) { +func (impl *ClusterServiceImplExtended) FindAll() ([]*bean.ClusterBean, error) { beans, err := impl.ClusterServiceImpl.FindAll() if err != nil { return nil, err @@ -149,7 +150,7 @@ func (impl *ClusterServiceImplExtended) FindAll() ([]*ClusterBean, error) { return impl.GetClusterFullModeDTO(beans) } -func (impl *ClusterServiceImplExtended) FindAllExceptVirtual() ([]*ClusterBean, error) { +func (impl *ClusterServiceImplExtended) FindAllExceptVirtual() ([]*bean.ClusterBean, error) { beans, err := impl.ClusterServiceImpl.FindAll() if err != nil { return nil, err @@ -157,7 +158,7 @@ func (impl *ClusterServiceImplExtended) FindAllExceptVirtual() ([]*ClusterBean, return impl.GetClusterFullModeDTO(beans) } -func (impl *ClusterServiceImplExtended) Update(ctx context.Context, bean *ClusterBean, userId int32) (*ClusterBean, error) { +func (impl *ClusterServiceImplExtended) Update(ctx context.Context, bean *bean.ClusterBean, userId int32) (*bean.ClusterBean, error) { gitOpsConfigurationStatus, err1 := impl.gitOpsConfigReadService.IsGitOpsConfigured() if err1 != nil { return nil, err1 @@ -288,7 +289,7 @@ func (impl *ClusterServiceImplExtended) Update(ctx context.Context, bean *Cluste return bean, err } -func (impl *ClusterServiceImplExtended) CreateGrafanaDataSource(clusterBean *ClusterBean, env *repository.Environment) (int, error) { +func (impl *ClusterServiceImplExtended) CreateGrafanaDataSource(clusterBean *bean.ClusterBean, env *repository.Environment) (int, error) { grafanaDatasourceId := env.GrafanaDatasourceId if grafanaDatasourceId == 0 { //starts grafana creation @@ -337,7 +338,7 @@ func (impl *ClusterServiceImplExtended) CreateGrafanaDataSource(clusterBean *Clu return grafanaDatasourceId, nil } -func (impl *ClusterServiceImplExtended) Save(ctx context.Context, bean *ClusterBean, userId int32) (*ClusterBean, error) { +func (impl *ClusterServiceImplExtended) Save(ctx context.Context, bean *bean.ClusterBean, userId int32) (*bean.ClusterBean, error) { gitOpsConfigurationStatus, err := impl.gitOpsConfigReadService.IsGitOpsConfigured() if err != nil { return nil, err @@ -381,7 +382,7 @@ func (impl *ClusterServiceImplExtended) Save(ctx context.Context, bean *ClusterB return clusterBean, nil } -func (impl ClusterServiceImplExtended) DeleteFromDb(bean *ClusterBean, userId int32) (string, error) { +func (impl ClusterServiceImplExtended) DeleteFromDb(bean *bean.ClusterBean, userId int32) (string, error) { existingCluster, err := impl.clusterRepository.FindById(bean.Id) if err != nil { impl.logger.Errorw("No matching entry found for delete.", "id", bean.Id) diff --git a/pkg/cluster/ClusterService_test.go b/pkg/cluster/ClusterService_test.go index 8de1b6613c..8cc11dbd54 100644 --- a/pkg/cluster/ClusterService_test.go +++ b/pkg/cluster/ClusterService_test.go @@ -19,6 +19,7 @@ package cluster import ( util2 "github.com/devtron-labs/common-lib/utils/k8s" "github.com/devtron-labs/devtron/internal/util" + "github.com/devtron-labs/devtron/pkg/cluster/bean" "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/k8s/informer" "go.uber.org/zap" @@ -34,7 +35,7 @@ func TestClusterServiceImpl_CheckIfConfigIsValid(t *testing.T) { K8sInformerFactory informer.K8sInformerFactory } type args struct { - cluster *ClusterBean + cluster *bean.ClusterBean } tests := []struct { name string @@ -45,7 +46,7 @@ func TestClusterServiceImpl_CheckIfConfigIsValid(t *testing.T) { { //incorrect server config args: args{ - cluster: &ClusterBean{ + cluster: &bean.ClusterBean{ Id: 4, ServerUrl: "", Config: map[string]string{ @@ -58,7 +59,7 @@ func TestClusterServiceImpl_CheckIfConfigIsValid(t *testing.T) { { //correct server config args: args{ - cluster: &ClusterBean{ + cluster: &bean.ClusterBean{ Id: 5, ServerUrl: "", Config: map[string]string{ diff --git a/pkg/cluster/adapter/Adapter.go b/pkg/cluster/adapter/Adapter.go index 8d78d659fe..b4e0a5035a 100644 --- a/pkg/cluster/adapter/Adapter.go +++ b/pkg/cluster/adapter/Adapter.go @@ -17,13 +17,15 @@ package adapter import ( + bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean" "github.com/devtron-labs/devtron/pkg/cluster/repository" - "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + "github.com/devtron-labs/devtron/pkg/environment/bean" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" ) // NewEnvironmentBean provides a new cluster.EnvironmentBean for the given repository.Environment // Note: NewEnvironmentBean doesn't include AppCount and AllowedDeploymentTypes -func NewEnvironmentBean(envModel *repository.Environment) *bean.EnvironmentBean { +func NewEnvironmentBean(envModel *repository2.Environment) *bean.EnvironmentBean { envBean := &bean.EnvironmentBean{ Id: envModel.Id, Environment: envModel.Name, @@ -45,3 +47,26 @@ func NewEnvironmentBean(envModel *repository.Environment) *bean.EnvironmentBean } return envBean } + +func GetClusterBean(model repository.Cluster) bean2.ClusterBean { + bean := bean2.ClusterBean{} + bean.Id = model.Id + bean.ClusterName = model.ClusterName + //bean.Note = model.Note + bean.ServerUrl = model.ServerUrl + bean.PrometheusUrl = model.PrometheusEndpoint + bean.AgentInstallationStage = model.AgentInstallationStage + bean.Active = model.Active + bean.Config = model.Config + bean.K8sVersion = model.K8sVersion + bean.InsecureSkipTLSVerify = model.InsecureSkipTlsVerify + bean.IsVirtualCluster = model.IsVirtualCluster + bean.ErrorInConnecting = model.ErrorInConnecting + bean.PrometheusAuth = &bean2.PrometheusAuth{ + UserName: model.PUserName, + Password: model.PPassword, + TlsClientCert: model.PTlsClientCert, + TlsClientKey: model.PTlsClientKey, + } + return bean +} diff --git a/pkg/cluster/bean/bean.go b/pkg/cluster/bean/bean.go new file mode 100644 index 0000000000..8d5199c9de --- /dev/null +++ b/pkg/cluster/bean/bean.go @@ -0,0 +1,77 @@ +package bean + +import ( + "github.com/devtron-labs/common-lib/utils/k8s" + "github.com/devtron-labs/common-lib/utils/k8s/commonBean" +) + +type PrometheusAuth struct { + UserName string `json:"userName,omitempty"` + Password string `json:"password,omitempty"` + TlsClientCert string `json:"tlsClientCert,omitempty"` + TlsClientKey string `json:"tlsClientKey,omitempty"` + IsAnonymous bool `json:"isAnonymous"` +} + +type ClusterBean struct { + Id int `json:"id" validate:"number"` + ClusterName string `json:"cluster_name,omitempty" validate:"required"` + Description string `json:"description"` + ServerUrl string `json:"server_url,omitempty" validate:"url,required"` + PrometheusUrl string `json:"prometheus_url,omitempty" validate:"validate-non-empty-url"` + Active bool `json:"active"` + Config map[string]string `json:"config,omitempty"` + PrometheusAuth *PrometheusAuth `json:"prometheusAuth,omitempty"` + DefaultClusterComponent []*DefaultClusterComponent `json:"defaultClusterComponent"` + AgentInstallationStage int `json:"agentInstallationStage,notnull"` // -1=external, 0=not triggered, 1=progressing, 2=success, 3=fails + K8sVersion string `json:"k8sVersion"` + HasConfigOrUrlChanged bool `json:"-"` + UserName string `json:"userName,omitempty"` + InsecureSkipTLSVerify bool `json:"insecureSkipTlsVerify"` + ErrorInConnecting string `json:"errorInConnecting"` + IsCdArgoSetup bool `json:"isCdArgoSetup"` + IsVirtualCluster bool `json:"isVirtualCluster"` + ClusterUpdated bool `json:"clusterUpdated"` +} + +func (bean ClusterBean) GetClusterConfig() *k8s.ClusterConfig { + host := bean.ServerUrl + configMap := bean.Config + bearerToken := configMap[commonBean.BearerToken] + clusterCfg := &k8s.ClusterConfig{Host: host, BearerToken: bearerToken} + clusterCfg.InsecureSkipTLSVerify = bean.InsecureSkipTLSVerify + if bean.InsecureSkipTLSVerify == false { + clusterCfg.KeyData = configMap[commonBean.TlsKey] + clusterCfg.CertData = configMap[commonBean.CertData] + clusterCfg.CAData = configMap[commonBean.CertificateAuthorityData] + } + return clusterCfg +} + +type UserInfo struct { + UserName string `json:"userName,omitempty"` + Config map[string]string `json:"config,omitempty"` + ErrorInConnecting string `json:"errorInConnecting"` +} + +type ValidateClusterBean struct { + UserInfos map[string]*UserInfo `json:"userInfos,omitempty""` + *ClusterBean +} + +type UserClusterBeanMapping struct { + Mapping map[string]*ClusterBean `json:"mapping"` +} + +type Kubeconfig struct { + Config string `json:"config"` +} + +type DefaultClusterComponent struct { + ComponentName string `json:"name"` + AppId int `json:"appId"` + InstalledAppId int `json:"installedAppId,omitempty"` + EnvId int `json:"envId"` + EnvName string `json:"envName"` + Status string `json:"status"` +} diff --git a/pkg/cluster/mocks/ClusterService.go b/pkg/cluster/mocks/ClusterService.go index cb82736b9d..b79bc15bdc 100644 --- a/pkg/cluster/mocks/ClusterService.go +++ b/pkg/cluster/mocks/ClusterService.go @@ -4,10 +4,10 @@ package mocks import ( context "context" + "github.com/devtron-labs/devtron/pkg/cluster/bean" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" userrepository "github.com/devtron-labs/devtron/pkg/auth/user/repository" - cluster "github.com/devtron-labs/devtron/pkg/cluster" - mock "github.com/stretchr/testify/mock" repository "github.com/devtron-labs/devtron/pkg/cluster/repository" @@ -25,16 +25,16 @@ type ClusterService struct { } // ConnectClustersInBatch provides a mock function with given fields: clusters, clusterExistInDb -func (_m *ClusterService) ConnectClustersInBatch(clusters []*cluster.ClusterBean, clusterExistInDb bool) { +func (_m *ClusterService) ConnectClustersInBatch(clusters []*bean.ClusterBean, clusterExistInDb bool) { _m.Called(clusters, clusterExistInDb) } // ConvertClusterBeanObjectToCluster provides a mock function with given fields: bean -func (_m *ClusterService) ConvertClusterBeanObjectToCluster(bean *cluster.ClusterBean) *v1alpha1.Cluster { +func (_m *ClusterService) ConvertClusterBeanObjectToCluster(bean *bean.ClusterBean) *v1alpha1.Cluster { ret := _m.Called(bean) var r0 *v1alpha1.Cluster - if rf, ok := ret.Get(0).(func(*cluster.ClusterBean) *v1alpha1.Cluster); ok { + if rf, ok := ret.Get(0).(func(*bean.ClusterBean) *v1alpha1.Cluster); ok { r0 = rf(bean) } else { if ret.Get(0) != nil { @@ -46,11 +46,11 @@ func (_m *ClusterService) ConvertClusterBeanObjectToCluster(bean *cluster.Cluste } // ConvertClusterBeanToCluster provides a mock function with given fields: clusterBean, userId -func (_m *ClusterService) ConvertClusterBeanToCluster(clusterBean *cluster.ClusterBean, userId int32) *repository.Cluster { +func (_m *ClusterService) ConvertClusterBeanToCluster(clusterBean *bean.ClusterBean, userId int32) *repository.Cluster { ret := _m.Called(clusterBean, userId) var r0 *repository.Cluster - if rf, ok := ret.Get(0).(func(*cluster.ClusterBean, int32) *repository.Cluster); ok { + if rf, ok := ret.Get(0).(func(*bean.ClusterBean, int32) *repository.Cluster); ok { r0 = rf(clusterBean, userId) } else { if ret.Get(0) != nil { @@ -62,18 +62,18 @@ func (_m *ClusterService) ConvertClusterBeanToCluster(clusterBean *cluster.Clust } // CreateGrafanaDataSource provides a mock function with given fields: clusterBean, env -func (_m *ClusterService) CreateGrafanaDataSource(clusterBean *cluster.ClusterBean, env *repository.Environment) (int, error) { +func (_m *ClusterService) CreateGrafanaDataSource(clusterBean *bean.ClusterBean, env *repository2.Environment) (int, error) { ret := _m.Called(clusterBean, env) var r0 int - if rf, ok := ret.Get(0).(func(*cluster.ClusterBean, *repository.Environment) int); ok { + if rf, ok := ret.Get(0).(func(*bean.ClusterBean, *repository2.Environment) int); ok { r0 = rf(clusterBean, env) } else { r0 = ret.Get(0).(int) } var r1 error - if rf, ok := ret.Get(1).(func(*cluster.ClusterBean, *repository.Environment) error); ok { + if rf, ok := ret.Get(1).(func(*bean.ClusterBean, *repository2.Environment) error); ok { r1 = rf(clusterBean, env) } else { r1 = ret.Error(1) @@ -83,11 +83,11 @@ func (_m *ClusterService) CreateGrafanaDataSource(clusterBean *cluster.ClusterBe } // Delete provides a mock function with given fields: bean, userId -func (_m *ClusterService) Delete(bean *cluster.ClusterBean, userId int32) error { +func (_m *ClusterService) Delete(bean *bean.ClusterBean, userId int32) error { ret := _m.Called(bean, userId) var r0 error - if rf, ok := ret.Get(0).(func(*cluster.ClusterBean, int32) error); ok { + if rf, ok := ret.Get(0).(func(*bean.ClusterBean, int32) error); ok { r0 = rf(bean, userId) } else { r0 = ret.Error(0) @@ -97,11 +97,11 @@ func (_m *ClusterService) Delete(bean *cluster.ClusterBean, userId int32) error } // DeleteFromDb provides a mock function with given fields: bean, userId -func (_m *ClusterService) DeleteFromDb(bean *cluster.ClusterBean, userId int32) error { +func (_m *ClusterService) DeleteFromDb(bean *bean.ClusterBean, userId int32) error { ret := _m.Called(bean, userId) var r0 error - if rf, ok := ret.Get(0).(func(*cluster.ClusterBean, int32) error); ok { + if rf, ok := ret.Get(0).(func(*bean.ClusterBean, int32) error); ok { r0 = rf(bean, userId) } else { r0 = ret.Error(0) @@ -134,15 +134,15 @@ func (_m *ClusterService) FetchRolesFromGroup(userId int32) ([]*userrepository.R } // FindAll provides a mock function with given fields: -func (_m *ClusterService) FindAll() ([]*cluster.ClusterBean, error) { +func (_m *ClusterService) FindAll() ([]*bean.ClusterBean, error) { ret := _m.Called() - var r0 []*cluster.ClusterBean - if rf, ok := ret.Get(0).(func() []*cluster.ClusterBean); ok { + var r0 []*bean.ClusterBean + if rf, ok := ret.Get(0).(func() []*bean.ClusterBean); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]*cluster.ClusterBean) + r0 = ret.Get(0).([]*bean.ClusterBean) } } @@ -157,15 +157,15 @@ func (_m *ClusterService) FindAll() ([]*cluster.ClusterBean, error) { } // FindAllActive provides a mock function with given fields: -func (_m *ClusterService) FindAllActive() ([]cluster.ClusterBean, error) { +func (_m *ClusterService) FindAllActive() ([]bean.ClusterBean, error) { ret := _m.Called() - var r0 []cluster.ClusterBean - if rf, ok := ret.Get(0).(func() []cluster.ClusterBean); ok { + var r0 []bean.ClusterBean + if rf, ok := ret.Get(0).(func() []bean.ClusterBean); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]cluster.ClusterBean) + r0 = ret.Get(0).([]bean.ClusterBean) } } @@ -180,15 +180,15 @@ func (_m *ClusterService) FindAllActive() ([]cluster.ClusterBean, error) { } // FindAllForAutoComplete provides a mock function with given fields: -func (_m *ClusterService) FindAllForAutoComplete() ([]cluster.ClusterBean, error) { +func (_m *ClusterService) FindAllForAutoComplete() ([]bean.ClusterBean, error) { ret := _m.Called() - var r0 []cluster.ClusterBean - if rf, ok := ret.Get(0).(func() []cluster.ClusterBean); ok { + var r0 []bean.ClusterBean + if rf, ok := ret.Get(0).(func() []bean.ClusterBean); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]cluster.ClusterBean) + r0 = ret.Get(0).([]bean.ClusterBean) } } @@ -203,15 +203,15 @@ func (_m *ClusterService) FindAllForAutoComplete() ([]cluster.ClusterBean, error } // FindAllForClusterByUserId provides a mock function with given fields: userId, isActionUserSuperAdmin -func (_m *ClusterService) FindAllForClusterByUserId(userId int32, isActionUserSuperAdmin bool) ([]cluster.ClusterBean, error) { +func (_m *ClusterService) FindAllForClusterByUserId(userId int32, isActionUserSuperAdmin bool) ([]bean.ClusterBean, error) { ret := _m.Called(userId, isActionUserSuperAdmin) - var r0 []cluster.ClusterBean - if rf, ok := ret.Get(0).(func(int32, bool) []cluster.ClusterBean); ok { + var r0 []bean.ClusterBean + if rf, ok := ret.Get(0).(func(int32, bool) []bean.ClusterBean); ok { r0 = rf(userId, isActionUserSuperAdmin) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]cluster.ClusterBean) + r0 = ret.Get(0).([]bean.ClusterBean) } } @@ -249,15 +249,15 @@ func (_m *ClusterService) FindAllNamespacesByUserIdAndClusterId(userId int32, cl } // FindAllWithoutConfig provides a mock function with given fields: -func (_m *ClusterService) FindAllWithoutConfig() ([]*cluster.ClusterBean, error) { +func (_m *ClusterService) FindAllWithoutConfig() ([]*bean.ClusterBean, error) { ret := _m.Called() - var r0 []*cluster.ClusterBean - if rf, ok := ret.Get(0).(func() []*cluster.ClusterBean); ok { + var r0 []*bean.ClusterBean + if rf, ok := ret.Get(0).(func() []*bean.ClusterBean); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]*cluster.ClusterBean) + r0 = ret.Get(0).([]*bean.ClusterBean) } } @@ -272,15 +272,15 @@ func (_m *ClusterService) FindAllWithoutConfig() ([]*cluster.ClusterBean, error) } // FindById provides a mock function with given fields: id -func (_m *ClusterService) FindById(id int) (*cluster.ClusterBean, error) { +func (_m *ClusterService) FindById(id int) (*bean.ClusterBean, error) { ret := _m.Called(id) - var r0 *cluster.ClusterBean - if rf, ok := ret.Get(0).(func(int) *cluster.ClusterBean); ok { + var r0 *bean.ClusterBean + if rf, ok := ret.Get(0).(func(int) *bean.ClusterBean); ok { r0 = rf(id) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*cluster.ClusterBean) + r0 = ret.Get(0).(*bean.ClusterBean) } } @@ -295,15 +295,15 @@ func (_m *ClusterService) FindById(id int) (*cluster.ClusterBean, error) { } // FindByIdWithoutConfig provides a mock function with given fields: id -func (_m *ClusterService) FindByIdWithoutConfig(id int) (*cluster.ClusterBean, error) { +func (_m *ClusterService) FindByIdWithoutConfig(id int) (*bean.ClusterBean, error) { ret := _m.Called(id) - var r0 *cluster.ClusterBean - if rf, ok := ret.Get(0).(func(int) *cluster.ClusterBean); ok { + var r0 *bean.ClusterBean + if rf, ok := ret.Get(0).(func(int) *bean.ClusterBean); ok { r0 = rf(id) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*cluster.ClusterBean) + r0 = ret.Get(0).(*bean.ClusterBean) } } @@ -318,15 +318,15 @@ func (_m *ClusterService) FindByIdWithoutConfig(id int) (*cluster.ClusterBean, e } // FindByIds provides a mock function with given fields: id -func (_m *ClusterService) FindByIds(id []int) ([]cluster.ClusterBean, error) { +func (_m *ClusterService) FindByIds(id []int) ([]bean.ClusterBean, error) { ret := _m.Called(id) - var r0 []cluster.ClusterBean - if rf, ok := ret.Get(0).(func([]int) []cluster.ClusterBean); ok { + var r0 []bean.ClusterBean + if rf, ok := ret.Get(0).(func([]int) []bean.ClusterBean); ok { r0 = rf(id) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]cluster.ClusterBean) + r0 = ret.Get(0).([]bean.ClusterBean) } } @@ -341,15 +341,15 @@ func (_m *ClusterService) FindByIds(id []int) ([]cluster.ClusterBean, error) { } // FindOne provides a mock function with given fields: clusterName -func (_m *ClusterService) FindOne(clusterName string) (*cluster.ClusterBean, error) { +func (_m *ClusterService) FindOne(clusterName string) (*bean.ClusterBean, error) { ret := _m.Called(clusterName) - var r0 *cluster.ClusterBean - if rf, ok := ret.Get(0).(func(string) *cluster.ClusterBean); ok { + var r0 *bean.ClusterBean + if rf, ok := ret.Get(0).(func(string) *bean.ClusterBean); ok { r0 = rf(clusterName) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*cluster.ClusterBean) + r0 = ret.Get(0).(*bean.ClusterBean) } } @@ -364,15 +364,15 @@ func (_m *ClusterService) FindOne(clusterName string) (*cluster.ClusterBean, err } // FindOneActive provides a mock function with given fields: clusterName -func (_m *ClusterService) FindOneActive(clusterName string) (*cluster.ClusterBean, error) { +func (_m *ClusterService) FindOneActive(clusterName string) (*bean.ClusterBean, error) { ret := _m.Called(clusterName) - var r0 *cluster.ClusterBean - if rf, ok := ret.Get(0).(func(string) *cluster.ClusterBean); ok { + var r0 *bean.ClusterBean + if rf, ok := ret.Get(0).(func(string) *bean.ClusterBean); ok { r0 = rf(clusterName) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*cluster.ClusterBean) + r0 = ret.Get(0).(*bean.ClusterBean) } } @@ -403,11 +403,11 @@ func (_m *ClusterService) GetAllClusterNamespaces() map[string][]string { } // GetClusterConfig provides a mock function with given fields: _a0 -func (_m *ClusterService) GetClusterConfig(_a0 *cluster.ClusterBean) (*util.ClusterConfig, error) { +func (_m *ClusterService) GetClusterConfig(_a0 *bean.ClusterBean) (*util.ClusterConfig, error) { ret := _m.Called(_a0) var r0 *util.ClusterConfig - if rf, ok := ret.Get(0).(func(*cluster.ClusterBean) *util.ClusterConfig); ok { + if rf, ok := ret.Get(0).(func(*bean.ClusterBean) *util.ClusterConfig); ok { r0 = rf(_a0) } else { if ret.Get(0) != nil { @@ -416,7 +416,7 @@ func (_m *ClusterService) GetClusterConfig(_a0 *cluster.ClusterBean) (*util.Clus } var r1 error - if rf, ok := ret.Get(1).(func(*cluster.ClusterBean) error); ok { + if rf, ok := ret.Get(1).(func(*bean.ClusterBean) error); ok { r1 = rf(_a0) } else { r1 = ret.Error(1) @@ -449,25 +449,25 @@ func (_m *ClusterService) GetK8sClient() (*v1.CoreV1Client, error) { } // HandleErrorInClusterConnections provides a mock function with given fields: clusters, respMap, clusterExistInDb -func (_m *ClusterService) HandleErrorInClusterConnections(clusters []*cluster.ClusterBean, respMap map[int]error, clusterExistInDb bool) { +func (_m *ClusterService) HandleErrorInClusterConnections(clusters []*bean.ClusterBean, respMap map[int]error, clusterExistInDb bool) { _m.Called(clusters, respMap, clusterExistInDb) } // Save provides a mock function with given fields: parent, bean, userId -func (_m *ClusterService) Save(parent context.Context, bean *cluster.ClusterBean, userId int32) (*cluster.ClusterBean, error) { +func (_m *ClusterService) Save(parent context.Context, bean *bean.ClusterBean, userId int32) (*bean.ClusterBean, error) { ret := _m.Called(parent, bean, userId) - var r0 *cluster.ClusterBean - if rf, ok := ret.Get(0).(func(context.Context, *cluster.ClusterBean, int32) *cluster.ClusterBean); ok { + var r0 *bean.ClusterBean + if rf, ok := ret.Get(0).(func(context.Context, *bean.ClusterBean, int32) *bean.ClusterBean); ok { r0 = rf(parent, bean, userId) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*cluster.ClusterBean) + r0 = ret.Get(0).(*bean.ClusterBean) } } var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *cluster.ClusterBean, int32) error); ok { + if rf, ok := ret.Get(1).(func(context.Context, *bean.ClusterBean, int32) error); ok { r1 = rf(parent, bean, userId) } else { r1 = ret.Error(1) @@ -477,20 +477,20 @@ func (_m *ClusterService) Save(parent context.Context, bean *cluster.ClusterBean } // Update provides a mock function with given fields: ctx, bean, userId -func (_m *ClusterService) Update(ctx context.Context, bean *cluster.ClusterBean, userId int32) (*cluster.ClusterBean, error) { +func (_m *ClusterService) Update(ctx context.Context, bean *bean.ClusterBean, userId int32) (*bean.ClusterBean, error) { ret := _m.Called(ctx, bean, userId) - var r0 *cluster.ClusterBean - if rf, ok := ret.Get(0).(func(context.Context, *cluster.ClusterBean, int32) *cluster.ClusterBean); ok { + var r0 *bean.ClusterBean + if rf, ok := ret.Get(0).(func(context.Context, *bean.ClusterBean, int32) *bean.ClusterBean); ok { r0 = rf(ctx, bean, userId) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*cluster.ClusterBean) + r0 = ret.Get(0).(*bean.ClusterBean) } } var r1 error - if rf, ok := ret.Get(1).(func(context.Context, *cluster.ClusterBean, int32) error); ok { + if rf, ok := ret.Get(1).(func(context.Context, *bean.ClusterBean, int32) error); ok { r1 = rf(ctx, bean, userId) } else { r1 = ret.Error(1) @@ -500,15 +500,15 @@ func (_m *ClusterService) Update(ctx context.Context, bean *cluster.ClusterBean, } // ValidateKubeconfig provides a mock function with given fields: kubeConfig -func (_m *ClusterService) ValidateKubeconfig(kubeConfig string) (map[string]*cluster.ValidateClusterBean, error) { +func (_m *ClusterService) ValidateKubeconfig(kubeConfig string) (map[string]*bean.ValidateClusterBean, error) { ret := _m.Called(kubeConfig) - var r0 map[string]*cluster.ValidateClusterBean - if rf, ok := ret.Get(0).(func(string) map[string]*cluster.ValidateClusterBean); ok { + var r0 map[string]*bean.ValidateClusterBean + if rf, ok := ret.Get(0).(func(string) map[string]*bean.ValidateClusterBean); ok { r0 = rf(kubeConfig) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(map[string]*cluster.ValidateClusterBean) + r0 = ret.Get(0).(map[string]*bean.ValidateClusterBean) } } diff --git a/pkg/cluster/ClusterRbacService.go b/pkg/cluster/rbac/ClusterRbacService.go similarity index 91% rename from pkg/cluster/ClusterRbacService.go rename to pkg/cluster/rbac/ClusterRbacService.go index b18891cfc3..2fac773a42 100644 --- a/pkg/cluster/ClusterRbacService.go +++ b/pkg/cluster/rbac/ClusterRbacService.go @@ -14,10 +14,12 @@ * limitations under the License. */ -package cluster +package rbac import ( "errors" + "github.com/devtron-labs/devtron/pkg/cluster" + "github.com/devtron-labs/devtron/pkg/environment" "strings" "github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin" @@ -31,15 +33,15 @@ type ClusterRbacService interface { type ClusterRbacServiceImpl struct { logger *zap.SugaredLogger - environmentService EnvironmentService + environmentService environment.EnvironmentService enforcer casbin.Enforcer - clusterService ClusterService + clusterService cluster.ClusterService userService user.UserService } -func NewClusterRbacServiceImpl(environmentService EnvironmentService, +func NewClusterRbacServiceImpl(environmentService environment.EnvironmentService, enforcer casbin.Enforcer, - clusterService ClusterService, + clusterService cluster.ClusterService, logger *zap.SugaredLogger, userService user.UserService) *ClusterRbacServiceImpl { clusterRbacService := &ClusterRbacServiceImpl{ diff --git a/pkg/cluster/repository/mocks/EnvironmentRepository.go b/pkg/cluster/repository/mocks/EnvironmentRepository.go index fda0ef4ba8..f1db158f7c 100644 --- a/pkg/cluster/repository/mocks/EnvironmentRepository.go +++ b/pkg/cluster/repository/mocks/EnvironmentRepository.go @@ -3,10 +3,9 @@ package mocks import ( + "github.com/devtron-labs/devtron/pkg/environment/repository" pg "github.com/go-pg/pg" mock "github.com/stretchr/testify/mock" - - repository "github.com/devtron-labs/devtron/pkg/cluster/repository" ) // EnvironmentRepository is an autogenerated mock type for the EnvironmentRepository type diff --git a/pkg/clusterTerminalAccess/UserTerminalAccessServiceIT_test.go b/pkg/clusterTerminalAccess/UserTerminalAccessServiceIT_test.go index 3cf62f015a..75949d771e 100644 --- a/pkg/clusterTerminalAccess/UserTerminalAccessServiceIT_test.go +++ b/pkg/clusterTerminalAccess/UserTerminalAccessServiceIT_test.go @@ -21,6 +21,7 @@ import ( "errors" "fmt" k8s2 "github.com/devtron-labs/common-lib/utils/k8s" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "testing" "time" @@ -161,7 +162,7 @@ func initTerminalAccessService(t *testing.T) *UserTerminalAccessServiceImpl { //clusterServiceImpl := cluster2.NewClusterServiceImplExtended(clusterRepositoryImpl, nil, nil, sugaredLogger, nil, nil, nil, nil, nil) k8sResourceHistoryRepositoryImpl := repository10.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) appRepositoryImpl := app.NewAppRepositoryImpl(db, sugaredLogger) - environmentRepositoryImpl := repository2.NewEnvironmentRepositoryImpl(db, sugaredLogger, nil) + environmentRepositoryImpl := repository3.NewEnvironmentRepositoryImpl(db, sugaredLogger, nil) k8sResourceHistoryServiceImpl := kubernetesResourceAuditLogs.Newk8sResourceHistoryServiceImpl(k8sResourceHistoryRepositoryImpl, sugaredLogger, appRepositoryImpl, environmentRepositoryImpl) //k8sApplicationService := application.NewK8sApplicationServiceImpl(sugaredLogger, clusterServiceImpl, nil, nil, nil, nil, k8sResourceHistoryServiceImpl, nil) K8sCommonService := k8s.NewK8sCommonServiceImpl(sugaredLogger, nil, nil, k8sResourceHistoryServiceImpl, clusterServiceImpl, nil) diff --git a/pkg/commonService/CommonService.go b/pkg/commonService/CommonService.go index 6eb35a48cc..f13ae11a35 100644 --- a/pkg/commonService/CommonService.go +++ b/pkg/commonService/CommonService.go @@ -25,8 +25,8 @@ import ( repository4 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" "github.com/devtron-labs/devtron/pkg/attributes/bean" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - repository3 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" repository2 "github.com/devtron-labs/devtron/pkg/team" "github.com/go-pg/pg" "go.uber.org/zap" diff --git a/pkg/configDiff/DeploymentConfigurationService.go b/pkg/configDiff/DeploymentConfigurationService.go index 160e620df2..0d232dac3e 100644 --- a/pkg/configDiff/DeploymentConfigurationService.go +++ b/pkg/configDiff/DeploymentConfigurationService.go @@ -10,12 +10,12 @@ import ( "github.com/devtron-labs/devtron/internal/util" bean3 "github.com/devtron-labs/devtron/pkg/bean" chartService "github.com/devtron-labs/devtron/pkg/chart" - "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/configDiff/adaptor" bean2 "github.com/devtron-labs/devtron/pkg/configDiff/bean" "github.com/devtron-labs/devtron/pkg/configDiff/helper" "github.com/devtron-labs/devtron/pkg/configDiff/utils" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/generateManifest" "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/adapter" diff --git a/pkg/delete/DeleteService.go b/pkg/delete/DeleteService.go index 212900d507..ecc036c23c 100644 --- a/pkg/delete/DeleteService.go +++ b/pkg/delete/DeleteService.go @@ -24,7 +24,9 @@ import ( "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" "github.com/devtron-labs/devtron/pkg/chartRepo" "github.com/devtron-labs/devtron/pkg/cluster" - "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean" + "github.com/devtron-labs/devtron/pkg/environment" + "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/types" @@ -35,20 +37,20 @@ import ( ) type DeleteService interface { - DeleteCluster(deleteRequest *cluster.ClusterBean, userId int32) error + DeleteCluster(deleteRequest *bean2.ClusterBean, userId int32) error DeleteEnvironment(deleteRequest *bean.EnvironmentBean, userId int32) error DeleteTeam(deleteRequest *team.TeamRequest) error DeleteChartRepo(deleteRequest *chartRepo.ChartRepoDto) error DeleteDockerRegistryConfig(deleteRequest *types.DockerArtifactStoreBean) error CanDeleteChartRegistryPullConfig(storeId string) bool - DeleteClusterSecret(deleteRequest *cluster.ClusterBean, err error) error + DeleteClusterSecret(deleteRequest *bean2.ClusterBean, err error) error } type DeleteServiceImpl struct { logger *zap.SugaredLogger teamService team.TeamService clusterService cluster.ClusterService - environmentService cluster.EnvironmentService + environmentService environment.EnvironmentService chartRepositoryService chartRepo.ChartRepositoryService installedAppRepository repository.InstalledAppRepository dockerRegistryConfig pipeline.DockerRegistryConfig @@ -60,7 +62,7 @@ type DeleteServiceImpl struct { func NewDeleteServiceImpl(logger *zap.SugaredLogger, teamService team.TeamService, clusterService cluster.ClusterService, - environmentService cluster.EnvironmentService, + environmentService environment.EnvironmentService, chartRepositoryService chartRepo.ChartRepositoryService, installedAppRepository repository.InstalledAppRepository, dockerRegistryConfig pipeline.DockerRegistryConfig, @@ -82,7 +84,7 @@ func NewDeleteServiceImpl(logger *zap.SugaredLogger, } } -func (impl DeleteServiceImpl) DeleteCluster(deleteRequest *cluster.ClusterBean, userId int32) error { +func (impl DeleteServiceImpl) DeleteCluster(deleteRequest *bean2.ClusterBean, userId int32) error { clusterName, err := impl.clusterService.DeleteFromDb(deleteRequest, userId) if err != nil { impl.logger.Errorw("error im deleting cluster", "err", err, "deleteRequest", deleteRequest) @@ -97,7 +99,7 @@ func (impl DeleteServiceImpl) DeleteCluster(deleteRequest *cluster.ClusterBean, return nil } -func (impl DeleteServiceImpl) DeleteClusterSecret(deleteRequest *cluster.ClusterBean, err error) error { +func (impl DeleteServiceImpl) DeleteClusterSecret(deleteRequest *bean2.ClusterBean, err error) error { // kubelink informers are listening this secret, deleting this secret will inform kubelink that this cluster is deleted k8sClient, err := impl.K8sUtil.GetCoreV1ClientInCluster() if err != nil { diff --git a/pkg/delete/DeleteServiceExtended.go b/pkg/delete/DeleteServiceExtended.go index 98957eb0a8..b3a7db9a7c 100644 --- a/pkg/delete/DeleteServiceExtended.go +++ b/pkg/delete/DeleteServiceExtended.go @@ -27,8 +27,10 @@ import ( repository2 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" "github.com/devtron-labs/devtron/pkg/chartRepo" "github.com/devtron-labs/devtron/pkg/cluster" - "github.com/devtron-labs/devtron/pkg/cluster/repository" - "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean" + "github.com/devtron-labs/devtron/pkg/environment" + "github.com/devtron-labs/devtron/pkg/environment/bean" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/team" @@ -47,7 +49,7 @@ type DeleteServiceExtendedImpl struct { func NewDeleteServiceExtendedImpl(logger *zap.SugaredLogger, teamService team.TeamService, clusterService cluster.ClusterService, - environmentService cluster.EnvironmentService, + environmentService environment.EnvironmentService, appRepository app.AppRepository, environmentRepository repository.EnvironmentRepository, pipelineRepository pipelineConfig.PipelineRepository, @@ -77,7 +79,7 @@ func NewDeleteServiceExtendedImpl(logger *zap.SugaredLogger, } } -func (impl DeleteServiceExtendedImpl) DeleteCluster(deleteRequest *cluster.ClusterBean, userId int32) error { +func (impl DeleteServiceExtendedImpl) DeleteCluster(deleteRequest *bean2.ClusterBean, userId int32) error { //finding if there are env in this cluster or not, if yes then will not delete env, err := impl.environmentRepository.FindByClusterId(deleteRequest.Id) if err != nil && err != pg.ErrNoRows { diff --git a/pkg/deployment/deployedApp/DeployedAppService.go b/pkg/deployment/deployedApp/DeployedAppService.go index be9e9f8d62..677cbaa128 100644 --- a/pkg/deployment/deployedApp/DeployedAppService.go +++ b/pkg/deployment/deployedApp/DeployedAppService.go @@ -25,10 +25,10 @@ import ( bean2 "github.com/devtron-labs/devtron/api/bean" "github.com/devtron-labs/devtron/internal/sql/models" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" - "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/deployment/deployedApp/bean" "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps" bean3 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/bean" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/k8s" "github.com/go-pg/pg" "go.uber.org/zap" diff --git a/pkg/deployment/manifest/ManifestCreationService.go b/pkg/deployment/manifest/ManifestCreationService.go index 1ceee64fe9..a9e16ef8c8 100644 --- a/pkg/deployment/manifest/ManifestCreationService.go +++ b/pkg/deployment/manifest/ManifestCreationService.go @@ -33,7 +33,6 @@ import ( "github.com/devtron-labs/devtron/pkg/app" appBean "github.com/devtron-labs/devtron/pkg/bean" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/deployment/common" bean3 "github.com/devtron-labs/devtron/pkg/deployment/manifest/bean" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics" @@ -41,6 +40,7 @@ import ( "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef" "github.com/devtron-labs/devtron/pkg/deployment/manifest/helper" "github.com/devtron-labs/devtron/pkg/dockerRegistry" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/imageDigestPolicy" "github.com/devtron-labs/devtron/pkg/k8s" repository3 "github.com/devtron-labs/devtron/pkg/pipeline/history/repository" diff --git a/pkg/deployment/trigger/devtronApps/PreStageTriggerService.go b/pkg/deployment/trigger/devtronApps/PreStageTriggerService.go index 33e47e6b1a..1605079d16 100644 --- a/pkg/deployment/trigger/devtronApps/PreStageTriggerService.go +++ b/pkg/deployment/trigger/devtronApps/PreStageTriggerService.go @@ -29,10 +29,10 @@ import ( "github.com/devtron-labs/devtron/internal/util" bean6 "github.com/devtron-labs/devtron/pkg/attributes/bean" bean4 "github.com/devtron-labs/devtron/pkg/bean" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" bean5 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" adapter2 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/adapter" "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/bean" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/imageDigestPolicy" "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/adapter" diff --git a/pkg/deployment/trigger/devtronApps/TriggerService.go b/pkg/deployment/trigger/devtronApps/TriggerService.go index a4ffae1c15..27d6dfbafd 100644 --- a/pkg/deployment/trigger/devtronApps/TriggerService.go +++ b/pkg/deployment/trigger/devtronApps/TriggerService.go @@ -52,7 +52,6 @@ import ( "github.com/devtron-labs/devtron/pkg/auth/user" bean2 "github.com/devtron-labs/devtron/pkg/bean" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/deployment/common" bean9 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" @@ -64,6 +63,7 @@ import ( "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/bean" "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/helper" "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/userDeploymentRequest/service" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" clientErrors "github.com/devtron-labs/devtron/pkg/errors" "github.com/devtron-labs/devtron/pkg/eventProcessor/out" "github.com/devtron-labs/devtron/pkg/imageDigestPolicy" diff --git a/pkg/deploymentGroup/DeploymentGroupService.go b/pkg/deploymentGroup/DeploymentGroupService.go index b8561a333b..081411a4fd 100644 --- a/pkg/deploymentGroup/DeploymentGroupService.go +++ b/pkg/deploymentGroup/DeploymentGroupService.go @@ -20,7 +20,7 @@ import ( "encoding/json" "fmt" "github.com/devtron-labs/devtron/internal/sql/repository/app" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/eventProcessor/out" bean2 "github.com/devtron-labs/devtron/pkg/eventProcessor/out/bean" "strings" diff --git a/pkg/dockerRegistry/DockerRegistryIpsConfigService.go b/pkg/dockerRegistry/DockerRegistryIpsConfigService.go index b8aeed6002..72921c9418 100644 --- a/pkg/dockerRegistry/DockerRegistryIpsConfigService.go +++ b/pkg/dockerRegistry/DockerRegistryIpsConfigService.go @@ -25,7 +25,7 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" util2 "github.com/devtron-labs/devtron/internal/util" "github.com/devtron-labs/devtron/pkg/cluster" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/go-pg/pg" "go.opentelemetry.io/otel" "go.uber.org/zap" diff --git a/pkg/cluster/EnvironmentService.go b/pkg/environment/EnvironmentService.go similarity index 97% rename from pkg/cluster/EnvironmentService.go rename to pkg/environment/EnvironmentService.go index e114d2e154..cff85d9220 100644 --- a/pkg/cluster/EnvironmentService.go +++ b/pkg/environment/EnvironmentService.go @@ -14,14 +14,17 @@ * limitations under the License. */ -package cluster +package environment import ( "encoding/json" "fmt" bean3 "github.com/devtron-labs/devtron/pkg/attributes/bean" + "github.com/devtron-labs/devtron/pkg/cluster" "github.com/devtron-labs/devtron/pkg/cluster/adapter" - bean2 "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + bean4 "github.com/devtron-labs/devtron/pkg/cluster/bean" + bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" + "github.com/devtron-labs/devtron/pkg/environment/repository" "strconv" "strings" "sync" @@ -34,7 +37,6 @@ import ( "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/internal/util" - "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/go-pg/pg" "github.com/pkg/errors" "go.uber.org/zap" @@ -48,7 +50,7 @@ type EnvironmentService interface { GetAllActive() ([]bean2.EnvironmentBean, error) GetAllActiveEnvironmentCount() (int, error) Delete(deleteReq *bean2.EnvironmentBean, userId int32) error - FindClusterByEnvId(id int) (*ClusterBean, error) + FindClusterByEnvId(id int) (*bean4.ClusterBean, error) // FindById provides an exposed struct of bean.EnvironmentBean; // Usage - can be used for API responses; FindById(id int) (*bean2.EnvironmentBean, error) @@ -64,14 +66,14 @@ type EnvironmentService interface { GetByClusterId(id int) ([]*bean2.EnvironmentBean, error) GetCombinedEnvironmentListForDropDown(token string, isActionUserSuperAdmin bool, auth func(email string, object []string) map[string]bool) ([]*bean2.ClusterEnvDto, error) GetCombinedEnvironmentListForDropDownByClusterIds(token string, clusterIds []int, auth func(token string, object string) bool) ([]*bean2.ClusterEnvDto, error) - HandleErrorInClusterConnections(clusters []*ClusterBean, respMap *sync.Map, clusterExistInDb bool) + HandleErrorInClusterConnections(clusters []*bean4.ClusterBean, respMap *sync.Map, clusterExistInDb bool) GetDetailsById(envId int) (*repository.Environment, error) } type EnvironmentServiceImpl struct { environmentRepository repository.EnvironmentRepository logger *zap.SugaredLogger - clusterService ClusterService + clusterService cluster.ClusterService K8sUtil *util2.K8sServiceImpl k8sInformerFactory informer.K8sInformerFactory //propertiesConfigService pipeline.PropertiesConfigService @@ -80,7 +82,7 @@ type EnvironmentServiceImpl struct { } func NewEnvironmentServiceImpl(environmentRepository repository.EnvironmentRepository, - clusterService ClusterService, logger *zap.SugaredLogger, + clusterService cluster.ClusterService, logger *zap.SugaredLogger, K8sUtil *util2.K8sServiceImpl, k8sInformerFactory informer.K8sInformerFactory, // propertiesConfigService pipeline.PropertiesConfigService, userAuthService user.UserAuthService, attributesRepository repository2.AttributesRepository) *EnvironmentServiceImpl { @@ -332,13 +334,13 @@ func (impl EnvironmentServiceImpl) GetExtendedEnvBeanById(id int) (*bean2.Enviro return adapter.NewEnvironmentBean(model), nil } -func (impl EnvironmentServiceImpl) FindClusterByEnvId(id int) (*ClusterBean, error) { +func (impl EnvironmentServiceImpl) FindClusterByEnvId(id int) (*bean4.ClusterBean, error) { model, err := impl.environmentRepository.FindById(id) if err != nil { impl.logger.Errorw("fetch cluster by environment id", "err", err) return nil, err } - clusterBean := &ClusterBean{} + clusterBean := &bean4.ClusterBean{} clusterBean.Id = model.Cluster.Id clusterBean.ClusterName = model.Cluster.ClusterName clusterBean.Active = model.Cluster.Active @@ -735,7 +737,7 @@ func (impl EnvironmentServiceImpl) Delete(deleteReq *bean2.EnvironmentBean, user return nil } -func (impl EnvironmentServiceImpl) HandleErrorInClusterConnections(clusters []*ClusterBean, respMap *sync.Map, clusterExistInDb bool) { +func (impl EnvironmentServiceImpl) HandleErrorInClusterConnections(clusters []*bean4.ClusterBean, respMap *sync.Map, clusterExistInDb bool) { impl.clusterService.HandleErrorInClusterConnections(clusters, respMap, clusterExistInDb) } diff --git a/pkg/cluster/EnvironmentService_test.go b/pkg/environment/EnvironmentService_test.go similarity index 91% rename from pkg/cluster/EnvironmentService_test.go rename to pkg/environment/EnvironmentService_test.go index af430fa72e..7501206351 100644 --- a/pkg/cluster/EnvironmentService_test.go +++ b/pkg/environment/EnvironmentService_test.go @@ -14,13 +14,14 @@ * limitations under the License. */ -package cluster +package environment import ( repository2 "github.com/devtron-labs/devtron/internal/sql/repository" mocks2 "github.com/devtron-labs/devtron/internal/sql/repository/mocks" "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/cluster/repository/mocks" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/sql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" @@ -38,8 +39,8 @@ func TestGetEnvironmentListForAutocomplete(t *testing.T) { } mockError := error(nil) - mockModels := []*repository.Environment{} - mockModel := repository.Environment{ + mockModels := []*repository3.Environment{} + mockModel := repository3.Environment{ Id: 1, Cluster: &repository.Cluster{ ClusterName: "demo", @@ -71,8 +72,8 @@ func TestGetEnvironmentListForAutocomplete(t *testing.T) { } mockError := error(nil) - mockModels := []*repository.Environment{} - mockModel := repository.Environment{ + mockModels := []*repository3.Environment{} + mockModel := repository3.Environment{ Id: 1, Cluster: &repository.Cluster{ ClusterName: "demo", @@ -104,8 +105,8 @@ func TestGetEnvironmentListForAutocomplete(t *testing.T) { } mockError := error(nil) - mockModels := []*repository.Environment{} - mockModel := repository.Environment{ + mockModels := []*repository3.Environment{} + mockModel := repository3.Environment{ Id: 1, Cluster: &repository.Cluster{ ClusterName: "demo", @@ -135,8 +136,8 @@ func TestGetEnvironmentListForAutocomplete(t *testing.T) { } mockError := error(nil) - mockModels := []*repository.Environment{} - mockModel := repository.Environment{ + mockModels := []*repository3.Environment{} + mockModel := repository3.Environment{ Id: 1, Name: "demo-devtron", Cluster: &repository.Cluster{ diff --git a/pkg/cluster/EnvironmentUtil.go b/pkg/environment/EnvironmentUtil.go similarity index 97% rename from pkg/cluster/EnvironmentUtil.go rename to pkg/environment/EnvironmentUtil.go index 46128359c6..820b40b7fe 100644 --- a/pkg/cluster/EnvironmentUtil.go +++ b/pkg/environment/EnvironmentUtil.go @@ -14,7 +14,7 @@ * limitations under the License. */ -package cluster +package environment import ( "fmt" diff --git a/pkg/cluster/repository/bean/bean.go b/pkg/environment/bean/bean.go similarity index 100% rename from pkg/cluster/repository/bean/bean.go rename to pkg/environment/bean/bean.go diff --git a/pkg/cluster/repository/EnvironmentRepository.go b/pkg/environment/repository/EnvironmentRepository.go similarity index 99% rename from pkg/cluster/repository/EnvironmentRepository.go rename to pkg/environment/repository/EnvironmentRepository.go index 15e806e2ca..e92b892245 100644 --- a/pkg/cluster/repository/EnvironmentRepository.go +++ b/pkg/environment/repository/EnvironmentRepository.go @@ -20,6 +20,7 @@ import ( "fmt" "github.com/devtron-labs/devtron/internal/sql/repository/appStatus" "github.com/devtron-labs/devtron/internal/sql/repository/helper" + "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/sql" "github.com/go-pg/pg" "github.com/go-pg/pg/orm" @@ -37,7 +38,7 @@ type Environment struct { Id int `sql:"id,pk"` Name string `sql:"environment_name"` ClusterId int `sql:"cluster_id"` - Cluster *Cluster + Cluster *repository.Cluster Active bool `sql:"active,notnull"` Default bool `sql:"default,notnull"` GrafanaDatasourceId int `sql:"grafana_datasource_id"` diff --git a/pkg/generateManifest/DeploymentTemplateService.go b/pkg/generateManifest/DeploymentTemplateService.go index fadd192726..ebb8362952 100644 --- a/pkg/generateManifest/DeploymentTemplateService.go +++ b/pkg/generateManifest/DeploymentTemplateService.go @@ -33,9 +33,9 @@ import ( "github.com/devtron-labs/devtron/pkg/app" "github.com/devtron-labs/devtron/pkg/chart" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - repository3 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef" bean2 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/bean" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" k8s2 "github.com/devtron-labs/devtron/pkg/k8s" "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/history" diff --git a/pkg/generateManifest/helper.go b/pkg/generateManifest/helper.go index c8a4fc7b4e..0a8045ad0a 100644 --- a/pkg/generateManifest/helper.go +++ b/pkg/generateManifest/helper.go @@ -24,7 +24,7 @@ import ( "github.com/devtron-labs/devtron/api/helm-app/gRPC" "github.com/devtron-labs/devtron/internal/sql/repository/app" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/environment/repository" "go.opentelemetry.io/otel" "golang.org/x/exp/maps" ) diff --git a/pkg/genericNotes/GenericNoteServiceIT_test.go b/pkg/genericNotes/GenericNoteServiceIT_test.go index f96ac939fc..13ce95592c 100644 --- a/pkg/genericNotes/GenericNoteServiceIT_test.go +++ b/pkg/genericNotes/GenericNoteServiceIT_test.go @@ -17,12 +17,12 @@ package genericNotes import ( + "github.com/devtron-labs/devtron/pkg/cluster/bean" "log" "testing" "time" repository3 "github.com/devtron-labs/devtron/pkg/auth/user/repository" - "github.com/devtron-labs/devtron/pkg/cluster" repository2 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" "github.com/devtron-labs/devtron/pkg/sql" @@ -207,7 +207,7 @@ func cleanDb(tt *testing.T) { } } -func createClusterData(DB *pg.DB, bean *cluster.ClusterBean) error { +func createClusterData(DB *pg.DB, bean *bean.ClusterBean) error { model := &repository.Cluster{ Id: bean.Id, ClusterName: bean.ClusterName, @@ -222,7 +222,7 @@ func createClusterData(DB *pg.DB, bean *cluster.ClusterBean) error { func initialiseDb(tt *testing.T) { DB, _ := getDbConn() - clusters := []cluster.ClusterBean{ + clusters := []bean.ClusterBean{ { Id: 10000, ClusterName: "test-cluster-1", diff --git a/pkg/k8s/K8sCommonService.go b/pkg/k8s/K8sCommonService.go index 76933907d5..399ca7b061 100644 --- a/pkg/k8s/K8sCommonService.go +++ b/pkg/k8s/K8sCommonService.go @@ -27,6 +27,7 @@ import ( internalUtil "github.com/devtron-labs/devtron/internal/util" "github.com/devtron-labs/devtron/pkg/argoApplication/read" "github.com/devtron-labs/devtron/pkg/cluster" + bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean" bean3 "github.com/devtron-labs/devtron/pkg/k8s/application/bean" "github.com/devtron-labs/devtron/util" "go.opentelemetry.io/otel" @@ -52,7 +53,7 @@ type K8sCommonService interface { UpdateResource(ctx context.Context, request *ResourceRequestBean) (resp *k8s.ManifestResponse, err error) DeleteResource(ctx context.Context, request *ResourceRequestBean) (resp *k8s.ManifestResponse, err error) ListEvents(ctx context.Context, request *ResourceRequestBean) (*k8s.EventsResponse, error) - GetRestConfigByClusterId(ctx context.Context, clusterId int) (*rest.Config, error, *cluster.ClusterBean) + GetRestConfigByClusterId(ctx context.Context, clusterId int) (*rest.Config, error, *bean2.ClusterBean) GetManifestsByBatch(ctx context.Context, request []ResourceRequestBean) ([]BatchResourceResponse, error) FilterK8sResources(ctx context.Context, resourceTreeInf map[string]interface{}, appDetail bean.AppDetailContainer, appId string, kindsToBeFiltered []string, externalArgoAppName string) []ResourceRequestBean RotatePods(ctx context.Context, request *RotatePodRequest) (*RotatePodResponse, error) @@ -61,7 +62,7 @@ type K8sCommonService interface { GetK8sServerVersion(clusterId int) (*version.Info, error) PortNumberExtraction(resp []BatchResourceResponse, resourceTree map[string]interface{}) map[string]interface{} GetRestConfigOfCluster(ctx context.Context, request *ResourceRequestBean) (*rest.Config, error) - GetK8sConfigAndClients(ctx context.Context, cluster *cluster.ClusterBean) (*rest.Config, *http.Client, *kubernetes.Clientset, error) + GetK8sConfigAndClients(ctx context.Context, cluster *bean2.ClusterBean) (*rest.Config, *http.Client, *kubernetes.Clientset, error) GetK8sConfigAndClientsByClusterId(ctx context.Context, clusterId int) (*rest.Config, *http.Client, *kubernetes.Clientset, error) GetPreferredVersionForAPIGroup(ctx context.Context, clusterId int, groupName string) (string, error) } @@ -311,7 +312,7 @@ func (impl *K8sCommonServiceImpl) GetManifestsByBatch(ctx context.Context, reque return res, nil } -func (impl *K8sCommonServiceImpl) GetRestConfigByClusterId(ctx context.Context, clusterId int) (*rest.Config, error, *cluster.ClusterBean) { +func (impl *K8sCommonServiceImpl) GetRestConfigByClusterId(ctx context.Context, clusterId int) (*rest.Config, error, *bean2.ClusterBean) { _, span := otel.Tracer("orchestrator").Start(ctx, "K8sApplicationService.GetRestConfigByClusterId") defer span.End() cluster, err := impl.clusterService.FindById(clusterId) @@ -689,7 +690,7 @@ func (impl *K8sCommonServiceImpl) PortNumberExtraction(resp []BatchResourceRespo return resourceTree } -func (impl *K8sCommonServiceImpl) GetK8sConfigAndClients(ctx context.Context, cluster *cluster.ClusterBean) (*rest.Config, *http.Client, *kubernetes.Clientset, error) { +func (impl *K8sCommonServiceImpl) GetK8sConfigAndClients(ctx context.Context, cluster *bean2.ClusterBean) (*rest.Config, *http.Client, *kubernetes.Clientset, error) { clusterConfig := cluster.GetClusterConfig() return impl.K8sUtil.GetK8sConfigAndClients(clusterConfig) } @@ -724,7 +725,7 @@ func (impl *K8sCommonServiceImpl) GetPreferredVersionForAPIGroup(ctx context.Con return "", k8s.NotFoundError } -func (impl *K8sCommonServiceImpl) getClusterBean(clusterId int) (*cluster.ClusterBean, error) { +func (impl *K8sCommonServiceImpl) getClusterBean(clusterId int) (*bean2.ClusterBean, error) { clusterDto, err := impl.clusterService.FindById(clusterId) if err != nil { impl.logger.Errorw("error in getting cluster by ID", "err", err, "clusterId", clusterId) diff --git a/pkg/k8s/application/k8sApplicationService_test.go b/pkg/k8s/application/k8sApplicationService_test.go index a52c733dbe..acc73f77ef 100644 --- a/pkg/k8s/application/k8sApplicationService_test.go +++ b/pkg/k8s/application/k8sApplicationService_test.go @@ -22,8 +22,8 @@ import ( "fmt" k8s2 "github.com/devtron-labs/common-lib/utils/k8s" helmBean "github.com/devtron-labs/devtron/api/helm-app/service/bean" - "github.com/devtron-labs/devtron/pkg/cluster" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/k8s" "github.com/devtron-labs/devtron/pkg/k8s/application/bean" "github.com/stretchr/testify/mock" @@ -100,67 +100,67 @@ type NewClusterServiceMock struct { mock.Mock } -func (n NewClusterServiceMock) Save(parent context.Context, bean *cluster.ClusterBean, userId int32) (*cluster.ClusterBean, error) { +func (n NewClusterServiceMock) Save(parent context.Context, bean *bean2.ClusterBean, userId int32) (*bean2.ClusterBean, error) { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) FindOne(clusterName string) (*cluster.ClusterBean, error) { +func (n NewClusterServiceMock) FindOne(clusterName string) (*bean2.ClusterBean, error) { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) FindOneActive(clusterName string) (*cluster.ClusterBean, error) { +func (n NewClusterServiceMock) FindOneActive(clusterName string) (*bean2.ClusterBean, error) { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) FindAll() ([]*cluster.ClusterBean, error) { +func (n NewClusterServiceMock) FindAll() ([]*bean2.ClusterBean, error) { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) FindAllActive() ([]cluster.ClusterBean, error) { +func (n NewClusterServiceMock) FindAllActive() ([]bean2.ClusterBean, error) { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) DeleteFromDb(bean *cluster.ClusterBean, userId int32) error { +func (n NewClusterServiceMock) DeleteFromDb(bean *bean2.ClusterBean, userId int32) error { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) FindById(id int) (*cluster.ClusterBean, error) { +func (n NewClusterServiceMock) FindById(id int) (*bean2.ClusterBean, error) { //TODO implement me - return &cluster.ClusterBean{}, nil + return &bean2.ClusterBean{}, nil } -func (n NewClusterServiceMock) FindByIds(id []int) ([]cluster.ClusterBean, error) { +func (n NewClusterServiceMock) FindByIds(id []int) ([]bean2.ClusterBean, error) { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) Update(ctx context.Context, bean *cluster.ClusterBean, userId int32) (*cluster.ClusterBean, error) { +func (n NewClusterServiceMock) Update(ctx context.Context, bean *bean2.ClusterBean, userId int32) (*bean2.ClusterBean, error) { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) Delete(bean *cluster.ClusterBean, userId int32) error { +func (n NewClusterServiceMock) Delete(bean *bean2.ClusterBean, userId int32) error { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) FindAllForAutoComplete() ([]cluster.ClusterBean, error) { +func (n NewClusterServiceMock) FindAllForAutoComplete() ([]bean2.ClusterBean, error) { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) CreateGrafanaDataSource(clusterBean *cluster.ClusterBean, env *repository.Environment) (int, error) { +func (n NewClusterServiceMock) CreateGrafanaDataSource(clusterBean *bean2.ClusterBean, env *repository.Environment) (int, error) { //TODO implement me panic("implement me") } -func (n NewClusterServiceMock) GetClusterConfig(cluster *cluster.ClusterBean) (*k8s2.ClusterConfig, error) { +func (n NewClusterServiceMock) GetClusterConfig(cluster *bean2.ClusterBean) (*k8s2.ClusterConfig, error) { //TODO implement me panic("implement me") } diff --git a/pkg/k8s/application/mocks/K8sApplicationService.go b/pkg/k8s/application/mocks/K8sApplicationService.go index 3d2063e7f0..4ca80d9cbd 100644 --- a/pkg/k8s/application/mocks/K8sApplicationService.go +++ b/pkg/k8s/application/mocks/K8sApplicationService.go @@ -6,6 +6,7 @@ import ( "github.com/devtron-labs/common-lib/utils/k8s" bean "github.com/devtron-labs/devtron/api/bean" helmBean "github.com/devtron-labs/devtron/api/helm-app/service/bean" + bean3 "github.com/devtron-labs/devtron/pkg/cluster/bean" k8s2 "github.com/devtron-labs/devtron/pkg/k8s" bean2 "github.com/devtron-labs/devtron/pkg/k8s/application/bean" @@ -358,7 +359,7 @@ func (_m *K8sApplicationService) GetResourceList(ctx context.Context, token stri } // GetRestConfigByClusterId provides a mock function with given fields: ctx, clusterId -func (_m *K8sApplicationService) GetRestConfigByClusterId(ctx context.Context, clusterId int) (*rest.Config, error, *cluster.ClusterBean) { +func (_m *K8sApplicationService) GetRestConfigByClusterId(ctx context.Context, clusterId int) (*rest.Config, error, *bean3.ClusterBean) { ret := _m.Called(ctx, clusterId) var r0 *rest.Config diff --git a/pkg/k8s/capacity/k8sCapacityService.go b/pkg/k8s/capacity/k8sCapacityService.go index 7768f810f5..0b95ef38bd 100644 --- a/pkg/k8s/capacity/k8sCapacityService.go +++ b/pkg/k8s/capacity/k8sCapacityService.go @@ -23,7 +23,7 @@ import ( k8s2 "github.com/devtron-labs/common-lib/utils/k8s" client "github.com/devtron-labs/devtron/api/helm-app/service" "github.com/devtron-labs/devtron/internal/util" - "github.com/devtron-labs/devtron/pkg/cluster" + bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean" "github.com/devtron-labs/devtron/pkg/k8s" application2 "github.com/devtron-labs/devtron/pkg/k8s/application" "github.com/devtron-labs/devtron/pkg/k8s/capacity/bean" @@ -47,10 +47,10 @@ import ( ) type K8sCapacityService interface { - GetClusterCapacityDetailList(ctx context.Context, clusters []*cluster.ClusterBean) ([]*bean.ClusterCapacityDetail, error) - GetClusterCapacityDetail(ctx context.Context, cluster *cluster.ClusterBean, callForList bool) (*bean.ClusterCapacityDetail, error) - GetNodeCapacityDetailsListByCluster(ctx context.Context, cluster *cluster.ClusterBean) ([]*bean.NodeCapacityDetail, error) - GetNodeCapacityDetailByNameAndCluster(ctx context.Context, cluster *cluster.ClusterBean, name string) (*bean.NodeCapacityDetail, error) + GetClusterCapacityDetailList(ctx context.Context, clusters []*bean2.ClusterBean) ([]*bean.ClusterCapacityDetail, error) + GetClusterCapacityDetail(ctx context.Context, cluster *bean2.ClusterBean, callForList bool) (*bean.ClusterCapacityDetail, error) + GetNodeCapacityDetailsListByCluster(ctx context.Context, cluster *bean2.ClusterBean) ([]*bean.NodeCapacityDetail, error) + GetNodeCapacityDetailByNameAndCluster(ctx context.Context, cluster *bean2.ClusterBean, name string) (*bean.NodeCapacityDetail, error) UpdateNodeManifest(ctx context.Context, request *bean.NodeUpdateRequestDto) (*k8s2.ManifestResponse, error) DeleteNode(ctx context.Context, request *bean.NodeUpdateRequestDto) (*k8s2.ManifestResponse, error) CordonOrUnCordonNode(ctx context.Context, request *bean.NodeUpdateRequestDto) (string, error) @@ -78,7 +78,7 @@ func NewK8sCapacityServiceImpl(Logger *zap.SugaredLogger, } } -func (impl *K8sCapacityServiceImpl) GetClusterCapacityDetailList(ctx context.Context, clusters []*cluster.ClusterBean) ([]*bean.ClusterCapacityDetail, error) { +func (impl *K8sCapacityServiceImpl) GetClusterCapacityDetailList(ctx context.Context, clusters []*bean2.ClusterBean) ([]*bean.ClusterCapacityDetail, error) { var clustersDetails []*bean.ClusterCapacityDetail for _, cluster := range clusters { clusterCapacityDetail := &bean.ClusterCapacityDetail{} @@ -101,7 +101,7 @@ func (impl *K8sCapacityServiceImpl) GetClusterCapacityDetailList(ctx context.Con return clustersDetails, nil } -func (impl *K8sCapacityServiceImpl) GetClusterCapacityDetail(ctx context.Context, cluster *cluster.ClusterBean, callForList bool) (*bean.ClusterCapacityDetail, error) { +func (impl *K8sCapacityServiceImpl) GetClusterCapacityDetail(ctx context.Context, cluster *bean2.ClusterBean, callForList bool) (*bean.ClusterCapacityDetail, error) { //getting kubernetes clientSet by rest config restConfig, k8sHttpClient, k8sClientSet, err := impl.k8sCommonService.GetK8sConfigAndClients(ctx, cluster) if err != nil { @@ -236,7 +236,7 @@ func (impl *K8sCapacityServiceImpl) updateMetricsData(ctx context.Context, metri return nil } -func (impl *K8sCapacityServiceImpl) GetNodeCapacityDetailsListByCluster(ctx context.Context, cluster *cluster.ClusterBean) ([]*bean.NodeCapacityDetail, error) { +func (impl *K8sCapacityServiceImpl) GetNodeCapacityDetailsListByCluster(ctx context.Context, cluster *bean2.ClusterBean) ([]*bean.NodeCapacityDetail, error) { //getting kubernetes clientSet by cluster config restConfig, k8sHttpClient, k8sClientSet, err := impl.k8sCommonService.GetK8sConfigAndClients(ctx, cluster) if err != nil { @@ -285,7 +285,7 @@ func (impl *K8sCapacityServiceImpl) GetNodeCapacityDetailsListByCluster(ctx cont return nodeDetails, nil } -func (impl *K8sCapacityServiceImpl) GetNodeCapacityDetailByNameAndCluster(ctx context.Context, cluster *cluster.ClusterBean, name string) (*bean.NodeCapacityDetail, error) { +func (impl *K8sCapacityServiceImpl) GetNodeCapacityDetailByNameAndCluster(ctx context.Context, cluster *bean2.ClusterBean, name string) (*bean.NodeCapacityDetail, error) { //getting kubernetes clientSet by rest config restConfig, k8sHttpClient, k8sClientSet, err := impl.k8sCommonService.GetK8sConfigAndClients(ctx, cluster) @@ -345,7 +345,7 @@ func (impl *K8sCapacityServiceImpl) getNodeGroup(node *corev1.Node) string { return nodeGroup } -func (impl *K8sCapacityServiceImpl) getNodeDetail(ctx context.Context, node *corev1.Node, nodeResourceUsage map[string]corev1.ResourceList, podList *corev1.PodList, callForList bool, cluster *cluster.ClusterBean) (*bean.NodeCapacityDetail, error) { +func (impl *K8sCapacityServiceImpl) getNodeDetail(ctx context.Context, node *corev1.Node, nodeResourceUsage map[string]corev1.ResourceList, podList *corev1.PodList, callForList bool, cluster *bean2.ClusterBean) (*bean.NodeCapacityDetail, error) { cpuAllocatable := node.Status.Allocatable[corev1.ResourceCPU] memoryAllocatable := node.Status.Allocatable[corev1.ResourceMemory] podCount := 0 diff --git a/pkg/kubernetesResourceAuditLogs/kubernetesResourceHistoryService.go b/pkg/kubernetesResourceAuditLogs/kubernetesResourceHistoryService.go index 0cec74c02a..3b4fd2c4fc 100644 --- a/pkg/kubernetesResourceAuditLogs/kubernetesResourceHistoryService.go +++ b/pkg/kubernetesResourceAuditLogs/kubernetesResourceHistoryService.go @@ -21,7 +21,7 @@ import ( "github.com/devtron-labs/common-lib/utils/k8s" "github.com/devtron-labs/devtron/api/helm-app/service/bean" "github.com/devtron-labs/devtron/internal/sql/repository/app" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" "github.com/devtron-labs/devtron/pkg/sql" "go.uber.org/zap" diff --git a/pkg/notifier/NotificationConfigService.go b/pkg/notifier/NotificationConfigService.go index 49985dce92..c50e246f9b 100644 --- a/pkg/notifier/NotificationConfigService.go +++ b/pkg/notifier/NotificationConfigService.go @@ -20,6 +20,7 @@ import ( "encoding/json" "errors" clusterService "github.com/devtron-labs/devtron/pkg/cluster" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/notifier/beans" "github.com/devtron-labs/devtron/pkg/resourceQualifiers" util3 "github.com/devtron-labs/devtron/util" @@ -27,7 +28,6 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/app" repository4 "github.com/devtron-labs/devtron/pkg/auth/user/repository" - repository3 "github.com/devtron-labs/devtron/pkg/cluster/repository" repository2 "github.com/devtron-labs/devtron/pkg/team" "github.com/devtron-labs/devtron/internal/sql/repository" diff --git a/pkg/pipeline/CdHandler.go b/pkg/pipeline/CdHandler.go index e62d080bee..a7bad07985 100644 --- a/pkg/pipeline/CdHandler.go +++ b/pkg/pipeline/CdHandler.go @@ -22,7 +22,10 @@ import ( "fmt" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/adapter/cdWorkflow" bean2 "github.com/devtron-labs/devtron/pkg/bean" + "github.com/devtron-labs/devtron/pkg/cluster/adapter" + bean3 "github.com/devtron-labs/devtron/pkg/cluster/bean" common2 "github.com/devtron-labs/devtron/pkg/deployment/common" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" util2 "github.com/devtron-labs/devtron/pkg/pipeline/util" "os" "path/filepath" @@ -39,7 +42,6 @@ import ( "github.com/devtron-labs/devtron/internal/util" "github.com/devtron-labs/devtron/pkg/auth/user" "github.com/devtron-labs/devtron/pkg/cluster" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" pipelineBean "github.com/devtron-labs/devtron/pkg/pipeline/bean" "github.com/devtron-labs/devtron/pkg/pipeline/executors" "github.com/devtron-labs/devtron/pkg/pipeline/types" @@ -152,9 +154,9 @@ func (impl *CdHandlerImpl) CancelStage(workflowRunnerId int, forceAbort bool, us return 0, err } - var clusterBean cluster.ClusterBean + var clusterBean bean3.ClusterBean if env != nil && env.Cluster != nil { - clusterBean = cluster.GetClusterBean(*env.Cluster) + clusterBean = adapter.GetClusterBean(*env.Cluster) } clusterConfig := clusterBean.GetClusterConfig() var isExtCluster bool @@ -491,9 +493,9 @@ func (impl *CdHandlerImpl) GetRunningWorkflowLogs(environmentId int, pipelineId impl.Logger.Errorw("error while fetching cd pipeline", "err", err) return nil, nil, err } - var clusterBean cluster.ClusterBean + var clusterBean bean3.ClusterBean if env != nil && env.Cluster != nil { - clusterBean = cluster.GetClusterBean(*env.Cluster) + clusterBean = adapter.GetClusterBean(*env.Cluster) } clusterConfig := clusterBean.GetClusterConfig() var isExtCluster bool diff --git a/pkg/pipeline/CiCdPipelineOrchestrator.go b/pkg/pipeline/CiCdPipelineOrchestrator.go index d5834cbf30..e0f70453af 100644 --- a/pkg/pipeline/CiCdPipelineOrchestrator.go +++ b/pkg/pipeline/CiCdPipelineOrchestrator.go @@ -28,6 +28,7 @@ import ( attributesBean "github.com/devtron-labs/devtron/pkg/attributes/bean" "github.com/devtron-labs/devtron/pkg/deployment/common" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/plugin" "golang.org/x/exp/slices" "net/http" @@ -52,7 +53,6 @@ import ( "github.com/devtron-labs/devtron/pkg/auth/user" bean3 "github.com/devtron-labs/devtron/pkg/auth/user/bean" "github.com/devtron-labs/devtron/pkg/chart" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/genericNotes" repository3 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" pipelineConfigBean "github.com/devtron-labs/devtron/pkg/pipeline/bean" diff --git a/pkg/pipeline/CiCdPipelineOrchestrator_test.go b/pkg/pipeline/CiCdPipelineOrchestrator_test.go index 8861031516..907374c206 100644 --- a/pkg/pipeline/CiCdPipelineOrchestrator_test.go +++ b/pkg/pipeline/CiCdPipelineOrchestrator_test.go @@ -18,6 +18,7 @@ package pipeline import ( "fmt" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "log" "testing" @@ -34,7 +35,6 @@ import ( "github.com/devtron-labs/devtron/pkg/attributes" "github.com/devtron-labs/devtron/pkg/auth/user" "github.com/devtron-labs/devtron/pkg/bean" - repository3 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/pipeline/history" repository4 "github.com/devtron-labs/devtron/pkg/pipeline/history/repository" "github.com/devtron-labs/devtron/pkg/pipeline/types" diff --git a/pkg/pipeline/CiHandler.go b/pkg/pipeline/CiHandler.go index 7061494328..ce7aab93f7 100644 --- a/pkg/pipeline/CiHandler.go +++ b/pkg/pipeline/CiHandler.go @@ -23,6 +23,10 @@ import ( "fmt" "github.com/devtron-labs/common-lib/utils/workFlow" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/workflow/cdWorkflow" + "github.com/devtron-labs/devtron/pkg/cluster/adapter" + bean4 "github.com/devtron-labs/devtron/pkg/cluster/bean" + "github.com/devtron-labs/devtron/pkg/environment" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" util3 "github.com/devtron-labs/devtron/pkg/pipeline/util" "io/ioutil" "net/http" @@ -40,7 +44,6 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/appWorkflow" "github.com/devtron-labs/devtron/pkg/auth/user" "github.com/devtron-labs/devtron/pkg/cluster" - repository3 "github.com/devtron-labs/devtron/pkg/cluster/repository" k8s2 "github.com/devtron-labs/devtron/pkg/k8s" bean3 "github.com/devtron-labs/devtron/pkg/pipeline/bean" "github.com/devtron-labs/devtron/pkg/pipeline/executors" @@ -114,14 +117,14 @@ type CiHandlerImpl struct { k8sCommonService k8s2.K8sCommonService clusterService cluster.ClusterService blobConfigStorageService BlobStorageConfigService - envService cluster.EnvironmentService + envService environment.EnvironmentService } func NewCiHandlerImpl(Logger *zap.SugaredLogger, ciService CiService, ciPipelineMaterialRepository pipelineConfig.CiPipelineMaterialRepository, gitSensorClient gitSensor.Client, ciWorkflowRepository pipelineConfig.CiWorkflowRepository, workflowService WorkflowService, ciLogService CiLogService, ciArtifactRepository repository.CiArtifactRepository, userService user.UserService, eventClient client.EventClient, eventFactory client.EventFactory, ciPipelineRepository pipelineConfig.CiPipelineRepository, appListingRepository repository.AppListingRepository, K8sUtil *k8s.K8sServiceImpl, cdPipelineRepository pipelineConfig.PipelineRepository, enforcerUtil rbac.EnforcerUtil, resourceGroupService resourceGroup.ResourceGroupService, envRepository repository3.EnvironmentRepository, imageTaggingService ImageTaggingService, k8sCommonService k8s2.K8sCommonService, clusterService cluster.ClusterService, blobConfigStorageService BlobStorageConfigService, appWorkflowRepository appWorkflow.AppWorkflowRepository, customTagService CustomTagService, - envService cluster.EnvironmentService) *CiHandlerImpl { + envService environment.EnvironmentService) *CiHandlerImpl { cih := &CiHandlerImpl{ Logger: Logger, ciService: ciService, @@ -701,7 +704,7 @@ func (impl *CiHandlerImpl) getRestConfig(workflow *pipelineConfig.CiWorkflow) (* return nil, err } - clusterBean := cluster.GetClusterBean(*env.Cluster) + clusterBean := adapter.GetClusterBean(*env.Cluster) clusterConfig := clusterBean.GetClusterConfig() restConfig, err := impl.K8sUtil.GetRestConfigByCluster(clusterConfig) @@ -831,9 +834,9 @@ func (impl *CiHandlerImpl) getWorkflowLogs(ciWorkflow *pipelineConfig.CiWorkflow if err != nil { return nil, nil, err } - var clusterBean cluster.ClusterBean + var clusterBean bean4.ClusterBean if env != nil && env.Cluster != nil { - clusterBean = cluster.GetClusterBean(*env.Cluster) + clusterBean = adapter.GetClusterBean(*env.Cluster) } clusterConfig = clusterBean.GetClusterConfig() isExt = true diff --git a/pkg/pipeline/CiService.go b/pkg/pipeline/CiService.go index 70c5464f44..ec9db6b095 100644 --- a/pkg/pipeline/CiService.go +++ b/pkg/pipeline/CiService.go @@ -26,6 +26,7 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/workflow/cdWorkflow" "github.com/devtron-labs/devtron/pkg/attributes" bean4 "github.com/devtron-labs/devtron/pkg/attributes/bean" + repository1 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/infraConfig" "github.com/devtron-labs/devtron/pkg/pipeline/adapter" "github.com/devtron-labs/devtron/pkg/pipeline/bean/CiPipeline" @@ -44,7 +45,6 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/helper" "github.com/devtron-labs/devtron/pkg/app" "github.com/devtron-labs/devtron/pkg/auth/user" - repository1 "github.com/devtron-labs/devtron/pkg/cluster/repository" pipelineConfigBean "github.com/devtron-labs/devtron/pkg/pipeline/bean" "github.com/devtron-labs/devtron/pkg/pipeline/repository" "github.com/devtron-labs/devtron/pkg/pipeline/types" diff --git a/pkg/pipeline/ConfigMapService.go b/pkg/pipeline/ConfigMapService.go index bbfb74148b..b2da85f8c0 100644 --- a/pkg/pipeline/ConfigMapService.go +++ b/pkg/pipeline/ConfigMapService.go @@ -24,8 +24,8 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/chartConfig" "github.com/devtron-labs/devtron/internal/util" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/commonService" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/pipeline/bean" history2 "github.com/devtron-labs/devtron/pkg/pipeline/history" "github.com/devtron-labs/devtron/pkg/pipeline/history/repository" diff --git a/pkg/pipeline/ConfigMapService_test.go b/pkg/pipeline/ConfigMapService_test.go index 0ddd147d6b..030d0183e7 100644 --- a/pkg/pipeline/ConfigMapService_test.go +++ b/pkg/pipeline/ConfigMapService_test.go @@ -23,9 +23,9 @@ import ( mocks2 "github.com/devtron-labs/devtron/internal/sql/repository/chartConfig/mocks" "github.com/devtron-labs/devtron/internal/util" "github.com/devtron-labs/devtron/pkg/chartRepo/repository/mocks" - "github.com/devtron-labs/devtron/pkg/cluster/repository" mocks6 "github.com/devtron-labs/devtron/pkg/cluster/repository/mocks" mocks3 "github.com/devtron-labs/devtron/pkg/commonService/mocks" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/pipeline/bean" mocks5 "github.com/devtron-labs/devtron/pkg/pipeline/history/mocks" "github.com/go-pg/pg" diff --git a/pkg/pipeline/DeploymentPipelineConfigService.go b/pkg/pipeline/DeploymentPipelineConfigService.go index 155687645f..375a7756eb 100644 --- a/pkg/pipeline/DeploymentPipelineConfigService.go +++ b/pkg/pipeline/DeploymentPipelineConfigService.go @@ -43,7 +43,6 @@ import ( "github.com/devtron-labs/devtron/pkg/chart" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" - clutserBean "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" "github.com/devtron-labs/devtron/pkg/deployment/common" bean4 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" commonBean "github.com/devtron-labs/devtron/pkg/deployment/gitOps/common/bean" @@ -51,6 +50,8 @@ import ( "github.com/devtron-labs/devtron/pkg/deployment/gitOps/git" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics" config2 "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" + clutserBean "github.com/devtron-labs/devtron/pkg/environment/bean" + repository6 "github.com/devtron-labs/devtron/pkg/environment/repository" clientErrors "github.com/devtron-labs/devtron/pkg/errors" "github.com/devtron-labs/devtron/pkg/eventProcessor/out" "github.com/devtron-labs/devtron/pkg/imageDigestPolicy" @@ -127,7 +128,7 @@ type CdPipelineConfigService interface { type CdPipelineConfigServiceImpl struct { logger *zap.SugaredLogger pipelineRepository pipelineConfig.PipelineRepository - environmentRepository repository2.EnvironmentRepository + environmentRepository repository6.EnvironmentRepository pipelineConfigRepository chartConfig.PipelineConfigRepository appWorkflowRepository appWorkflow.AppWorkflowRepository pipelineStageService PipelineStageService @@ -164,7 +165,7 @@ type CdPipelineConfigServiceImpl struct { } func NewCdPipelineConfigServiceImpl(logger *zap.SugaredLogger, pipelineRepository pipelineConfig.PipelineRepository, - environmentRepository repository2.EnvironmentRepository, pipelineConfigRepository chartConfig.PipelineConfigRepository, + environmentRepository repository6.EnvironmentRepository, pipelineConfigRepository chartConfig.PipelineConfigRepository, appWorkflowRepository appWorkflow.AppWorkflowRepository, pipelineStageService PipelineStageService, appRepo app2.AppRepository, appService app.AppService, deploymentGroupRepository repository.DeploymentGroupRepository, ciCdPipelineOrchestrator CiCdPipelineOrchestrator, appStatusRepository appStatus.AppStatusRepository, @@ -1024,7 +1025,7 @@ func (impl *CdPipelineConfigServiceImpl) GetCdPipelinesForApp(appId int) (cdPipe if len(envIds) == 0 || len(dbPipelineIds) == 0 { return cdPipelines, nil } - envMapping := make(map[int]*repository2.Environment) + envMapping := make(map[int]*repository6.Environment) appWorkflowMapping := make(map[int]*appWorkflow.AppWorkflowMapping) envs, err := impl.environmentRepository.FindByIds(envIds) @@ -1051,7 +1052,7 @@ func (impl *CdPipelineConfigServiceImpl) GetCdPipelinesForApp(appId int) (cdPipe var pipelines []*bean.CDPipelineConfigObject for _, dbPipeline := range cdPipelines.Pipelines { - environment := &repository2.Environment{} + environment := &repository6.Environment{} var strategies []*chartConfig.PipelineStrategy appToWorkflowMapping := &appWorkflow.AppWorkflowMapping{} @@ -1510,7 +1511,7 @@ func (impl *CdPipelineConfigServiceImpl) MarkGitOpsDevtronAppsDeletedWhereArgoAp func (impl *CdPipelineConfigServiceImpl) GetEnvironmentListForAutocompleteFilter(envName string, clusterIds []int, offset int, size int, token string, checkAuthBatch func(token string, appObject []string, envObject []string) (map[string]bool, map[string]bool), ctx context.Context) (*clutserBean.ResourceGroupingResponse, error) { result := &clutserBean.ResourceGroupingResponse{} - var models []*repository2.Environment + var models []*repository6.Environment var beans []clutserBean.EnvironmentBean var err error if len(envName) > 0 && len(clusterIds) > 0 { diff --git a/pkg/pipeline/ImageTaggingService.go b/pkg/pipeline/ImageTaggingService.go index f44bba85c6..62e30b184e 100644 --- a/pkg/pipeline/ImageTaggingService.go +++ b/pkg/pipeline/ImageTaggingService.go @@ -22,7 +22,7 @@ import ( "github.com/caarlos0/env" repository "github.com/devtron-labs/devtron/internal/sql/repository/imageTagging" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/pipeline/types" "github.com/go-pg/pg" "go.uber.org/zap" diff --git a/pkg/pipeline/ImageTaggingService_test.go b/pkg/pipeline/ImageTaggingService_test.go index c887ba2127..41510b3569 100644 --- a/pkg/pipeline/ImageTaggingService_test.go +++ b/pkg/pipeline/ImageTaggingService_test.go @@ -24,8 +24,8 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" mocks2 "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/mocks" "github.com/devtron-labs/devtron/internal/util" - repository1 "github.com/devtron-labs/devtron/pkg/cluster/repository" mocks3 "github.com/devtron-labs/devtron/pkg/cluster/repository/mocks" + repository1 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/pipeline/types" "github.com/go-pg/pg" "github.com/stretchr/testify/assert" diff --git a/pkg/pipeline/PipelineStageServiceIT_test.go b/pkg/pipeline/PipelineStageServiceIT_test.go index 02ec7e3bb5..87ca74ba8a 100644 --- a/pkg/pipeline/PipelineStageServiceIT_test.go +++ b/pkg/pipeline/PipelineStageServiceIT_test.go @@ -23,7 +23,7 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/appStatus" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" bean2 "github.com/devtron-labs/devtron/pkg/bean" - repository3 "github.com/devtron-labs/devtron/pkg/cluster/repository" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/pipeline/bean" "github.com/devtron-labs/devtron/pkg/pipeline/repository" repository2 "github.com/devtron-labs/devtron/pkg/plugin/repository" diff --git a/pkg/pipeline/PropertiesConfig.go b/pkg/pipeline/PropertiesConfig.go index ad4e2806d6..6639452298 100644 --- a/pkg/pipeline/PropertiesConfig.go +++ b/pkg/pipeline/PropertiesConfig.go @@ -22,13 +22,13 @@ import ( "fmt" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics" bean2 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/bean" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/pipeline/bean" "github.com/devtron-labs/devtron/pkg/variables" repository5 "github.com/devtron-labs/devtron/pkg/variables/repository" "time" chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/pipeline/history" "github.com/devtron-labs/devtron/pkg/sql" diff --git a/pkg/pipeline/WorkflowService.go b/pkg/pipeline/WorkflowService.go index c51b74b018..0b5c1e57a6 100644 --- a/pkg/pipeline/WorkflowService.go +++ b/pkg/pipeline/WorkflowService.go @@ -28,7 +28,7 @@ import ( "github.com/devtron-labs/devtron/api/bean" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/workflow/cdWorkflow" "github.com/devtron-labs/devtron/pkg/app" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/infraConfig" k8s2 "github.com/devtron-labs/devtron/pkg/k8s" bean3 "github.com/devtron-labs/devtron/pkg/pipeline/bean" diff --git a/pkg/pipeline/WorkflowServiceIT_test.go b/pkg/pipeline/WorkflowServiceIT_test.go index ece775c66d..0838ce5d4c 100644 --- a/pkg/pipeline/WorkflowServiceIT_test.go +++ b/pkg/pipeline/WorkflowServiceIT_test.go @@ -31,6 +31,7 @@ import ( "github.com/devtron-labs/devtron/pkg/cluster" repository3 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/commonService" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" k8s2 "github.com/devtron-labs/devtron/pkg/k8s" "github.com/devtron-labs/devtron/pkg/k8s/informer" bean2 "github.com/devtron-labs/devtron/pkg/pipeline/bean" @@ -76,7 +77,7 @@ func getWorkflowServiceImpl(t *testing.T) *WorkflowServiceImpl { clusterService := cluster.NewClusterServiceImpl(clusterRepositoryImpl, logger, k8sUtil, k8sInformerFactoryImpl, nil, nil, nil) k8sCommonServiceImpl := k8s2.NewK8sCommonServiceImpl(logger, k8sUtil, clusterService, nil) appStatusRepositoryImpl := appStatus.NewAppStatusRepositoryImpl(dbConnection, logger) - environmentRepositoryImpl := repository3.NewEnvironmentRepositoryImpl(dbConnection, logger, appStatusRepositoryImpl) + environmentRepositoryImpl := repository2.NewEnvironmentRepositoryImpl(dbConnection, logger, appStatusRepositoryImpl) argoWorkflowExecutorImpl := executors.NewArgoWorkflowExecutorImpl(logger) workflowServiceImpl, _ := NewWorkflowServiceImpl(logger, environmentRepositoryImpl, ciCdConfig, appService, globalCMCSServiceImpl, argoWorkflowExecutorImpl, k8sUtil, nil, k8sCommonServiceImpl, nil) return workflowServiceImpl @@ -705,7 +706,7 @@ func TestWorkflowServiceImpl_SubmitWorkflow(t *testing.T) { IsExtRun: false, ImageRetryCount: 0, ImageRetryInterval: 5, - Env: &repository3.Environment{ + Env: &repository2.Environment{ Id: 3, Name: "2-devtron", ClusterId: 2, diff --git a/pkg/pipeline/mock_pipeline/PipelineBuilder.go b/pkg/pipeline/mock_pipeline/PipelineBuilder.go index dd2acc9732..db8e4b1748 100644 --- a/pkg/pipeline/mock_pipeline/PipelineBuilder.go +++ b/pkg/pipeline/mock_pipeline/PipelineBuilder.go @@ -6,7 +6,7 @@ package mock_pipeline import ( context "context" - bean2 "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" + bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" reflect "reflect" bean "github.com/devtron-labs/devtron/api/bean" diff --git a/pkg/pipeline/types/CiCdConfig.go b/pkg/pipeline/types/CiCdConfig.go index f5bcadd57e..8b4e37a5fa 100644 --- a/pkg/pipeline/types/CiCdConfig.go +++ b/pkg/pipeline/types/CiCdConfig.go @@ -25,7 +25,7 @@ import ( blob_storage "github.com/devtron-labs/common-lib/blob-storage" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/workflow/cdWorkflow" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/pipeline/bean" v12 "k8s.io/api/core/v1" "k8s.io/client-go/rest" diff --git a/pkg/pipeline/types/Workflow.go b/pkg/pipeline/types/Workflow.go index 1f9f3704b6..2e65b8695d 100644 --- a/pkg/pipeline/types/Workflow.go +++ b/pkg/pipeline/types/Workflow.go @@ -29,7 +29,7 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/workflow/cdWorkflow" bean2 "github.com/devtron-labs/devtron/pkg/bean" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/infraConfig" "github.com/devtron-labs/devtron/pkg/pipeline/bean" "github.com/devtron-labs/devtron/pkg/pipeline/bean/CiPipeline" diff --git a/pkg/security/ImageScanService.go b/pkg/security/ImageScanService.go index bcfc7222b5..8d1d0c52b4 100644 --- a/pkg/security/ImageScanService.go +++ b/pkg/security/ImageScanService.go @@ -19,8 +19,9 @@ package security import ( "context" securityBean "github.com/devtron-labs/devtron/internal/sql/repository/security/bean" - "github.com/devtron-labs/devtron/pkg/cluster/repository/bean" bean2 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/bean" + "github.com/devtron-labs/devtron/pkg/environment" + "github.com/devtron-labs/devtron/pkg/environment/bean" bean3 "github.com/devtron-labs/devtron/pkg/security/bean" "go.opentelemetry.io/otel" "time" @@ -33,7 +34,6 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/security" - "github.com/devtron-labs/devtron/pkg/cluster" "github.com/go-pg/pg" "go.uber.org/zap" ) @@ -57,7 +57,7 @@ type ImageScanServiceImpl struct { userService user.UserService teamRepository repository2.TeamRepository appRepository repository1.AppRepository - envService cluster.EnvironmentService + envService environment.EnvironmentService ciArtifactRepository repository.CiArtifactRepository policyService PolicyService pipelineRepository pipelineConfig.PipelineRepository @@ -72,7 +72,7 @@ func NewImageScanServiceImpl(Logger *zap.SugaredLogger, scanHistoryRepository se cveStoreRepository security.CveStoreRepository, imageScanDeployInfoRepository security.ImageScanDeployInfoRepository, userService user.UserService, teamRepository repository2.TeamRepository, appRepository repository1.AppRepository, - envService cluster.EnvironmentService, ciArtifactRepository repository.CiArtifactRepository, policyService PolicyService, + envService environment.EnvironmentService, ciArtifactRepository repository.CiArtifactRepository, policyService PolicyService, pipelineRepository pipelineConfig.PipelineRepository, ciPipelineRepository pipelineConfig.CiPipelineRepository, scanToolMetaDataRepository security.ScanToolMetadataRepository, scanToolExecutionHistoryMappingRepository security.ScanToolExecutionHistoryMappingRepository, cvePolicyRepository security.CvePolicyRepository) *ImageScanServiceImpl { return &ImageScanServiceImpl{Logger: Logger, scanHistoryRepository: scanHistoryRepository, scanResultRepository: scanResultRepository, diff --git a/pkg/security/policyService.go b/pkg/security/policyService.go index e00fa0eacf..fe595fae7f 100644 --- a/pkg/security/policyService.go +++ b/pkg/security/policyService.go @@ -23,6 +23,7 @@ import ( repository1 "github.com/devtron-labs/devtron/internal/sql/repository/app" "github.com/devtron-labs/devtron/internal/sql/repository/helper" securityBean "github.com/devtron-labs/devtron/internal/sql/repository/security/bean" + "github.com/devtron-labs/devtron/pkg/environment" "github.com/devtron-labs/devtron/pkg/pipeline/types" "github.com/devtron-labs/devtron/pkg/sql" "net/http" @@ -51,7 +52,7 @@ type PolicyService interface { HasBlockedCVE(cves []*security.CveStore, cvePolicy map[string]*security.CvePolicy, severityPolicy map[securityBean.Severity]*security.CvePolicy) bool } type PolicyServiceImpl struct { - environmentService cluster.EnvironmentService + environmentService environment.EnvironmentService logger *zap.SugaredLogger apRepository repository1.AppRepository pipelineOverride chartConfig.PipelineOverrideRepository @@ -69,7 +70,7 @@ type PolicyServiceImpl struct { ciTemplateRepository pipelineConfig.CiTemplateRepository } -func NewPolicyServiceImpl(environmentService cluster.EnvironmentService, +func NewPolicyServiceImpl(environmentService environment.EnvironmentService, logger *zap.SugaredLogger, apRepository repository1.AppRepository, pipelineOverride chartConfig.PipelineOverrideRepository, diff --git a/pkg/terminal/terminalSesion.go b/pkg/terminal/terminalSesion.go index ba9a485975..4e269a8c8b 100644 --- a/pkg/terminal/terminalSesion.go +++ b/pkg/terminal/terminalSesion.go @@ -28,7 +28,9 @@ import ( "github.com/devtron-labs/devtron/internal/middleware" "github.com/devtron-labs/devtron/pkg/argoApplication/read" "github.com/devtron-labs/devtron/pkg/cluster" + "github.com/devtron-labs/devtron/pkg/cluster/bean" "github.com/devtron-labs/devtron/pkg/cluster/repository" + "github.com/devtron-labs/devtron/pkg/environment" errors1 "github.com/juju/errors" "go.uber.org/zap" "io" @@ -447,7 +449,7 @@ type TerminalSessionHandler interface { } type TerminalSessionHandlerImpl struct { - environmentService cluster.EnvironmentService + environmentService environment.EnvironmentService clusterService cluster.ClusterService logger *zap.SugaredLogger k8sUtil *k8s.K8sServiceImpl @@ -455,7 +457,7 @@ type TerminalSessionHandlerImpl struct { argoApplicationReadService read.ArgoApplicationReadService } -func NewTerminalSessionHandlerImpl(environmentService cluster.EnvironmentService, clusterService cluster.ClusterService, +func NewTerminalSessionHandlerImpl(environmentService environment.EnvironmentService, clusterService cluster.ClusterService, logger *zap.SugaredLogger, k8sUtil *k8s.K8sServiceImpl, ephemeralContainerService cluster.EphemeralContainerService, argoApplicationReadService read.ArgoApplicationReadService) *TerminalSessionHandlerImpl { return &TerminalSessionHandlerImpl{ @@ -526,7 +528,7 @@ func (impl *TerminalSessionHandlerImpl) GetTerminalSession(req *TerminalSessionR } func (impl *TerminalSessionHandlerImpl) getClientSetAndRestConfigForTerminalConn(req *TerminalSessionRequest) (*rest.Config, *kubernetes.Clientset, error) { - var clusterBean *cluster.ClusterBean + var clusterBean *bean.ClusterBean var clusterConfig *k8s.ClusterConfig var restConfig *rest.Config var err error diff --git a/pkg/variables/ScopedVariableService.go b/pkg/variables/ScopedVariableService.go index bd930805cf..c24771ade9 100644 --- a/pkg/variables/ScopedVariableService.go +++ b/pkg/variables/ScopedVariableService.go @@ -23,6 +23,7 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/app" "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/devtronResource/read" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/resourceQualifiers" "github.com/devtron-labs/devtron/pkg/sql" "github.com/devtron-labs/devtron/pkg/variables/cache" @@ -56,7 +57,7 @@ type ScopedVariableServiceImpl struct { VariableCache *cache.VariableCacheObj } -func NewScopedVariableServiceImpl(logger *zap.SugaredLogger, scopedVariableRepository repository2.ScopedVariableRepository, appRepository app.AppRepository, environmentRepository repository.EnvironmentRepository, devtronResourceSearchableKeyService read.DevtronResourceSearchableKeyService, clusterRepository repository.ClusterRepository, +func NewScopedVariableServiceImpl(logger *zap.SugaredLogger, scopedVariableRepository repository2.ScopedVariableRepository, appRepository app.AppRepository, environmentRepository repository3.EnvironmentRepository, devtronResourceSearchableKeyService read.DevtronResourceSearchableKeyService, clusterRepository repository.ClusterRepository, qualifierMappingService resourceQualifiers.QualifierMappingService) (*ScopedVariableServiceImpl, error) { scopedVariableService := &ScopedVariableServiceImpl{ logger: logger, diff --git a/pkg/workflow/status/WorkflowStatusService.go b/pkg/workflow/status/WorkflowStatusService.go index f176bf5ab0..352df64a46 100644 --- a/pkg/workflow/status/WorkflowStatusService.go +++ b/pkg/workflow/status/WorkflowStatusService.go @@ -34,9 +34,9 @@ import ( "github.com/devtron-labs/devtron/pkg/app/status" app_status "github.com/devtron-labs/devtron/pkg/appStatus" repository3 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" common2 "github.com/devtron-labs/devtron/pkg/deployment/common" bean3 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/bean" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/eventProcessor/out" "github.com/devtron-labs/devtron/pkg/pipeline/types" "github.com/devtron-labs/devtron/pkg/sql" diff --git a/util/rbac/EnforcerUtil.go b/util/rbac/EnforcerUtil.go index a2abf61acd..bf1ee19602 100644 --- a/util/rbac/EnforcerUtil.go +++ b/util/rbac/EnforcerUtil.go @@ -19,6 +19,7 @@ package rbac import ( "fmt" "github.com/devtron-labs/devtron/pkg/app/dbMigration" + repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" "golang.org/x/exp/maps" "strings" @@ -85,7 +86,7 @@ type EnforcerUtilImpl struct { logger *zap.SugaredLogger teamRepository team.TeamRepository appRepo app.AppRepository - environmentRepository repository.EnvironmentRepository + environmentRepository repository2.EnvironmentRepository pipelineRepository pipelineConfig.PipelineRepository ciPipelineRepository pipelineConfig.CiPipelineRepository clusterRepository repository.ClusterRepository @@ -94,7 +95,7 @@ type EnforcerUtilImpl struct { } func NewEnforcerUtilImpl(logger *zap.SugaredLogger, teamRepository team.TeamRepository, - appRepo app.AppRepository, environmentRepository repository.EnvironmentRepository, + appRepo app.AppRepository, environmentRepository repository2.EnvironmentRepository, pipelineRepository pipelineConfig.PipelineRepository, ciPipelineRepository pipelineConfig.CiPipelineRepository, clusterRepository repository.ClusterRepository, enforcer casbin.Enforcer, dbMigration dbMigration.DbMigration) *EnforcerUtilImpl { @@ -752,7 +753,7 @@ func (impl EnforcerUtilImpl) GetRbacObjectsByEnvIdsAndAppIdBatch(appIdToEnvIds m impl.logger.Errorw("error occurred in fetching environments", "envIds", envIds) return objects } - envIdIdToEnv := make(map[int]*repository.Environment) + envIdIdToEnv := make(map[int]*repository2.Environment) for _, env := range environments { envIdIdToEnv[env.Id] = env } @@ -766,7 +767,7 @@ func (impl EnforcerUtilImpl) GetRbacObjectsByEnvIdsAndAppIdBatch(appIdToEnvIds m var appName = application.AppName for _, envId := range envIds { - var env *repository.Environment + var env *repository2.Environment var ok bool if env, ok = envIdIdToEnv[envId]; !ok { continue diff --git a/wire_gen.go b/wire_gen.go index 0602deef87..5a52a584a9 100644 --- a/wire_gen.go +++ b/wire_gen.go @@ -137,6 +137,7 @@ import ( "github.com/devtron-labs/devtron/pkg/chartRepo" "github.com/devtron-labs/devtron/pkg/chartRepo/repository" cluster2 "github.com/devtron-labs/devtron/pkg/cluster" + rbac2 "github.com/devtron-labs/devtron/pkg/cluster/rbac" "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/clusterTerminalAccess" "github.com/devtron-labs/devtron/pkg/commonService" @@ -163,6 +164,8 @@ import ( read2 "github.com/devtron-labs/devtron/pkg/devtronResource/read" repository8 "github.com/devtron-labs/devtron/pkg/devtronResource/repository" "github.com/devtron-labs/devtron/pkg/dockerRegistry" + "github.com/devtron-labs/devtron/pkg/environment" + repository19 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/eventProcessor" "github.com/devtron-labs/devtron/pkg/eventProcessor/celEvaluator" "github.com/devtron-labs/devtron/pkg/eventProcessor/in" @@ -241,7 +244,7 @@ func InitializeApp() (*App, error) { return nil, err } appStatusRepositoryImpl := appStatus.NewAppStatusRepositoryImpl(db, sugaredLogger) - environmentRepositoryImpl := repository.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) + environmentRepositoryImpl := repository19.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) httpClient := util.NewHttpClient() grafanaClientConfig, err := grafana.GetGrafanaClientConfig() if err != nil { @@ -320,7 +323,7 @@ func InitializeApp() (*App, error) { clusterServiceImplExtended := cluster2.NewClusterServiceImplExtended(environmentRepositoryImpl, grafanaClientImpl, installedAppRepositoryImpl, serviceClientImpl, gitOpsConfigReadServiceImpl, clusterServiceImpl) loginService := middleware.NewUserLogin(sessionManager, k8sClient) userAuthServiceImpl := user.NewUserAuthServiceImpl(userAuthRepositoryImpl, sessionManager, loginService, sugaredLogger, userRepositoryImpl, roleGroupRepositoryImpl, userServiceImpl) - environmentServiceImpl := cluster2.NewEnvironmentServiceImpl(environmentRepositoryImpl, clusterServiceImplExtended, sugaredLogger, k8sServiceImpl, k8sInformerFactoryImpl, userAuthServiceImpl, attributesRepositoryImpl) + environmentServiceImpl := environment.NewEnvironmentServiceImpl(environmentRepositoryImpl, clusterServiceImplExtended, sugaredLogger, k8sServiceImpl, k8sInformerFactoryImpl, userAuthServiceImpl, attributesRepositoryImpl) validate, err := util.IntValidator() if err != nil { return nil, err @@ -414,7 +417,7 @@ func InitializeApp() (*App, error) { genericNoteServiceImpl := genericNotes.NewGenericNoteServiceImpl(genericNoteRepositoryImpl, genericNoteHistoryServiceImpl, userRepositoryImpl, sugaredLogger) clusterDescriptionRepositoryImpl := repository.NewClusterDescriptionRepositoryImpl(db, sugaredLogger) clusterDescriptionServiceImpl := cluster2.NewClusterDescriptionServiceImpl(clusterDescriptionRepositoryImpl, userRepositoryImpl, sugaredLogger) - clusterRbacServiceImpl := cluster2.NewClusterRbacServiceImpl(environmentServiceImpl, enforcerImpl, clusterServiceImplExtended, sugaredLogger, userServiceImpl) + clusterRbacServiceImpl := rbac2.NewClusterRbacServiceImpl(environmentServiceImpl, enforcerImpl, clusterServiceImplExtended, sugaredLogger, userServiceImpl) clusterRestHandlerImpl := cluster3.NewClusterRestHandlerImpl(clusterServiceImplExtended, genericNoteServiceImpl, clusterDescriptionServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceExtendedImpl, argoUserServiceImpl, environmentServiceImpl, clusterRbacServiceImpl) clusterRouterImpl := cluster3.NewClusterRouterImpl(clusterRestHandlerImpl) ciCdConfig, err := types.GetCiCdConfig() From 1fe2b1c1849e12c210bdaa8552b0e4bb0ce18154 Mon Sep 17 00:00:00 2001 From: ayu-devtron Date: Tue, 5 Nov 2024 17:48:19 +0530 Subject: [PATCH 2/7] separate out environment pkg --- cmd/external-app/wire_gen.go | 42 +++++------ pkg/appStore/adapter/Adapter.go | 4 +- pkg/cluster/adapter/Adapter.go | 27 ------- pkg/environment/EnvironmentService.go | 6 +- pkg/environment/adapter/adapter.go | 31 ++++++++ wire_gen.go | 100 +++++++++++++------------- 6 files changed, 107 insertions(+), 103 deletions(-) create mode 100644 pkg/environment/adapter/adapter.go diff --git a/cmd/external-app/wire_gen.go b/cmd/external-app/wire_gen.go index c904fcc33f..23749ddef4 100644 --- a/cmd/external-app/wire_gen.go +++ b/cmd/external-app/wire_gen.go @@ -47,22 +47,22 @@ import ( "github.com/devtron-labs/devtron/client/argocdServer" "github.com/devtron-labs/devtron/client/dashboard" "github.com/devtron-labs/devtron/client/telemetry" - repository3 "github.com/devtron-labs/devtron/internal/sql/repository" + repository4 "github.com/devtron-labs/devtron/internal/sql/repository" "github.com/devtron-labs/devtron/internal/sql/repository/app" "github.com/devtron-labs/devtron/internal/sql/repository/appStatus" "github.com/devtron-labs/devtron/internal/sql/repository/deploymentConfig" - repository5 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" + repository6 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/security" "github.com/devtron-labs/devtron/internal/util" "github.com/devtron-labs/devtron/pkg/apiToken" app2 "github.com/devtron-labs/devtron/pkg/app" "github.com/devtron-labs/devtron/pkg/app/dbMigration" - repository7 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" + repository8 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" "github.com/devtron-labs/devtron/pkg/appStore/chartProvider" "github.com/devtron-labs/devtron/pkg/appStore/discover/repository" service3 "github.com/devtron-labs/devtron/pkg/appStore/discover/service" - repository4 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" + repository5 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" service2 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service" "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/EAMode" "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/EAMode/deployment" @@ -89,17 +89,17 @@ import ( "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" "github.com/devtron-labs/devtron/pkg/environment" - repository9 "github.com/devtron-labs/devtron/pkg/environment/repository" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/externalLink" "github.com/devtron-labs/devtron/pkg/fluxApplication" "github.com/devtron-labs/devtron/pkg/genericNotes" - repository6 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" + repository7 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" k8s2 "github.com/devtron-labs/devtron/pkg/k8s" "github.com/devtron-labs/devtron/pkg/k8s/application" "github.com/devtron-labs/devtron/pkg/k8s/capacity" "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs" - repository8 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" + repository9 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" "github.com/devtron-labs/devtron/pkg/module" "github.com/devtron-labs/devtron/pkg/module/repo" "github.com/devtron-labs/devtron/pkg/module/store" @@ -214,8 +214,8 @@ func InitializeApp() (*App, error) { return nil, err } appStatusRepositoryImpl := appStatus.NewAppStatusRepositoryImpl(db, sugaredLogger) - environmentRepositoryImpl := repository9.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) - attributesRepositoryImpl := repository3.NewAttributesRepositoryImpl(db) + environmentRepositoryImpl := repository3.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) + attributesRepositoryImpl := repository4.NewAttributesRepositoryImpl(db) environmentServiceImpl := environment.NewEnvironmentServiceImpl(environmentRepositoryImpl, clusterServiceImpl, sugaredLogger, k8sServiceImpl, k8sInformerFactoryImpl, userAuthServiceImpl, attributesRepositoryImpl) chartRepoRepositoryImpl := chartRepoRepository.NewChartRepoRepositoryImpl(db) acdAuthConfig, err := util3.GetACDAuthConfig() @@ -228,7 +228,7 @@ func InitializeApp() (*App, error) { return nil, err } chartRepositoryServiceImpl := chartRepo.NewChartRepositoryServiceImpl(sugaredLogger, chartRepoRepositoryImpl, k8sServiceImpl, clusterServiceImpl, acdAuthConfig, httpClient, serverEnvConfigServerEnvConfig) - installedAppRepositoryImpl := repository4.NewInstalledAppRepositoryImpl(sugaredLogger, db) + installedAppRepositoryImpl := repository5.NewInstalledAppRepositoryImpl(sugaredLogger, db) helmClientConfig, err := gRPC.GetConfig() if err != nil { return nil, err @@ -250,9 +250,9 @@ func InitializeApp() (*App, error) { return nil, err } helmAppServiceImpl := service.NewHelmAppServiceImpl(sugaredLogger, clusterServiceImpl, helmAppClientImpl, pumpImpl, enforcerUtilHelmImpl, serverDataStoreServerDataStore, serverEnvConfigServerEnvConfig, appStoreApplicationVersionRepositoryImpl, environmentServiceImpl, pipelineRepositoryImpl, installedAppRepositoryImpl, appRepositoryImpl, clusterRepositoryImpl, k8sServiceImpl, helmReleaseConfig) - dockerArtifactStoreRepositoryImpl := repository5.NewDockerArtifactStoreRepositoryImpl(db) - dockerRegistryIpsConfigRepositoryImpl := repository5.NewDockerRegistryIpsConfigRepositoryImpl(db) - ociRegistryConfigRepositoryImpl := repository5.NewOCIRegistryConfigRepositoryImpl(db) + dockerArtifactStoreRepositoryImpl := repository6.NewDockerArtifactStoreRepositoryImpl(db) + dockerRegistryIpsConfigRepositoryImpl := repository6.NewDockerRegistryIpsConfigRepositoryImpl(db) + ociRegistryConfigRepositoryImpl := repository6.NewOCIRegistryConfigRepositoryImpl(db) repositorySecretImpl := argoRepositoryCreds.NewRepositorySecret(sugaredLogger, k8sServiceImpl, clusterServiceImpl, acdAuthConfig) dockerRegistryConfigImpl := pipeline.NewDockerRegistryConfigImpl(sugaredLogger, helmAppServiceImpl, dockerArtifactStoreRepositoryImpl, dockerRegistryIpsConfigRepositoryImpl, ociRegistryConfigRepositoryImpl, repositorySecretImpl) deleteServiceImpl := delete2.NewDeleteServiceImpl(sugaredLogger, teamServiceImpl, clusterServiceImpl, environmentServiceImpl, chartRepositoryServiceImpl, installedAppRepositoryImpl, dockerRegistryConfigImpl, dockerArtifactStoreRepositoryImpl, k8sInformerFactoryImpl, k8sServiceImpl) @@ -264,8 +264,8 @@ func InitializeApp() (*App, error) { userRestHandlerImpl := user2.NewUserRestHandlerImpl(userServiceImpl, validate, sugaredLogger, enforcerImpl, roleGroupServiceImpl, userCommonServiceImpl) userRouterImpl := user2.NewUserRouterImpl(userRestHandlerImpl) transactionUtilImpl := sql.NewTransactionUtilImpl(db) - genericNoteRepositoryImpl := repository6.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) - genericNoteHistoryRepositoryImpl := repository6.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) + genericNoteRepositoryImpl := repository7.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) + genericNoteHistoryRepositoryImpl := repository7.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) genericNoteHistoryServiceImpl := genericNotes.NewGenericNoteHistoryServiceImpl(genericNoteHistoryRepositoryImpl, sugaredLogger) genericNoteServiceImpl := genericNotes.NewGenericNoteServiceImpl(genericNoteRepositoryImpl, genericNoteHistoryServiceImpl, userRepositoryImpl, sugaredLogger) clusterDescriptionRepositoryImpl := repository2.NewClusterDescriptionRepositoryImpl(db, sugaredLogger) @@ -285,12 +285,12 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - installedAppVersionHistoryRepositoryImpl := repository4.NewInstalledAppVersionHistoryRepositoryImpl(sugaredLogger, db) + installedAppVersionHistoryRepositoryImpl := repository5.NewInstalledAppVersionHistoryRepositoryImpl(sugaredLogger, db) repositoryImpl := deploymentConfig.NewRepositoryImpl(db) chartRepositoryImpl := chartRepoRepository.NewChartRepository(db, transactionUtilImpl) deploymentConfigServiceImpl := common.NewDeploymentConfigServiceImpl(repositoryImpl, sugaredLogger, chartRepositoryImpl, pipelineRepositoryImpl, appRepositoryImpl, installedAppRepositoryImpl, environmentVariables) installedAppDBServiceImpl := EAMode.NewInstalledAppDBServiceImpl(sugaredLogger, installedAppRepositoryImpl, appRepositoryImpl, userServiceImpl, environmentServiceImpl, installedAppVersionHistoryRepositoryImpl, deploymentConfigServiceImpl) - gitOpsConfigRepositoryImpl := repository3.NewGitOpsConfigRepositoryImpl(sugaredLogger, db) + gitOpsConfigRepositoryImpl := repository4.NewGitOpsConfigRepositoryImpl(sugaredLogger, db) gitOpsConfigReadServiceImpl := config.NewGitOpsConfigReadServiceImpl(sugaredLogger, gitOpsConfigRepositoryImpl, userServiceImpl, environmentVariables) attributesServiceImpl := attributes.NewAttributesServiceImpl(sugaredLogger, attributesRepositoryImpl) deploymentTypeOverrideServiceImpl := providerConfig.NewDeploymentTypeOverrideServiceImpl(sugaredLogger, environmentVariables, attributesServiceImpl) @@ -299,7 +299,7 @@ func InitializeApp() (*App, error) { eaModeDeploymentServiceImpl := deployment.NewEAModeDeploymentServiceImpl(sugaredLogger, helmAppServiceImpl, appStoreApplicationVersionRepositoryImpl, helmAppClientImpl, installedAppRepositoryImpl, ociRegistryConfigRepositoryImpl, appStoreDeploymentCommonServiceImpl) appStoreValidatorImpl := service2.NewAppAppStoreValidatorImpl(sugaredLogger) appStoreDeploymentDBServiceImpl := service2.NewAppStoreDeploymentDBServiceImpl(sugaredLogger, installedAppRepositoryImpl, appStoreApplicationVersionRepositoryImpl, appRepositoryImpl, environmentServiceImpl, clusterServiceImpl, installedAppVersionHistoryRepositoryImpl, environmentVariables, gitOpsConfigReadServiceImpl, deploymentTypeOverrideServiceImpl, eaModeDeploymentServiceImpl, appStoreValidatorImpl, installedAppDBServiceImpl, deploymentConfigServiceImpl) - chartGroupDeploymentRepositoryImpl := repository7.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) + chartGroupDeploymentRepositoryImpl := repository8.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) acdConfig, err := argocdServer.GetACDDeploymentConfig() if err != nil { return nil, err @@ -307,7 +307,7 @@ func InitializeApp() (*App, error) { deletePostProcessorImpl := service2.NewDeletePostProcessorImpl(sugaredLogger) appStoreDeploymentServiceImpl := service2.NewAppStoreDeploymentServiceImpl(sugaredLogger, installedAppRepositoryImpl, installedAppDBServiceImpl, appStoreDeploymentDBServiceImpl, chartGroupDeploymentRepositoryImpl, appStoreApplicationVersionRepositoryImpl, appRepositoryImpl, eaModeDeploymentServiceImpl, eaModeDeploymentServiceImpl, environmentServiceImpl, helmAppServiceImpl, installedAppVersionHistoryRepositoryImpl, environmentVariables, acdConfig, gitOpsConfigReadServiceImpl, deletePostProcessorImpl, appStoreValidatorImpl, deploymentConfigServiceImpl) fluxApplicationServiceImpl := fluxApplication.NewFluxApplicationServiceImpl(sugaredLogger, helmAppServiceImpl, clusterServiceImpl, helmAppClientImpl, pumpImpl) - k8sResourceHistoryRepositoryImpl := repository8.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) + k8sResourceHistoryRepositoryImpl := repository9.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) k8sResourceHistoryServiceImpl := kubernetesResourceAuditLogs.Newk8sResourceHistoryServiceImpl(k8sResourceHistoryRepositoryImpl, sugaredLogger, appRepositoryImpl, environmentRepositoryImpl) argoApplicationReadServiceImpl := read.NewArgoApplicationReadServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, helmUserServiceImpl, helmAppClientImpl, helmAppServiceImpl) k8sCommonServiceImpl := k8s2.NewK8sCommonServiceImpl(sugaredLogger, k8sServiceImpl, clusterServiceImpl, argoApplicationReadServiceImpl) @@ -405,13 +405,13 @@ func InitializeApp() (*App, error) { webhookHelmServiceImpl := webhookHelm.NewWebhookHelmServiceImpl(sugaredLogger, helmAppServiceImpl, clusterServiceImpl, chartRepositoryServiceImpl, attributesServiceImpl) webhookHelmRestHandlerImpl := webhookHelm2.NewWebhookHelmRestHandlerImpl(sugaredLogger, webhookHelmServiceImpl, userServiceImpl, enforcerImpl, validate) webhookHelmRouterImpl := webhookHelm2.NewWebhookHelmRouterImpl(webhookHelmRestHandlerImpl) - userAttributesRepositoryImpl := repository3.NewUserAttributesRepositoryImpl(db) + userAttributesRepositoryImpl := repository4.NewUserAttributesRepositoryImpl(db) userAttributesServiceImpl := attributes.NewUserAttributesServiceImpl(sugaredLogger, userAttributesRepositoryImpl) userAttributesRestHandlerImpl := restHandler.NewUserAttributesRestHandlerImpl(sugaredLogger, enforcerImpl, userServiceImpl, userAttributesServiceImpl) userAttributesRouterImpl := router.NewUserAttributesRouterImpl(userAttributesRestHandlerImpl) telemetryRestHandlerImpl := restHandler.NewTelemetryRestHandlerImpl(sugaredLogger, telemetryEventClientImpl, enforcerImpl, userServiceImpl) telemetryRouterImpl := router.NewTelemetryRouterImpl(sugaredLogger, telemetryRestHandlerImpl) - terminalAccessRepositoryImpl := repository3.NewTerminalAccessRepositoryImpl(db, sugaredLogger) + terminalAccessRepositoryImpl := repository4.NewTerminalAccessRepositoryImpl(db, sugaredLogger) userTerminalSessionConfig, err := clusterTerminalAccess.GetTerminalAccessConfig() if err != nil { return nil, err diff --git a/pkg/appStore/adapter/Adapter.go b/pkg/appStore/adapter/Adapter.go index ae3047e51f..d820ef0141 100644 --- a/pkg/appStore/adapter/Adapter.go +++ b/pkg/appStore/adapter/Adapter.go @@ -26,8 +26,8 @@ import ( "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" util4 "github.com/devtron-labs/devtron/pkg/appStore/util" "github.com/devtron-labs/devtron/pkg/bean" - "github.com/devtron-labs/devtron/pkg/cluster/adapter" bean2 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" + adapter2 "github.com/devtron-labs/devtron/pkg/environment/adapter" clutserBean "github.com/devtron-labs/devtron/pkg/environment/bean" "time" ) @@ -153,7 +153,7 @@ func GenerateInstallAppVersionDTO(installedApp *repository.InstalledApps, instal Username = chartVersionApp.AppStore.DockerArtifactStore.Username Password = chartVersionApp.AppStore.DockerArtifactStore.Password } - envBean := adapter.NewEnvironmentBean(&installedApp.Environment) + envBean := adapter2.NewEnvironmentBean(&installedApp.Environment) installAppDto := &appStoreBean.InstallAppVersionDTO{ TeamName: installedApp.App.Team.Name, InstallAppVersionChartDTO: &appStoreBean.InstallAppVersionChartDTO{ diff --git a/pkg/cluster/adapter/Adapter.go b/pkg/cluster/adapter/Adapter.go index b4e0a5035a..c4b79b223a 100644 --- a/pkg/cluster/adapter/Adapter.go +++ b/pkg/cluster/adapter/Adapter.go @@ -19,35 +19,8 @@ package adapter import ( bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean" "github.com/devtron-labs/devtron/pkg/cluster/repository" - "github.com/devtron-labs/devtron/pkg/environment/bean" - repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" ) -// NewEnvironmentBean provides a new cluster.EnvironmentBean for the given repository.Environment -// Note: NewEnvironmentBean doesn't include AppCount and AllowedDeploymentTypes -func NewEnvironmentBean(envModel *repository2.Environment) *bean.EnvironmentBean { - envBean := &bean.EnvironmentBean{ - Id: envModel.Id, - Environment: envModel.Name, - ClusterId: envModel.ClusterId, - Active: envModel.Active, - Default: envModel.Default, - Namespace: envModel.Namespace, - EnvironmentIdentifier: envModel.EnvironmentIdentifier, - Description: envModel.Description, - IsVirtualEnvironment: envModel.IsVirtualEnvironment, - } - if envModel.Cluster != nil { - envBean.ClusterName = envModel.Cluster.ClusterName - envBean.PrometheusEndpoint = envModel.Cluster.PrometheusEndpoint - envBean.CdArgoSetup = envModel.Cluster.CdArgoSetup - // populate internal use only fields - envBean.ClusterServerUrl = envModel.Cluster.ServerUrl - envBean.ErrorInConnecting = envModel.Cluster.ErrorInConnecting - } - return envBean -} - func GetClusterBean(model repository.Cluster) bean2.ClusterBean { bean := bean2.ClusterBean{} bean.Id = model.Id diff --git a/pkg/environment/EnvironmentService.go b/pkg/environment/EnvironmentService.go index cff85d9220..ef0700668d 100644 --- a/pkg/environment/EnvironmentService.go +++ b/pkg/environment/EnvironmentService.go @@ -21,8 +21,8 @@ import ( "fmt" bean3 "github.com/devtron-labs/devtron/pkg/attributes/bean" "github.com/devtron-labs/devtron/pkg/cluster" - "github.com/devtron-labs/devtron/pkg/cluster/adapter" bean4 "github.com/devtron-labs/devtron/pkg/cluster/bean" + adapter2 "github.com/devtron-labs/devtron/pkg/environment/adapter" bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/environment/repository" "strconv" @@ -331,7 +331,7 @@ func (impl EnvironmentServiceImpl) GetExtendedEnvBeanById(id int) (*bean2.Enviro impl.logger.Errorw("error in fetch environment by id", "err", err) return nil, err } - return adapter.NewEnvironmentBean(model), nil + return adapter2.NewEnvironmentBean(model), nil } func (impl EnvironmentServiceImpl) FindClusterByEnvId(id int) (*bean4.ClusterBean, error) { @@ -503,7 +503,7 @@ func (impl EnvironmentServiceImpl) FindOneByNamespaceAndClusterId(namespaces str impl.logger.Errorw("error in getting environment by namespace and cluster id", "namespaces", namespaces, "clusterId", clusterId) return nil, err } - return adapter.NewEnvironmentBean(env), err + return adapter2.NewEnvironmentBean(env), err } func (impl EnvironmentServiceImpl) GetByClusterId(id int) ([]*bean2.EnvironmentBean, error) { diff --git a/pkg/environment/adapter/adapter.go b/pkg/environment/adapter/adapter.go new file mode 100644 index 0000000000..d16c926b4e --- /dev/null +++ b/pkg/environment/adapter/adapter.go @@ -0,0 +1,31 @@ +package adapter + +import ( + "github.com/devtron-labs/devtron/pkg/environment/bean" + "github.com/devtron-labs/devtron/pkg/environment/repository" +) + +// NewEnvironmentBean provides a new cluster.EnvironmentBean for the given repository.Environment +// Note: NewEnvironmentBean doesn't include AppCount and AllowedDeploymentTypes +func NewEnvironmentBean(envModel *repository.Environment) *bean.EnvironmentBean { + envBean := &bean.EnvironmentBean{ + Id: envModel.Id, + Environment: envModel.Name, + ClusterId: envModel.ClusterId, + Active: envModel.Active, + Default: envModel.Default, + Namespace: envModel.Namespace, + EnvironmentIdentifier: envModel.EnvironmentIdentifier, + Description: envModel.Description, + IsVirtualEnvironment: envModel.IsVirtualEnvironment, + } + if envModel.Cluster != nil { + envBean.ClusterName = envModel.Cluster.ClusterName + envBean.PrometheusEndpoint = envModel.Cluster.PrometheusEndpoint + envBean.CdArgoSetup = envModel.Cluster.CdArgoSetup + // populate internal use only fields + envBean.ClusterServerUrl = envModel.Cluster.ServerUrl + envBean.ErrorInConnecting = envModel.Cluster.ErrorInConnecting + } + return envBean +} diff --git a/wire_gen.go b/wire_gen.go index 5a52a584a9..fd5afabbb4 100644 --- a/wire_gen.go +++ b/wire_gen.go @@ -72,8 +72,8 @@ import ( "github.com/devtron-labs/devtron/client/argocdServer/certificate" "github.com/devtron-labs/devtron/client/argocdServer/cluster" "github.com/devtron-labs/devtron/client/argocdServer/connection" - repository18 "github.com/devtron-labs/devtron/client/argocdServer/repocreds" - repository14 "github.com/devtron-labs/devtron/client/argocdServer/repository" + repository19 "github.com/devtron-labs/devtron/client/argocdServer/repocreds" + repository15 "github.com/devtron-labs/devtron/client/argocdServer/repository" cron2 "github.com/devtron-labs/devtron/client/cron" "github.com/devtron-labs/devtron/client/dashboard" client2 "github.com/devtron-labs/devtron/client/events" @@ -89,9 +89,9 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/bulkUpdate" "github.com/devtron-labs/devtron/internal/sql/repository/chartConfig" "github.com/devtron-labs/devtron/internal/sql/repository/deploymentConfig" - repository5 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" + repository6 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" "github.com/devtron-labs/devtron/internal/sql/repository/helper" - repository13 "github.com/devtron-labs/devtron/internal/sql/repository/imageTagging" + repository14 "github.com/devtron-labs/devtron/internal/sql/repository/imageTagging" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/resourceGroup" "github.com/devtron-labs/devtron/internal/sql/repository/security" @@ -104,7 +104,7 @@ import ( "github.com/devtron-labs/devtron/pkg/appClone/batch" appStatus2 "github.com/devtron-labs/devtron/pkg/appStatus" "github.com/devtron-labs/devtron/pkg/appStore/chartGroup" - repository17 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" + repository18 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" "github.com/devtron-labs/devtron/pkg/appStore/chartProvider" "github.com/devtron-labs/devtron/pkg/appStore/discover/repository" service5 "github.com/devtron-labs/devtron/pkg/appStore/discover/service" @@ -138,7 +138,7 @@ import ( "github.com/devtron-labs/devtron/pkg/chartRepo/repository" cluster2 "github.com/devtron-labs/devtron/pkg/cluster" rbac2 "github.com/devtron-labs/devtron/pkg/cluster/rbac" - "github.com/devtron-labs/devtron/pkg/cluster/repository" + repository5 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/clusterTerminalAccess" "github.com/devtron-labs/devtron/pkg/commonService" "github.com/devtron-labs/devtron/pkg/configDiff" @@ -150,22 +150,22 @@ import ( "github.com/devtron-labs/devtron/pkg/deployment/gitOps/validation" "github.com/devtron-labs/devtron/pkg/deployment/manifest" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics" - repository9 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/repository" + repository10 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/repository" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef" "github.com/devtron-labs/devtron/pkg/deployment/manifest/publish" "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps" - repository15 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/userDeploymentRequest/repository" + repository16 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/userDeploymentRequest/repository" service2 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/userDeploymentRequest/service" "github.com/devtron-labs/devtron/pkg/deploymentGroup" "github.com/devtron-labs/devtron/pkg/devtronResource" "github.com/devtron-labs/devtron/pkg/devtronResource/history/deployment/cdPipeline" read2 "github.com/devtron-labs/devtron/pkg/devtronResource/read" - repository8 "github.com/devtron-labs/devtron/pkg/devtronResource/repository" + repository9 "github.com/devtron-labs/devtron/pkg/devtronResource/repository" "github.com/devtron-labs/devtron/pkg/dockerRegistry" "github.com/devtron-labs/devtron/pkg/environment" - repository19 "github.com/devtron-labs/devtron/pkg/environment/repository" + "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/eventProcessor" "github.com/devtron-labs/devtron/pkg/eventProcessor/celEvaluator" "github.com/devtron-labs/devtron/pkg/eventProcessor/in" @@ -174,7 +174,7 @@ import ( "github.com/devtron-labs/devtron/pkg/fluxApplication" "github.com/devtron-labs/devtron/pkg/generateManifest" "github.com/devtron-labs/devtron/pkg/genericNotes" - repository6 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" + repository7 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" git2 "github.com/devtron-labs/devtron/pkg/git" "github.com/devtron-labs/devtron/pkg/gitops" "github.com/devtron-labs/devtron/pkg/imageDigestPolicy" @@ -185,7 +185,7 @@ import ( "github.com/devtron-labs/devtron/pkg/k8s/capacity" "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs" - repository16 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" + repository17 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" "github.com/devtron-labs/devtron/pkg/module" "github.com/devtron-labs/devtron/pkg/module/repo" "github.com/devtron-labs/devtron/pkg/module/store" @@ -193,12 +193,12 @@ import ( "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/executors" "github.com/devtron-labs/devtron/pkg/pipeline/history" - repository12 "github.com/devtron-labs/devtron/pkg/pipeline/history/repository" + repository13 "github.com/devtron-labs/devtron/pkg/pipeline/history/repository" "github.com/devtron-labs/devtron/pkg/pipeline/infraProviders" - repository10 "github.com/devtron-labs/devtron/pkg/pipeline/repository" + repository11 "github.com/devtron-labs/devtron/pkg/pipeline/repository" "github.com/devtron-labs/devtron/pkg/pipeline/types" "github.com/devtron-labs/devtron/pkg/plugin" - repository11 "github.com/devtron-labs/devtron/pkg/plugin/repository" + repository12 "github.com/devtron-labs/devtron/pkg/plugin/repository" resourceGroup2 "github.com/devtron-labs/devtron/pkg/resourceGroup" "github.com/devtron-labs/devtron/pkg/resourceQualifiers" security2 "github.com/devtron-labs/devtron/pkg/security" @@ -211,7 +211,7 @@ import ( util3 "github.com/devtron-labs/devtron/pkg/util" "github.com/devtron-labs/devtron/pkg/variables" "github.com/devtron-labs/devtron/pkg/variables/parsers" - repository7 "github.com/devtron-labs/devtron/pkg/variables/repository" + repository8 "github.com/devtron-labs/devtron/pkg/variables/repository" "github.com/devtron-labs/devtron/pkg/webhook/helm" "github.com/devtron-labs/devtron/pkg/workflow/cd" "github.com/devtron-labs/devtron/pkg/workflow/dag" @@ -244,7 +244,7 @@ func InitializeApp() (*App, error) { return nil, err } appStatusRepositoryImpl := appStatus.NewAppStatusRepositoryImpl(db, sugaredLogger) - environmentRepositoryImpl := repository19.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) + environmentRepositoryImpl := repository.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) httpClient := util.NewHttpClient() grafanaClientConfig, err := grafana.GetGrafanaClientConfig() if err != nil { @@ -307,7 +307,7 @@ func InitializeApp() (*App, error) { return nil, err } gitOpsConfigReadServiceImpl := config.NewGitOpsConfigReadServiceImpl(sugaredLogger, gitOpsConfigRepositoryImpl, userServiceImpl, environmentVariables) - clusterRepositoryImpl := repository.NewClusterRepositoryImpl(db, sugaredLogger) + clusterRepositoryImpl := repository5.NewClusterRepositoryImpl(db, sugaredLogger) k8sRuntimeConfig, err := k8s.GetRuntimeConfig() if err != nil { return nil, err @@ -373,9 +373,9 @@ func InitializeApp() (*App, error) { return nil, err } helmAppServiceImpl := service.NewHelmAppServiceImpl(sugaredLogger, clusterServiceImplExtended, helmAppClientImpl, pumpImpl, enforcerUtilHelmImpl, serverDataStoreServerDataStore, serverEnvConfigServerEnvConfig, appStoreApplicationVersionRepositoryImpl, environmentServiceImpl, pipelineRepositoryImpl, installedAppRepositoryImpl, appRepositoryImpl, clusterRepositoryImpl, k8sServiceImpl, helmReleaseConfig) - dockerArtifactStoreRepositoryImpl := repository5.NewDockerArtifactStoreRepositoryImpl(db) - dockerRegistryIpsConfigRepositoryImpl := repository5.NewDockerRegistryIpsConfigRepositoryImpl(db) - ociRegistryConfigRepositoryImpl := repository5.NewOCIRegistryConfigRepositoryImpl(db) + dockerArtifactStoreRepositoryImpl := repository6.NewDockerArtifactStoreRepositoryImpl(db) + dockerRegistryIpsConfigRepositoryImpl := repository6.NewDockerRegistryIpsConfigRepositoryImpl(db) + ociRegistryConfigRepositoryImpl := repository6.NewOCIRegistryConfigRepositoryImpl(db) repositorySecretImpl := argoRepositoryCreds.NewRepositorySecret(sugaredLogger, k8sServiceImpl, clusterServiceImplExtended, acdAuthConfig) dockerRegistryConfigImpl := pipeline.NewDockerRegistryConfigImpl(sugaredLogger, helmAppServiceImpl, dockerArtifactStoreRepositoryImpl, dockerRegistryIpsConfigRepositoryImpl, ociRegistryConfigRepositoryImpl, repositorySecretImpl) deleteServiceExtendedImpl := delete2.NewDeleteServiceExtendedImpl(sugaredLogger, teamServiceImpl, clusterServiceImplExtended, environmentServiceImpl, appRepositoryImpl, environmentRepositoryImpl, pipelineRepositoryImpl, chartRepositoryServiceImpl, installedAppRepositoryImpl, dockerRegistryConfigImpl, dockerArtifactStoreRepositoryImpl, k8sServiceImpl, k8sInformerFactoryImpl) @@ -411,11 +411,11 @@ func InitializeApp() (*App, error) { environmentRestHandlerImpl := cluster3.NewEnvironmentRestHandlerImpl(environmentServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceExtendedImpl, k8sServiceImpl, k8sCommonServiceImpl) environmentRouterImpl := cluster3.NewEnvironmentRouterImpl(environmentRestHandlerImpl) transactionUtilImpl := sql.NewTransactionUtilImpl(db) - genericNoteRepositoryImpl := repository6.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) - genericNoteHistoryRepositoryImpl := repository6.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) + genericNoteRepositoryImpl := repository7.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) + genericNoteHistoryRepositoryImpl := repository7.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) genericNoteHistoryServiceImpl := genericNotes.NewGenericNoteHistoryServiceImpl(genericNoteHistoryRepositoryImpl, sugaredLogger) genericNoteServiceImpl := genericNotes.NewGenericNoteServiceImpl(genericNoteRepositoryImpl, genericNoteHistoryServiceImpl, userRepositoryImpl, sugaredLogger) - clusterDescriptionRepositoryImpl := repository.NewClusterDescriptionRepositoryImpl(db, sugaredLogger) + clusterDescriptionRepositoryImpl := repository5.NewClusterDescriptionRepositoryImpl(db, sugaredLogger) clusterDescriptionServiceImpl := cluster2.NewClusterDescriptionServiceImpl(clusterDescriptionRepositoryImpl, userRepositoryImpl, sugaredLogger) clusterRbacServiceImpl := rbac2.NewClusterRbacServiceImpl(environmentServiceImpl, enforcerImpl, clusterServiceImplExtended, sugaredLogger, userServiceImpl) clusterRestHandlerImpl := cluster3.NewClusterRestHandlerImpl(clusterServiceImplExtended, genericNoteServiceImpl, clusterDescriptionServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceExtendedImpl, argoUserServiceImpl, environmentServiceImpl, clusterRbacServiceImpl) @@ -465,8 +465,8 @@ func InitializeApp() (*App, error) { } enforcerUtilImpl := rbac.NewEnforcerUtilImpl(sugaredLogger, teamRepositoryImpl, appRepositoryImpl, environmentRepositoryImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, clusterRepositoryImpl, enforcerImpl, dbMigrationServiceImpl) appStatusServiceImpl := appStatus2.NewAppStatusServiceImpl(appStatusRepositoryImpl, sugaredLogger, enforcerImpl, enforcerUtilImpl) - scopedVariableRepositoryImpl := repository7.NewScopedVariableRepository(db, sugaredLogger, transactionUtilImpl) - devtronResourceSearchableKeyRepositoryImpl := repository8.NewDevtronResourceSearchableKeyRepositoryImpl(sugaredLogger, db) + scopedVariableRepositoryImpl := repository8.NewScopedVariableRepository(db, sugaredLogger, transactionUtilImpl) + devtronResourceSearchableKeyRepositoryImpl := repository9.NewDevtronResourceSearchableKeyRepositoryImpl(sugaredLogger, db) devtronResourceSearchableKeyServiceImpl, err := read2.NewDevtronResourceSearchableKeyServiceImpl(sugaredLogger, devtronResourceSearchableKeyRepositoryImpl) if err != nil { return nil, err @@ -483,9 +483,9 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - variableEntityMappingRepositoryImpl := repository7.NewVariableEntityMappingRepository(sugaredLogger, db, transactionUtilImpl) + variableEntityMappingRepositoryImpl := repository8.NewVariableEntityMappingRepository(sugaredLogger, db, transactionUtilImpl) variableEntityMappingServiceImpl := variables.NewVariableEntityMappingServiceImpl(variableEntityMappingRepositoryImpl, sugaredLogger) - variableSnapshotHistoryRepositoryImpl := repository7.NewVariableSnapshotHistoryRepository(sugaredLogger, db) + variableSnapshotHistoryRepositoryImpl := repository8.NewVariableSnapshotHistoryRepository(sugaredLogger, db) variableSnapshotHistoryServiceImpl := variables.NewVariableSnapshotHistoryServiceImpl(variableSnapshotHistoryRepositoryImpl, sugaredLogger) variableTemplateParserImpl, err := parsers.NewVariableTemplateParserImpl(sugaredLogger) if err != nil { @@ -517,8 +517,8 @@ func InitializeApp() (*App, error) { linkoutsRepositoryImpl := repository2.NewLinkoutsRepositoryImpl(sugaredLogger, db) ciTemplateOverrideRepositoryImpl := pipelineConfig.NewCiTemplateOverrideRepositoryImpl(db, sugaredLogger) dockerRegistryIpsConfigServiceImpl := dockerRegistry.NewDockerRegistryIpsConfigServiceImpl(sugaredLogger, dockerRegistryIpsConfigRepositoryImpl, k8sServiceImpl, clusterServiceImplExtended, ciPipelineRepositoryImpl, dockerArtifactStoreRepositoryImpl, ciTemplateOverrideRepositoryImpl) - appLevelMetricsRepositoryImpl := repository9.NewAppLevelMetricsRepositoryImpl(db, sugaredLogger) - envLevelAppMetricsRepositoryImpl := repository9.NewEnvLevelAppMetricsRepositoryImpl(db, sugaredLogger) + appLevelMetricsRepositoryImpl := repository10.NewAppLevelMetricsRepositoryImpl(db, sugaredLogger) + envLevelAppMetricsRepositoryImpl := repository10.NewEnvLevelAppMetricsRepositoryImpl(db, sugaredLogger) deployedAppMetricsServiceImpl := deployedAppMetrics.NewDeployedAppMetricsServiceImpl(sugaredLogger, appLevelMetricsRepositoryImpl, envLevelAppMetricsRepositoryImpl, chartRefServiceImpl) appListingServiceImpl := app2.NewAppListingServiceImpl(sugaredLogger, appListingRepositoryImpl, applicationServiceClientImpl, appRepositoryImpl, appListingViewBuilderImpl, pipelineRepositoryImpl, linkoutsRepositoryImpl, cdWorkflowRepositoryImpl, pipelineOverrideRepositoryImpl, environmentRepositoryImpl, argoUserServiceImpl, envConfigOverrideRepositoryImpl, chartRepositoryImpl, ciPipelineRepositoryImpl, dockerRegistryIpsConfigServiceImpl, userRepositoryImpl, deployedAppMetricsServiceImpl, ciArtifactRepositoryImpl) appServiceImpl := app2.NewAppService(envConfigOverrideRepositoryImpl, pipelineOverrideRepositoryImpl, mergeUtil, sugaredLogger, pipelineRepositoryImpl, eventRESTClientImpl, eventSimpleFactoryImpl, applicationServiceClientImpl, appRepositoryImpl, configMapRepositoryImpl, chartRepositoryImpl, cdWorkflowRepositoryImpl, commonServiceImpl, chartTemplateServiceImpl, argoUserServiceImpl, pipelineStatusTimelineRepositoryImpl, pipelineStatusTimelineResourcesServiceImpl, pipelineStatusSyncDetailServiceImpl, pipelineStatusTimelineServiceImpl, appServiceConfig, appStatusServiceImpl, installedAppRepositoryImpl, installedAppVersionHistoryRepositoryImpl, scopedVariableCMCSManagerImpl, acdConfig, gitOpsConfigReadServiceImpl, gitOperationServiceImpl, deploymentTemplateServiceImpl, appListingServiceImpl, deploymentConfigServiceImpl) @@ -537,8 +537,8 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - pipelineStageRepositoryImpl := repository10.NewPipelineStageRepository(sugaredLogger, db) - globalPluginRepositoryImpl := repository11.NewGlobalPluginRepository(sugaredLogger, db) + pipelineStageRepositoryImpl := repository11.NewPipelineStageRepository(sugaredLogger, db) + globalPluginRepositoryImpl := repository12.NewGlobalPluginRepository(sugaredLogger, db) scopedVariableManagerImpl, err := variables.NewScopedVariableManagerImpl(sugaredLogger, scopedVariableServiceImpl, variableEntityMappingServiceImpl, variableSnapshotHistoryServiceImpl, variableTemplateParserImpl) if err != nil { return nil, err @@ -568,17 +568,17 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - prePostCdScriptHistoryRepositoryImpl := repository12.NewPrePostCdScriptHistoryRepositoryImpl(sugaredLogger, db) - configMapHistoryRepositoryImpl := repository12.NewConfigMapHistoryRepositoryImpl(sugaredLogger, db, transactionUtilImpl) + prePostCdScriptHistoryRepositoryImpl := repository13.NewPrePostCdScriptHistoryRepositoryImpl(sugaredLogger, db) + configMapHistoryRepositoryImpl := repository13.NewConfigMapHistoryRepositoryImpl(sugaredLogger, db, transactionUtilImpl) configMapHistoryServiceImpl := history.NewConfigMapHistoryServiceImpl(sugaredLogger, configMapHistoryRepositoryImpl, pipelineRepositoryImpl, configMapRepositoryImpl, userServiceImpl, scopedVariableCMCSManagerImpl) prePostCdScriptHistoryServiceImpl := history.NewPrePostCdScriptHistoryServiceImpl(sugaredLogger, prePostCdScriptHistoryRepositoryImpl, configMapRepositoryImpl, configMapHistoryServiceImpl) - gitMaterialHistoryRepositoryImpl := repository12.NewGitMaterialHistoryRepositoyImpl(db) + gitMaterialHistoryRepositoryImpl := repository13.NewGitMaterialHistoryRepositoyImpl(db) gitMaterialHistoryServiceImpl := history.NewGitMaterialHistoryServiceImpl(gitMaterialHistoryRepositoryImpl, sugaredLogger) - ciPipelineHistoryRepositoryImpl := repository12.NewCiPipelineHistoryRepositoryImpl(db, sugaredLogger) + ciPipelineHistoryRepositoryImpl := repository13.NewCiPipelineHistoryRepositoryImpl(db, sugaredLogger) ciPipelineHistoryServiceImpl := history.NewCiPipelineHistoryServiceImpl(ciPipelineHistoryRepositoryImpl, sugaredLogger, ciPipelineRepositoryImpl) pipelineConfigRepositoryImpl := chartConfig.NewPipelineConfigRepository(db) configMapServiceImpl := pipeline.NewConfigMapServiceImpl(chartRepositoryImpl, sugaredLogger, chartRepoRepositoryImpl, utilMergeUtil, pipelineConfigRepositoryImpl, configMapRepositoryImpl, envConfigOverrideRepositoryImpl, commonServiceImpl, appRepositoryImpl, configMapHistoryServiceImpl, environmentRepositoryImpl, scopedVariableCMCSManagerImpl) - deploymentTemplateHistoryRepositoryImpl := repository12.NewDeploymentTemplateHistoryRepositoryImpl(sugaredLogger, db) + deploymentTemplateHistoryRepositoryImpl := repository13.NewDeploymentTemplateHistoryRepositoryImpl(sugaredLogger, db) deploymentTemplateHistoryServiceImpl := history.NewDeploymentTemplateHistoryServiceImpl(sugaredLogger, deploymentTemplateHistoryRepositoryImpl, pipelineRepositoryImpl, chartRepositoryImpl, userServiceImpl, cdWorkflowRepositoryImpl, scopedVariableManagerImpl, deployedAppMetricsServiceImpl, chartRefServiceImpl) chartServiceImpl := chart.NewChartServiceImpl(chartRepositoryImpl, sugaredLogger, chartTemplateServiceImpl, chartRepoRepositoryImpl, appRepositoryImpl, utilMergeUtil, envConfigOverrideRepositoryImpl, pipelineConfigRepositoryImpl, environmentRepositoryImpl, deploymentTemplateHistoryServiceImpl, scopedVariableManagerImpl, deployedAppMetricsServiceImpl, chartRefServiceImpl, gitOpsConfigReadServiceImpl, deploymentConfigServiceImpl) ciCdPipelineOrchestratorImpl := pipeline.NewCiCdPipelineOrchestrator(appRepositoryImpl, sugaredLogger, materialRepositoryImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, ciPipelineMaterialRepositoryImpl, cdWorkflowRepositoryImpl, clientImpl, ciCdConfig, appWorkflowRepositoryImpl, environmentRepositoryImpl, attributesServiceImpl, appCrudOperationServiceImpl, userAuthServiceImpl, prePostCdScriptHistoryServiceImpl, pipelineStageServiceImpl, gitMaterialHistoryServiceImpl, ciPipelineHistoryServiceImpl, ciTemplateServiceImpl, dockerArtifactStoreRepositoryImpl, ciArtifactRepositoryImpl, configMapServiceImpl, customTagServiceImpl, genericNoteServiceImpl, chartServiceImpl, transactionUtilImpl, gitOpsConfigReadServiceImpl, deploymentConfigServiceImpl) @@ -590,7 +590,7 @@ func InitializeApp() (*App, error) { resourceGroupRepositoryImpl := resourceGroup.NewResourceGroupRepositoryImpl(db) resourceGroupMappingRepositoryImpl := resourceGroup.NewResourceGroupMappingRepositoryImpl(db) resourceGroupServiceImpl := resourceGroup2.NewResourceGroupServiceImpl(sugaredLogger, resourceGroupRepositoryImpl, resourceGroupMappingRepositoryImpl, enforcerUtilImpl, devtronResourceSearchableKeyServiceImpl, appStatusRepositoryImpl) - imageTaggingRepositoryImpl := repository13.NewImageTaggingRepositoryImpl(db, transactionUtilImpl) + imageTaggingRepositoryImpl := repository14.NewImageTaggingRepositoryImpl(db, transactionUtilImpl) imageTaggingServiceImpl := pipeline.NewImageTaggingServiceImpl(imageTaggingRepositoryImpl, ciPipelineRepositoryImpl, pipelineRepositoryImpl, environmentRepositoryImpl, sugaredLogger) blobStorageConfigServiceImpl := pipeline.NewBlobStorageConfigServiceImpl(sugaredLogger, k8sServiceImpl, ciCdConfig) ciHandlerImpl := pipeline.NewCiHandlerImpl(sugaredLogger, ciServiceImpl, ciPipelineMaterialRepositoryImpl, clientImpl, ciWorkflowRepositoryImpl, workflowServiceImpl, ciLogServiceImpl, ciArtifactRepositoryImpl, userServiceImpl, eventRESTClientImpl, eventSimpleFactoryImpl, ciPipelineRepositoryImpl, appListingRepositoryImpl, k8sServiceImpl, pipelineRepositoryImpl, enforcerUtilImpl, resourceGroupServiceImpl, environmentRepositoryImpl, imageTaggingServiceImpl, k8sCommonServiceImpl, clusterServiceImplExtended, blobStorageConfigServiceImpl, appWorkflowRepositoryImpl, customTagServiceImpl, environmentServiceImpl) @@ -601,16 +601,16 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - ciTemplateHistoryRepositoryImpl := repository12.NewCiTemplateHistoryRepositoryImpl(db, sugaredLogger) + ciTemplateHistoryRepositoryImpl := repository13.NewCiTemplateHistoryRepositoryImpl(db, sugaredLogger) ciTemplateHistoryServiceImpl := history.NewCiTemplateHistoryServiceImpl(ciTemplateHistoryRepositoryImpl, sugaredLogger) buildPipelineSwitchServiceImpl := pipeline.NewBuildPipelineSwitchServiceImpl(sugaredLogger, ciPipelineRepositoryImpl, ciCdPipelineOrchestratorImpl, pipelineRepositoryImpl, ciWorkflowRepositoryImpl, appWorkflowRepositoryImpl, ciPipelineHistoryServiceImpl, ciTemplateOverrideRepositoryImpl, ciPipelineMaterialRepositoryImpl) ciPipelineConfigServiceImpl := pipeline.NewCiPipelineConfigServiceImpl(sugaredLogger, ciCdPipelineOrchestratorImpl, dockerArtifactStoreRepositoryImpl, materialRepositoryImpl, appRepositoryImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, ecrConfig, appWorkflowRepositoryImpl, ciCdConfig, attributesServiceImpl, pipelineStageServiceImpl, ciPipelineMaterialRepositoryImpl, ciTemplateServiceImpl, ciTemplateOverrideRepositoryImpl, ciTemplateHistoryServiceImpl, enforcerUtilImpl, ciWorkflowRepositoryImpl, resourceGroupServiceImpl, customTagServiceImpl, cdWorkflowRepositoryImpl, buildPipelineSwitchServiceImpl, pipelineStageRepositoryImpl, globalPluginRepositoryImpl) ciMaterialConfigServiceImpl := pipeline.NewCiMaterialConfigServiceImpl(sugaredLogger, materialRepositoryImpl, ciTemplateServiceImpl, ciCdPipelineOrchestratorImpl, ciPipelineRepositoryImpl, gitMaterialHistoryServiceImpl, pipelineRepositoryImpl, ciPipelineMaterialRepositoryImpl, transactionUtilImpl) deploymentGroupRepositoryImpl := repository2.NewDeploymentGroupRepositoryImpl(sugaredLogger, db) - pipelineStrategyHistoryRepositoryImpl := repository12.NewPipelineStrategyHistoryRepositoryImpl(sugaredLogger, db) + pipelineStrategyHistoryRepositoryImpl := repository13.NewPipelineStrategyHistoryRepositoryImpl(sugaredLogger, db) pipelineStrategyHistoryServiceImpl := history.NewPipelineStrategyHistoryServiceImpl(sugaredLogger, pipelineStrategyHistoryRepositoryImpl, userServiceImpl) propertiesConfigServiceImpl := pipeline.NewPropertiesConfigServiceImpl(sugaredLogger, envConfigOverrideRepositoryImpl, chartRepositoryImpl, environmentRepositoryImpl, deploymentTemplateHistoryServiceImpl, scopedVariableManagerImpl, deployedAppMetricsServiceImpl) - repositoryServiceClientImpl := repository14.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) + repositoryServiceClientImpl := repository15.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) runnable := asyncProvider.NewAsyncRunnable(sugaredLogger) argoClientWrapperServiceImpl := argocdServer.NewArgoClientWrapperServiceImpl(sugaredLogger, applicationServiceClientImpl, acdConfig, repositoryServiceClientImpl, gitOpsConfigReadServiceImpl, gitOperationServiceImpl, runnable) imageDigestPolicyServiceImpl := imageDigestPolicy.NewImageDigestPolicyServiceImpl(sugaredLogger, qualifierMappingServiceImpl, devtronResourceSearchableKeyServiceImpl) @@ -661,9 +661,9 @@ func InitializeApp() (*App, error) { argoK8sClientImpl := argocdServer.NewArgoK8sClientImpl(sugaredLogger, k8sServiceImpl) manifestCreationServiceImpl := manifest.NewManifestCreationServiceImpl(sugaredLogger, dockerRegistryIpsConfigServiceImpl, chartRefServiceImpl, scopedVariableCMCSManagerImpl, k8sCommonServiceImpl, deployedAppMetricsServiceImpl, imageDigestPolicyServiceImpl, mergeUtil, appCrudOperationServiceImpl, deploymentTemplateServiceImpl, applicationServiceClientImpl, configMapHistoryRepositoryImpl, configMapRepositoryImpl, chartRepositoryImpl, envConfigOverrideRepositoryImpl, environmentRepositoryImpl, pipelineRepositoryImpl, ciArtifactRepositoryImpl, pipelineOverrideRepositoryImpl, pipelineStrategyHistoryRepositoryImpl, pipelineConfigRepositoryImpl, deploymentTemplateHistoryRepositoryImpl, deploymentConfigServiceImpl) deployedConfigurationHistoryServiceImpl := history.NewDeployedConfigurationHistoryServiceImpl(sugaredLogger, userServiceImpl, deploymentTemplateHistoryServiceImpl, pipelineStrategyHistoryServiceImpl, configMapHistoryServiceImpl, cdWorkflowRepositoryImpl, scopedVariableCMCSManagerImpl) - userDeploymentRequestRepositoryImpl := repository15.NewUserDeploymentRequestRepositoryImpl(db, transactionUtilImpl) + userDeploymentRequestRepositoryImpl := repository16.NewUserDeploymentRequestRepositoryImpl(db, transactionUtilImpl) userDeploymentRequestServiceImpl := service2.NewUserDeploymentRequestServiceImpl(sugaredLogger, userDeploymentRequestRepositoryImpl) - manifestPushConfigRepositoryImpl := repository10.NewManifestPushConfigRepository(sugaredLogger, db) + manifestPushConfigRepositoryImpl := repository11.NewManifestPushConfigRepository(sugaredLogger, db) scanToolExecutionHistoryMappingRepositoryImpl := security.NewScanToolExecutionHistoryMappingRepositoryImpl(db, sugaredLogger) imageScanServiceImpl := security2.NewImageScanServiceImpl(sugaredLogger, imageScanHistoryRepositoryImpl, imageScanResultRepositoryImpl, imageScanObjectMetaRepositoryImpl, cveStoreRepositoryImpl, imageScanDeployInfoRepositoryImpl, userServiceImpl, teamRepositoryImpl, appRepositoryImpl, environmentServiceImpl, ciArtifactRepositoryImpl, policyServiceImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, scanToolMetadataRepositoryImpl, scanToolExecutionHistoryMappingRepositoryImpl, cvePolicyRepositoryImpl) triggerServiceImpl, err := devtronApps.NewTriggerServiceImpl(sugaredLogger, cdWorkflowCommonServiceImpl, gitOpsManifestPushServiceImpl, gitOpsConfigReadServiceImpl, argoK8sClientImpl, acdConfig, argoClientWrapperServiceImpl, pipelineStatusTimelineServiceImpl, chartTemplateServiceImpl, workflowEventPublishServiceImpl, manifestCreationServiceImpl, deployedConfigurationHistoryServiceImpl, argoUserServiceImpl, pipelineStageServiceImpl, globalPluginServiceImpl, customTagServiceImpl, pluginInputVariableParserImpl, prePostCdScriptHistoryServiceImpl, scopedVariableCMCSManagerImpl, workflowServiceImpl, imageDigestPolicyServiceImpl, userServiceImpl, clientImpl, helmAppServiceImpl, enforcerUtilImpl, userDeploymentRequestServiceImpl, helmAppClientImpl, eventSimpleFactoryImpl, eventRESTClientImpl, environmentVariables, appRepositoryImpl, ciPipelineMaterialRepositoryImpl, imageScanHistoryRepositoryImpl, imageScanDeployInfoRepositoryImpl, pipelineRepositoryImpl, pipelineOverrideRepositoryImpl, manifestPushConfigRepositoryImpl, chartRepositoryImpl, environmentRepositoryImpl, cdWorkflowRepositoryImpl, ciWorkflowRepositoryImpl, ciArtifactRepositoryImpl, ciTemplateServiceImpl, materialRepositoryImpl, appLabelRepositoryImpl, ciPipelineRepositoryImpl, appWorkflowRepositoryImpl, dockerArtifactStoreRepositoryImpl, imageScanServiceImpl, k8sServiceImpl, transactionUtilImpl, deploymentConfigServiceImpl, ciCdPipelineOrchestratorImpl, gitOperationServiceImpl, attributesServiceImpl) @@ -716,9 +716,9 @@ func InitializeApp() (*App, error) { chartRefRouterImpl := router.NewChartRefRouterImpl(chartRefRestHandlerImpl) configMapRestHandlerImpl := restHandler.NewConfigMapRestHandlerImpl(pipelineBuilderImpl, sugaredLogger, chartServiceImpl, userServiceImpl, teamServiceImpl, enforcerImpl, pipelineRepositoryImpl, enforcerUtilImpl, configMapServiceImpl) configMapRouterImpl := router.NewConfigMapRouterImpl(configMapRestHandlerImpl) - k8sResourceHistoryRepositoryImpl := repository16.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) + k8sResourceHistoryRepositoryImpl := repository17.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) k8sResourceHistoryServiceImpl := kubernetesResourceAuditLogs.Newk8sResourceHistoryServiceImpl(k8sResourceHistoryRepositoryImpl, sugaredLogger, appRepositoryImpl, environmentRepositoryImpl) - ephemeralContainersRepositoryImpl := repository.NewEphemeralContainersRepositoryImpl(db, transactionUtilImpl) + ephemeralContainersRepositoryImpl := repository5.NewEphemeralContainersRepositoryImpl(db, transactionUtilImpl) ephemeralContainerServiceImpl := cluster2.NewEphemeralContainerServiceImpl(ephemeralContainersRepositoryImpl, sugaredLogger) terminalSessionHandlerImpl := terminal.NewTerminalSessionHandlerImpl(environmentServiceImpl, clusterServiceImplExtended, sugaredLogger, k8sServiceImpl, ephemeralContainerServiceImpl, argoApplicationReadServiceImpl) fluxApplicationServiceImpl := fluxApplication.NewFluxApplicationServiceImpl(sugaredLogger, helmAppServiceImpl, clusterServiceImplExtended, helmAppClientImpl, pumpImpl) @@ -728,9 +728,9 @@ func InitializeApp() (*App, error) { } argoApplicationServiceExtendedImpl := argoApplication.NewArgoApplicationServiceExtendedServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, argoUserServiceImpl, helmAppClientImpl, helmAppServiceImpl, k8sApplicationServiceImpl, argoApplicationReadServiceImpl, applicationServiceClientImpl) installedAppResourceServiceImpl := resource.NewInstalledAppResourceServiceImpl(sugaredLogger, installedAppRepositoryImpl, appStoreApplicationVersionRepositoryImpl, applicationServiceClientImpl, acdAuthConfig, installedAppVersionHistoryRepositoryImpl, argoUserServiceImpl, helmAppClientImpl, helmAppServiceImpl, appStatusServiceImpl, k8sCommonServiceImpl, k8sApplicationServiceImpl, k8sServiceImpl, deploymentConfigServiceImpl, ociRegistryConfigRepositoryImpl, argoApplicationServiceExtendedImpl) - chartGroupEntriesRepositoryImpl := repository17.NewChartGroupEntriesRepositoryImpl(db, sugaredLogger) - chartGroupReposotoryImpl := repository17.NewChartGroupReposotoryImpl(db, sugaredLogger) - chartGroupDeploymentRepositoryImpl := repository17.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) + chartGroupEntriesRepositoryImpl := repository18.NewChartGroupEntriesRepositoryImpl(db, sugaredLogger) + chartGroupReposotoryImpl := repository18.NewChartGroupReposotoryImpl(db, sugaredLogger) + chartGroupDeploymentRepositoryImpl := repository18.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) appStoreVersionValuesRepositoryImpl := appStoreValuesRepository.NewAppStoreVersionValuesRepositoryImpl(sugaredLogger, db) appStoreRepositoryImpl := appStoreDiscoverRepository.NewAppStoreRepositoryImpl(sugaredLogger, db) clusterInstalledAppsRepositoryImpl := repository3.NewClusterInstalledAppsRepositoryImpl(db, sugaredLogger) @@ -797,7 +797,7 @@ func InitializeApp() (*App, error) { policyRestHandlerImpl := restHandler.NewPolicyRestHandlerImpl(sugaredLogger, policyServiceImpl, userServiceImpl, userAuthServiceImpl, enforcerImpl, enforcerUtilImpl, environmentServiceImpl) policyRouterImpl := router.NewPolicyRouterImpl(policyRestHandlerImpl) certificateServiceClientImpl := certificate.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl, argoUserServiceImpl) - serviceClientImpl2 := repository18.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) + serviceClientImpl2 := repository19.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) gitOpsConfigServiceImpl := gitops.NewGitOpsConfigServiceImpl(sugaredLogger, gitOpsConfigRepositoryImpl, k8sServiceImpl, acdAuthConfig, clusterServiceImplExtended, argoUserServiceImpl, serviceClientImpl, gitOperationServiceImpl, gitOpsConfigReadServiceImpl, gitOpsValidationServiceImpl, certificateServiceClientImpl, repositoryServiceClientImpl, serviceClientImpl2) gitOpsConfigRestHandlerImpl := restHandler.NewGitOpsConfigRestHandlerImpl(sugaredLogger, gitOpsConfigServiceImpl, userServiceImpl, validate, enforcerImpl, teamServiceImpl) gitOpsConfigRouterImpl := router.NewGitOpsConfigRouterImpl(gitOpsConfigRestHandlerImpl) @@ -863,7 +863,7 @@ func InitializeApp() (*App, error) { pipelineTriggerRouterImpl := trigger2.NewPipelineTriggerRouter(pipelineTriggerRestHandlerImpl, sseSSE) webhookDataRestHandlerImpl := webhook.NewWebhookDataRestHandlerImpl(sugaredLogger, userServiceImpl, ciPipelineMaterialRepositoryImpl, enforcerUtilImpl, enforcerImpl, clientImpl, webhookEventDataConfigImpl) pipelineConfigRouterImpl := configure2.NewPipelineRouterImpl(pipelineConfigRestHandlerImpl, webhookDataRestHandlerImpl) - prePostCiScriptHistoryRepositoryImpl := repository12.NewPrePostCiScriptHistoryRepositoryImpl(sugaredLogger, db) + prePostCiScriptHistoryRepositoryImpl := repository13.NewPrePostCiScriptHistoryRepositoryImpl(sugaredLogger, db) prePostCiScriptHistoryServiceImpl := history.NewPrePostCiScriptHistoryServiceImpl(sugaredLogger, prePostCiScriptHistoryRepositoryImpl) pipelineHistoryRestHandlerImpl := history2.NewPipelineHistoryRestHandlerImpl(sugaredLogger, userServiceImpl, enforcerImpl, pipelineStrategyHistoryServiceImpl, deploymentTemplateHistoryServiceImpl, configMapHistoryServiceImpl, prePostCiScriptHistoryServiceImpl, prePostCdScriptHistoryServiceImpl, enforcerUtilImpl, deployedConfigurationHistoryServiceImpl) pipelineHistoryRouterImpl := history3.NewPipelineHistoryRouterImpl(pipelineHistoryRestHandlerImpl) From 0d4066539fa59184bfdac80991f005251ae410de Mon Sep 17 00:00:00 2001 From: ayu-devtron Date: Thu, 7 Nov 2024 12:00:56 +0530 Subject: [PATCH 3/7] refactor team/project pkg --- .../app/appList/AppFilteringRestHandler.go | 3 +- .../app/appList/AppListingRestHandler.go | 4 +- api/team/TeamRestHandler.go | 11 ++- api/team/wire_team.go | 5 +- cmd/external-app/wire_gen.go | 53 +++++------ internal/sql/repository/app/AppRepository.go | 4 +- pkg/appStore/chartGroup/ChartGroupService.go | 5 +- pkg/commonService/CommonService.go | 2 +- pkg/delete/DeleteService.go | 5 +- pkg/delete/DeleteServiceExtended.go | 3 +- pkg/notifier/NotificationConfigService.go | 7 +- pkg/security/ImageScanService.go | 7 +- pkg/team/TeamService.go | 60 ++++++------ pkg/team/bean/bean.go | 22 +++++ pkg/team/mocks/TeamService.go | 69 +++++++------- pkg/team/{ => repository}/TeamRepository.go | 50 +++++----- util/rbac/EnforcerUtil.go | 6 +- util/rbac/EnforcerUtilHelm.go | 14 +-- wire_gen.go | 91 ++++++++++--------- 19 files changed, 218 insertions(+), 203 deletions(-) create mode 100644 pkg/team/bean/bean.go rename pkg/team/{ => repository}/TeamRepository.go (65%) diff --git a/api/restHandler/app/appList/AppFilteringRestHandler.go b/api/restHandler/app/appList/AppFilteringRestHandler.go index ce78298cfc..9f67f84631 100644 --- a/api/restHandler/app/appList/AppFilteringRestHandler.go +++ b/api/restHandler/app/appList/AppFilteringRestHandler.go @@ -27,6 +27,7 @@ import ( "github.com/devtron-labs/devtron/pkg/environment" bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/team" + bean4 "github.com/devtron-labs/devtron/pkg/team/bean" "go.uber.org/zap" "net/http" "strconv" @@ -180,7 +181,7 @@ func (handler AppFilteringRestHandlerImpl) GetClusterTeamAndEnvListForAutocomple var grantedTeams = teams start = time.Now() if !handler.cfg.IgnoreAuthCheck { - grantedTeams = make([]team.TeamRequest, 0) + grantedTeams = make([]bean4.TeamRequest, 0) // RBAC enforcer applying var teamNameList []string for _, item := range teams { diff --git a/api/restHandler/app/appList/AppListingRestHandler.go b/api/restHandler/app/appList/AppListingRestHandler.go index 8f88ef612a..62f2f0488c 100644 --- a/api/restHandler/app/appList/AppListingRestHandler.go +++ b/api/restHandler/app/appList/AppListingRestHandler.go @@ -59,7 +59,7 @@ import ( "github.com/devtron-labs/devtron/pkg/k8s" application3 "github.com/devtron-labs/devtron/pkg/k8s/application" "github.com/devtron-labs/devtron/pkg/pipeline" - "github.com/devtron-labs/devtron/pkg/team" + bean6 "github.com/devtron-labs/devtron/pkg/team/bean" util2 "github.com/devtron-labs/devtron/util" "github.com/devtron-labs/devtron/util/argo" "github.com/devtron-labs/devtron/util/rbac" @@ -125,7 +125,7 @@ type AppStatus struct { } type AppAutocomplete struct { - Teams []team.TeamRequest + Teams []bean6.TeamRequest Environments []bean2.EnvironmentBean Clusters []bean5.ClusterBean } diff --git a/api/team/TeamRestHandler.go b/api/team/TeamRestHandler.go index 5b01980ade..136b8d7825 100644 --- a/api/team/TeamRestHandler.go +++ b/api/team/TeamRestHandler.go @@ -19,6 +19,7 @@ package team import ( "encoding/json" "fmt" + bean2 "github.com/devtron-labs/devtron/pkg/team/bean" "net/http" "strconv" "strings" @@ -93,7 +94,7 @@ func (impl TeamRestHandlerImpl) SaveTeam(w http.ResponseWriter, r *http.Request) common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - var bean team.TeamRequest + var bean bean2.TeamRequest err = decoder.Decode(&bean) if err != nil { impl.logger.Errorw("request err, SaveTeam", "err", err, "payload", bean) @@ -132,7 +133,7 @@ func (impl TeamRestHandlerImpl) FetchAll(w http.ResponseWriter, r *http.Request) return } // RBAC enforcer applying - var result []team.TeamRequest + var result []bean2.TeamRequest for _, item := range res { if ok := impl.enforcer.Enforce(token, casbin.ResourceTeam, casbin.ActionGet, item.Name); ok { result = append(result, item) @@ -176,7 +177,7 @@ func (impl TeamRestHandlerImpl) UpdateTeam(w http.ResponseWriter, r *http.Reques common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - var bean team.TeamRequest + var bean bean2.TeamRequest err = decoder.Decode(&bean) if err != nil { impl.logger.Errorw("request err, UpdateTeam", "err", err, "bean", bean) @@ -212,7 +213,7 @@ func (impl TeamRestHandlerImpl) DeleteTeam(w http.ResponseWriter, r *http.Reques common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - var deleteRequest team.TeamRequest + var deleteRequest bean2.TeamRequest err = decoder.Decode(&deleteRequest) if err != nil { impl.logger.Errorw("request err, DeleteTeam", "err", err, "deleteRequest", deleteRequest) @@ -261,7 +262,7 @@ func (impl TeamRestHandlerImpl) FetchForAutocomplete(w http.ResponseWriter, r *h var grantedTeams = teams start = time.Now() if !impl.cfg.IgnoreAuthCheck { - grantedTeams = make([]team.TeamRequest, 0) + grantedTeams = make([]bean2.TeamRequest, 0) // RBAC enforcer applying var teamNameList []string for _, item := range teams { diff --git a/api/team/wire_team.go b/api/team/wire_team.go index 657ac74a46..8cda896166 100644 --- a/api/team/wire_team.go +++ b/api/team/wire_team.go @@ -18,6 +18,7 @@ package team import ( "github.com/devtron-labs/devtron/pkg/team" + "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/google/wire" ) @@ -25,8 +26,8 @@ import ( //TODO integrate user auth module var TeamsWireSet = wire.NewSet( - team.NewTeamRepositoryImpl, - wire.Bind(new(team.TeamRepository), new(*team.TeamRepositoryImpl)), + repository.NewTeamRepositoryImpl, + wire.Bind(new(repository.TeamRepository), new(*repository.TeamRepositoryImpl)), team.NewTeamServiceImpl, wire.Bind(new(team.TeamService), new(*team.TeamServiceImpl)), NewTeamRestHandlerImpl, diff --git a/cmd/external-app/wire_gen.go b/cmd/external-app/wire_gen.go index 23749ddef4..02b83deeb4 100644 --- a/cmd/external-app/wire_gen.go +++ b/cmd/external-app/wire_gen.go @@ -47,22 +47,22 @@ import ( "github.com/devtron-labs/devtron/client/argocdServer" "github.com/devtron-labs/devtron/client/dashboard" "github.com/devtron-labs/devtron/client/telemetry" - repository4 "github.com/devtron-labs/devtron/internal/sql/repository" + repository5 "github.com/devtron-labs/devtron/internal/sql/repository" "github.com/devtron-labs/devtron/internal/sql/repository/app" "github.com/devtron-labs/devtron/internal/sql/repository/appStatus" "github.com/devtron-labs/devtron/internal/sql/repository/deploymentConfig" - repository6 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" + repository7 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/security" "github.com/devtron-labs/devtron/internal/util" "github.com/devtron-labs/devtron/pkg/apiToken" app2 "github.com/devtron-labs/devtron/pkg/app" "github.com/devtron-labs/devtron/pkg/app/dbMigration" - repository8 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" + repository9 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" "github.com/devtron-labs/devtron/pkg/appStore/chartProvider" "github.com/devtron-labs/devtron/pkg/appStore/discover/repository" service3 "github.com/devtron-labs/devtron/pkg/appStore/discover/service" - repository5 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" + repository6 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" service2 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service" "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/EAMode" "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/EAMode/deployment" @@ -82,24 +82,24 @@ import ( "github.com/devtron-labs/devtron/pkg/chartRepo/repository" "github.com/devtron-labs/devtron/pkg/cluster" rbac2 "github.com/devtron-labs/devtron/pkg/cluster/rbac" - repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" + repository3 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/clusterTerminalAccess" delete2 "github.com/devtron-labs/devtron/pkg/delete" "github.com/devtron-labs/devtron/pkg/deployment/common" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" "github.com/devtron-labs/devtron/pkg/environment" - repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" + repository4 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/externalLink" "github.com/devtron-labs/devtron/pkg/fluxApplication" "github.com/devtron-labs/devtron/pkg/genericNotes" - repository7 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" + repository8 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" k8s2 "github.com/devtron-labs/devtron/pkg/k8s" "github.com/devtron-labs/devtron/pkg/k8s/application" "github.com/devtron-labs/devtron/pkg/k8s/capacity" "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs" - repository9 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" + repository10 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" "github.com/devtron-labs/devtron/pkg/module" "github.com/devtron-labs/devtron/pkg/module/repo" "github.com/devtron-labs/devtron/pkg/module/store" @@ -109,6 +109,7 @@ import ( "github.com/devtron-labs/devtron/pkg/server/store" "github.com/devtron-labs/devtron/pkg/sql" "github.com/devtron-labs/devtron/pkg/team" + repository2 "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/devtron-labs/devtron/pkg/terminal" util3 "github.com/devtron-labs/devtron/pkg/util" "github.com/devtron-labs/devtron/pkg/webhook/helm" @@ -201,11 +202,11 @@ func InitializeApp() (*App, error) { ssoLoginServiceImpl := sso.NewSSOLoginServiceImpl(sugaredLogger, ssoLoginRepositoryImpl, k8sServiceImpl, environmentVariables, userAuthOidcHelperImpl) ssoLoginRestHandlerImpl := sso2.NewSsoLoginRestHandlerImpl(validate, sugaredLogger, enforcerImpl, userServiceImpl, ssoLoginServiceImpl) ssoLoginRouterImpl := sso2.NewSsoLoginRouterImpl(ssoLoginRestHandlerImpl) - teamRepositoryImpl := team.NewTeamRepositoryImpl(db) + teamRepositoryImpl := repository2.NewTeamRepositoryImpl(db) loginService := middleware.NewUserLogin(sessionManager, k8sClient) userAuthServiceImpl := user.NewUserAuthServiceImpl(userAuthRepositoryImpl, sessionManager, loginService, sugaredLogger, userRepositoryImpl, roleGroupRepositoryImpl, userServiceImpl) teamServiceImpl := team.NewTeamServiceImpl(sugaredLogger, teamRepositoryImpl, userAuthServiceImpl) - clusterRepositoryImpl := repository2.NewClusterRepositoryImpl(db, sugaredLogger) + clusterRepositoryImpl := repository3.NewClusterRepositoryImpl(db, sugaredLogger) syncMap := informer.NewGlobalMapClusterNamespace() k8sInformerFactoryImpl := informer.NewK8sInformerFactoryImpl(sugaredLogger, syncMap, k8sServiceImpl) cronLoggerImpl := cron.NewCronLoggerImpl(sugaredLogger) @@ -214,8 +215,8 @@ func InitializeApp() (*App, error) { return nil, err } appStatusRepositoryImpl := appStatus.NewAppStatusRepositoryImpl(db, sugaredLogger) - environmentRepositoryImpl := repository3.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) - attributesRepositoryImpl := repository4.NewAttributesRepositoryImpl(db) + environmentRepositoryImpl := repository4.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) + attributesRepositoryImpl := repository5.NewAttributesRepositoryImpl(db) environmentServiceImpl := environment.NewEnvironmentServiceImpl(environmentRepositoryImpl, clusterServiceImpl, sugaredLogger, k8sServiceImpl, k8sInformerFactoryImpl, userAuthServiceImpl, attributesRepositoryImpl) chartRepoRepositoryImpl := chartRepoRepository.NewChartRepoRepositoryImpl(db) acdAuthConfig, err := util3.GetACDAuthConfig() @@ -228,7 +229,7 @@ func InitializeApp() (*App, error) { return nil, err } chartRepositoryServiceImpl := chartRepo.NewChartRepositoryServiceImpl(sugaredLogger, chartRepoRepositoryImpl, k8sServiceImpl, clusterServiceImpl, acdAuthConfig, httpClient, serverEnvConfigServerEnvConfig) - installedAppRepositoryImpl := repository5.NewInstalledAppRepositoryImpl(sugaredLogger, db) + installedAppRepositoryImpl := repository6.NewInstalledAppRepositoryImpl(sugaredLogger, db) helmClientConfig, err := gRPC.GetConfig() if err != nil { return nil, err @@ -250,9 +251,9 @@ func InitializeApp() (*App, error) { return nil, err } helmAppServiceImpl := service.NewHelmAppServiceImpl(sugaredLogger, clusterServiceImpl, helmAppClientImpl, pumpImpl, enforcerUtilHelmImpl, serverDataStoreServerDataStore, serverEnvConfigServerEnvConfig, appStoreApplicationVersionRepositoryImpl, environmentServiceImpl, pipelineRepositoryImpl, installedAppRepositoryImpl, appRepositoryImpl, clusterRepositoryImpl, k8sServiceImpl, helmReleaseConfig) - dockerArtifactStoreRepositoryImpl := repository6.NewDockerArtifactStoreRepositoryImpl(db) - dockerRegistryIpsConfigRepositoryImpl := repository6.NewDockerRegistryIpsConfigRepositoryImpl(db) - ociRegistryConfigRepositoryImpl := repository6.NewOCIRegistryConfigRepositoryImpl(db) + dockerArtifactStoreRepositoryImpl := repository7.NewDockerArtifactStoreRepositoryImpl(db) + dockerRegistryIpsConfigRepositoryImpl := repository7.NewDockerRegistryIpsConfigRepositoryImpl(db) + ociRegistryConfigRepositoryImpl := repository7.NewOCIRegistryConfigRepositoryImpl(db) repositorySecretImpl := argoRepositoryCreds.NewRepositorySecret(sugaredLogger, k8sServiceImpl, clusterServiceImpl, acdAuthConfig) dockerRegistryConfigImpl := pipeline.NewDockerRegistryConfigImpl(sugaredLogger, helmAppServiceImpl, dockerArtifactStoreRepositoryImpl, dockerRegistryIpsConfigRepositoryImpl, ociRegistryConfigRepositoryImpl, repositorySecretImpl) deleteServiceImpl := delete2.NewDeleteServiceImpl(sugaredLogger, teamServiceImpl, clusterServiceImpl, environmentServiceImpl, chartRepositoryServiceImpl, installedAppRepositoryImpl, dockerRegistryConfigImpl, dockerArtifactStoreRepositoryImpl, k8sInformerFactoryImpl, k8sServiceImpl) @@ -264,11 +265,11 @@ func InitializeApp() (*App, error) { userRestHandlerImpl := user2.NewUserRestHandlerImpl(userServiceImpl, validate, sugaredLogger, enforcerImpl, roleGroupServiceImpl, userCommonServiceImpl) userRouterImpl := user2.NewUserRouterImpl(userRestHandlerImpl) transactionUtilImpl := sql.NewTransactionUtilImpl(db) - genericNoteRepositoryImpl := repository7.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) - genericNoteHistoryRepositoryImpl := repository7.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) + genericNoteRepositoryImpl := repository8.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) + genericNoteHistoryRepositoryImpl := repository8.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) genericNoteHistoryServiceImpl := genericNotes.NewGenericNoteHistoryServiceImpl(genericNoteHistoryRepositoryImpl, sugaredLogger) genericNoteServiceImpl := genericNotes.NewGenericNoteServiceImpl(genericNoteRepositoryImpl, genericNoteHistoryServiceImpl, userRepositoryImpl, sugaredLogger) - clusterDescriptionRepositoryImpl := repository2.NewClusterDescriptionRepositoryImpl(db, sugaredLogger) + clusterDescriptionRepositoryImpl := repository3.NewClusterDescriptionRepositoryImpl(db, sugaredLogger) clusterDescriptionServiceImpl := cluster.NewClusterDescriptionServiceImpl(clusterDescriptionRepositoryImpl, userRepositoryImpl, sugaredLogger) helmUserServiceImpl, err := argo.NewHelmUserServiceImpl(sugaredLogger) if err != nil { @@ -285,12 +286,12 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - installedAppVersionHistoryRepositoryImpl := repository5.NewInstalledAppVersionHistoryRepositoryImpl(sugaredLogger, db) + installedAppVersionHistoryRepositoryImpl := repository6.NewInstalledAppVersionHistoryRepositoryImpl(sugaredLogger, db) repositoryImpl := deploymentConfig.NewRepositoryImpl(db) chartRepositoryImpl := chartRepoRepository.NewChartRepository(db, transactionUtilImpl) deploymentConfigServiceImpl := common.NewDeploymentConfigServiceImpl(repositoryImpl, sugaredLogger, chartRepositoryImpl, pipelineRepositoryImpl, appRepositoryImpl, installedAppRepositoryImpl, environmentVariables) installedAppDBServiceImpl := EAMode.NewInstalledAppDBServiceImpl(sugaredLogger, installedAppRepositoryImpl, appRepositoryImpl, userServiceImpl, environmentServiceImpl, installedAppVersionHistoryRepositoryImpl, deploymentConfigServiceImpl) - gitOpsConfigRepositoryImpl := repository4.NewGitOpsConfigRepositoryImpl(sugaredLogger, db) + gitOpsConfigRepositoryImpl := repository5.NewGitOpsConfigRepositoryImpl(sugaredLogger, db) gitOpsConfigReadServiceImpl := config.NewGitOpsConfigReadServiceImpl(sugaredLogger, gitOpsConfigRepositoryImpl, userServiceImpl, environmentVariables) attributesServiceImpl := attributes.NewAttributesServiceImpl(sugaredLogger, attributesRepositoryImpl) deploymentTypeOverrideServiceImpl := providerConfig.NewDeploymentTypeOverrideServiceImpl(sugaredLogger, environmentVariables, attributesServiceImpl) @@ -299,7 +300,7 @@ func InitializeApp() (*App, error) { eaModeDeploymentServiceImpl := deployment.NewEAModeDeploymentServiceImpl(sugaredLogger, helmAppServiceImpl, appStoreApplicationVersionRepositoryImpl, helmAppClientImpl, installedAppRepositoryImpl, ociRegistryConfigRepositoryImpl, appStoreDeploymentCommonServiceImpl) appStoreValidatorImpl := service2.NewAppAppStoreValidatorImpl(sugaredLogger) appStoreDeploymentDBServiceImpl := service2.NewAppStoreDeploymentDBServiceImpl(sugaredLogger, installedAppRepositoryImpl, appStoreApplicationVersionRepositoryImpl, appRepositoryImpl, environmentServiceImpl, clusterServiceImpl, installedAppVersionHistoryRepositoryImpl, environmentVariables, gitOpsConfigReadServiceImpl, deploymentTypeOverrideServiceImpl, eaModeDeploymentServiceImpl, appStoreValidatorImpl, installedAppDBServiceImpl, deploymentConfigServiceImpl) - chartGroupDeploymentRepositoryImpl := repository8.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) + chartGroupDeploymentRepositoryImpl := repository9.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) acdConfig, err := argocdServer.GetACDDeploymentConfig() if err != nil { return nil, err @@ -307,11 +308,11 @@ func InitializeApp() (*App, error) { deletePostProcessorImpl := service2.NewDeletePostProcessorImpl(sugaredLogger) appStoreDeploymentServiceImpl := service2.NewAppStoreDeploymentServiceImpl(sugaredLogger, installedAppRepositoryImpl, installedAppDBServiceImpl, appStoreDeploymentDBServiceImpl, chartGroupDeploymentRepositoryImpl, appStoreApplicationVersionRepositoryImpl, appRepositoryImpl, eaModeDeploymentServiceImpl, eaModeDeploymentServiceImpl, environmentServiceImpl, helmAppServiceImpl, installedAppVersionHistoryRepositoryImpl, environmentVariables, acdConfig, gitOpsConfigReadServiceImpl, deletePostProcessorImpl, appStoreValidatorImpl, deploymentConfigServiceImpl) fluxApplicationServiceImpl := fluxApplication.NewFluxApplicationServiceImpl(sugaredLogger, helmAppServiceImpl, clusterServiceImpl, helmAppClientImpl, pumpImpl) - k8sResourceHistoryRepositoryImpl := repository9.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) + k8sResourceHistoryRepositoryImpl := repository10.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) k8sResourceHistoryServiceImpl := kubernetesResourceAuditLogs.Newk8sResourceHistoryServiceImpl(k8sResourceHistoryRepositoryImpl, sugaredLogger, appRepositoryImpl, environmentRepositoryImpl) argoApplicationReadServiceImpl := read.NewArgoApplicationReadServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, helmUserServiceImpl, helmAppClientImpl, helmAppServiceImpl) k8sCommonServiceImpl := k8s2.NewK8sCommonServiceImpl(sugaredLogger, k8sServiceImpl, clusterServiceImpl, argoApplicationReadServiceImpl) - ephemeralContainersRepositoryImpl := repository2.NewEphemeralContainersRepositoryImpl(db, transactionUtilImpl) + ephemeralContainersRepositoryImpl := repository3.NewEphemeralContainersRepositoryImpl(db, transactionUtilImpl) ephemeralContainerServiceImpl := cluster.NewEphemeralContainerServiceImpl(ephemeralContainersRepositoryImpl, sugaredLogger) terminalSessionHandlerImpl := terminal.NewTerminalSessionHandlerImpl(environmentServiceImpl, clusterServiceImpl, sugaredLogger, k8sServiceImpl, ephemeralContainerServiceImpl, argoApplicationReadServiceImpl) k8sApplicationServiceImpl, err := application.NewK8sApplicationServiceImpl(sugaredLogger, clusterServiceImpl, pumpImpl, helmAppServiceImpl, k8sServiceImpl, acdAuthConfig, k8sResourceHistoryServiceImpl, k8sCommonServiceImpl, terminalSessionHandlerImpl, ephemeralContainerServiceImpl, ephemeralContainersRepositoryImpl, fluxApplicationServiceImpl) @@ -405,13 +406,13 @@ func InitializeApp() (*App, error) { webhookHelmServiceImpl := webhookHelm.NewWebhookHelmServiceImpl(sugaredLogger, helmAppServiceImpl, clusterServiceImpl, chartRepositoryServiceImpl, attributesServiceImpl) webhookHelmRestHandlerImpl := webhookHelm2.NewWebhookHelmRestHandlerImpl(sugaredLogger, webhookHelmServiceImpl, userServiceImpl, enforcerImpl, validate) webhookHelmRouterImpl := webhookHelm2.NewWebhookHelmRouterImpl(webhookHelmRestHandlerImpl) - userAttributesRepositoryImpl := repository4.NewUserAttributesRepositoryImpl(db) + userAttributesRepositoryImpl := repository5.NewUserAttributesRepositoryImpl(db) userAttributesServiceImpl := attributes.NewUserAttributesServiceImpl(sugaredLogger, userAttributesRepositoryImpl) userAttributesRestHandlerImpl := restHandler.NewUserAttributesRestHandlerImpl(sugaredLogger, enforcerImpl, userServiceImpl, userAttributesServiceImpl) userAttributesRouterImpl := router.NewUserAttributesRouterImpl(userAttributesRestHandlerImpl) telemetryRestHandlerImpl := restHandler.NewTelemetryRestHandlerImpl(sugaredLogger, telemetryEventClientImpl, enforcerImpl, userServiceImpl) telemetryRouterImpl := router.NewTelemetryRouterImpl(sugaredLogger, telemetryRestHandlerImpl) - terminalAccessRepositoryImpl := repository4.NewTerminalAccessRepositoryImpl(db, sugaredLogger) + terminalAccessRepositoryImpl := repository5.NewTerminalAccessRepositoryImpl(db, sugaredLogger) userTerminalSessionConfig, err := clusterTerminalAccess.GetTerminalAccessConfig() if err != nil { return nil, err diff --git a/internal/sql/repository/app/AppRepository.go b/internal/sql/repository/app/AppRepository.go index c59f9b35ff..d3ca38bf7b 100644 --- a/internal/sql/repository/app/AppRepository.go +++ b/internal/sql/repository/app/AppRepository.go @@ -20,7 +20,7 @@ import ( "fmt" "github.com/devtron-labs/devtron/internal/sql/repository/helper" "github.com/devtron-labs/devtron/pkg/sql" - "github.com/devtron-labs/devtron/pkg/team" + "github.com/devtron-labs/devtron/pkg/team/bean" "github.com/devtron-labs/devtron/util" "github.com/go-pg/pg" "go.uber.org/zap" @@ -37,7 +37,7 @@ type App struct { AppType helper.AppType `sql:"app_type, notnull"` AppOfferingMode string `sql:"app_offering_mode,notnull"` Description string `sql:"description"` - Team team.Team + Team bean.Team sql.AuditLog } diff --git a/pkg/appStore/chartGroup/ChartGroupService.go b/pkg/appStore/chartGroup/ChartGroupService.go index d4204ccdfe..c1f72eea1c 100644 --- a/pkg/appStore/chartGroup/ChartGroupService.go +++ b/pkg/appStore/chartGroup/ChartGroupService.go @@ -39,7 +39,8 @@ import ( cluster2 "github.com/devtron-labs/devtron/pkg/environment" bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/eventProcessor/out" - repository4 "github.com/devtron-labs/devtron/pkg/team" + bean4 "github.com/devtron-labs/devtron/pkg/team/bean" + repository4 "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/devtron-labs/devtron/util/argo" "io/ioutil" "os" @@ -726,7 +727,7 @@ func (impl *ChartGroupServiceImpl) DeployDefaultChartOnCluster(bean *bean3.Clust return false, err } if err == pg.ErrNoRows { - t := &repository4.Team{ + t := &bean4.Team{ Name: appStoreBean.DEFAULT_ENVIRONMENT_OR_NAMESPACE_OR_PROJECT, Active: true, AuditLog: sql.AuditLog{CreatedBy: userId, CreatedOn: time.Now(), UpdatedOn: time.Now(), UpdatedBy: userId}, diff --git a/pkg/commonService/CommonService.go b/pkg/commonService/CommonService.go index f13ae11a35..fcca861ac7 100644 --- a/pkg/commonService/CommonService.go +++ b/pkg/commonService/CommonService.go @@ -27,7 +27,7 @@ import ( chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" - repository2 "github.com/devtron-labs/devtron/pkg/team" + repository2 "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/go-pg/pg" "go.uber.org/zap" ) diff --git a/pkg/delete/DeleteService.go b/pkg/delete/DeleteService.go index ecc036c23c..2c2f8161a8 100644 --- a/pkg/delete/DeleteService.go +++ b/pkg/delete/DeleteService.go @@ -31,6 +31,7 @@ import ( "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/types" "github.com/devtron-labs/devtron/pkg/team" + bean3 "github.com/devtron-labs/devtron/pkg/team/bean" "github.com/go-pg/pg" "go.uber.org/zap" http2 "net/http" @@ -39,7 +40,7 @@ import ( type DeleteService interface { DeleteCluster(deleteRequest *bean2.ClusterBean, userId int32) error DeleteEnvironment(deleteRequest *bean.EnvironmentBean, userId int32) error - DeleteTeam(deleteRequest *team.TeamRequest) error + DeleteTeam(deleteRequest *bean3.TeamRequest) error DeleteChartRepo(deleteRequest *chartRepo.ChartRepoDto) error DeleteDockerRegistryConfig(deleteRequest *types.DockerArtifactStoreBean) error CanDeleteChartRegistryPullConfig(storeId string) bool @@ -119,7 +120,7 @@ func (impl DeleteServiceImpl) DeleteEnvironment(deleteRequest *bean.EnvironmentB } return nil } -func (impl DeleteServiceImpl) DeleteTeam(deleteRequest *team.TeamRequest) error { +func (impl DeleteServiceImpl) DeleteTeam(deleteRequest *bean3.TeamRequest) error { err := impl.teamService.Delete(deleteRequest) if err != nil { impl.logger.Errorw("error in deleting team", "err", err, "deleteRequest", deleteRequest) diff --git a/pkg/delete/DeleteServiceExtended.go b/pkg/delete/DeleteServiceExtended.go index b3a7db9a7c..605c277be5 100644 --- a/pkg/delete/DeleteServiceExtended.go +++ b/pkg/delete/DeleteServiceExtended.go @@ -34,6 +34,7 @@ import ( "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/team" + bean3 "github.com/devtron-labs/devtron/pkg/team/bean" "github.com/go-pg/pg" "go.uber.org/zap" "net/http" @@ -138,7 +139,7 @@ func (impl DeleteServiceExtendedImpl) DeleteEnvironment(deleteRequest *bean.Envi } return nil } -func (impl DeleteServiceExtendedImpl) DeleteTeam(deleteRequest *team.TeamRequest) error { +func (impl DeleteServiceExtendedImpl) DeleteTeam(deleteRequest *bean3.TeamRequest) error { //finding if this project is used in some app; if yes, will not perform delete operation apps, err := impl.appRepository.FindAppsByTeamId(deleteRequest.Id) if err != nil && err != pg.ErrNoRows { diff --git a/pkg/notifier/NotificationConfigService.go b/pkg/notifier/NotificationConfigService.go index c50e246f9b..0205e801a3 100644 --- a/pkg/notifier/NotificationConfigService.go +++ b/pkg/notifier/NotificationConfigService.go @@ -23,16 +23,15 @@ import ( repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/notifier/beans" "github.com/devtron-labs/devtron/pkg/resourceQualifiers" + repository2 "github.com/devtron-labs/devtron/pkg/team/repository" util3 "github.com/devtron-labs/devtron/util" "time" - "github.com/devtron-labs/devtron/internal/sql/repository/app" - repository4 "github.com/devtron-labs/devtron/pkg/auth/user/repository" - repository2 "github.com/devtron-labs/devtron/pkg/team" - "github.com/devtron-labs/devtron/internal/sql/repository" + "github.com/devtron-labs/devtron/internal/sql/repository/app" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" util2 "github.com/devtron-labs/devtron/internal/util" + repository4 "github.com/devtron-labs/devtron/pkg/auth/user/repository" util "github.com/devtron-labs/devtron/util/event" "github.com/go-pg/pg" "go.uber.org/zap" diff --git a/pkg/security/ImageScanService.go b/pkg/security/ImageScanService.go index 8d1d0c52b4..b0a0a57a77 100644 --- a/pkg/security/ImageScanService.go +++ b/pkg/security/ImageScanService.go @@ -23,17 +23,16 @@ import ( "github.com/devtron-labs/devtron/pkg/environment" "github.com/devtron-labs/devtron/pkg/environment/bean" bean3 "github.com/devtron-labs/devtron/pkg/security/bean" + repository2 "github.com/devtron-labs/devtron/pkg/team/repository" "go.opentelemetry.io/otel" "time" + "github.com/devtron-labs/devtron/internal/sql/repository" repository1 "github.com/devtron-labs/devtron/internal/sql/repository/app" "github.com/devtron-labs/devtron/internal/sql/repository/helper" - "github.com/devtron-labs/devtron/pkg/auth/user" - repository2 "github.com/devtron-labs/devtron/pkg/team" - - "github.com/devtron-labs/devtron/internal/sql/repository" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/security" + "github.com/devtron-labs/devtron/pkg/auth/user" "github.com/go-pg/pg" "go.uber.org/zap" ) diff --git a/pkg/team/TeamService.go b/pkg/team/TeamService.go index dc5091beef..824c9960b7 100644 --- a/pkg/team/TeamService.go +++ b/pkg/team/TeamService.go @@ -18,6 +18,8 @@ package team import ( "errors" + bean2 "github.com/devtron-labs/devtron/pkg/team/bean" + "github.com/devtron-labs/devtron/pkg/team/repository" "strings" "time" @@ -30,30 +32,22 @@ import ( ) type TeamService interface { - Create(request *TeamRequest) (*TeamRequest, error) - FetchAllActive() ([]TeamRequest, error) - FetchOne(id int) (*TeamRequest, error) - Update(request *TeamRequest) (*TeamRequest, error) - Delete(request *TeamRequest) error - FetchForAutocomplete() ([]TeamRequest, error) + Create(request *bean2.TeamRequest) (*bean2.TeamRequest, error) + FetchAllActive() ([]bean2.TeamRequest, error) + FetchOne(id int) (*bean2.TeamRequest, error) + Update(request *bean2.TeamRequest) (*bean2.TeamRequest, error) + Delete(request *bean2.TeamRequest) error + FetchForAutocomplete() ([]bean2.TeamRequest, error) FindByIds(ids []*int) ([]*TeamBean, error) - FindByTeamName(teamName string) (*TeamRequest, error) + FindByTeamName(teamName string) (*bean2.TeamRequest, error) } type TeamServiceImpl struct { logger *zap.SugaredLogger - teamRepository TeamRepository + teamRepository repository.TeamRepository userAuthService user.UserAuthService } -type TeamRequest struct { - Id int `json:"id,omitempty" validate:"number"` - Name string `json:"name,omitempty" validate:"required"` - Active bool `json:"active"` - UserId int32 `json:"-"` - CreatedOn time.Time `json:"-"` -} - -func NewTeamServiceImpl(logger *zap.SugaredLogger, teamRepository TeamRepository, +func NewTeamServiceImpl(logger *zap.SugaredLogger, teamRepository repository.TeamRepository, userAuthService user.UserAuthService) *TeamServiceImpl { return &TeamServiceImpl{ logger: logger, @@ -62,14 +56,14 @@ func NewTeamServiceImpl(logger *zap.SugaredLogger, teamRepository TeamRepository } } -func (impl TeamServiceImpl) Create(request *TeamRequest) (*TeamRequest, error) { +func (impl TeamServiceImpl) Create(request *bean2.TeamRequest) (*bean2.TeamRequest, error) { impl.logger.Debugw("team create request", "req", request) if len(request.Name) < 3 || strings.Contains(request.Name, " ") { impl.logger.Errorw("name should not contain white spaces and should have min 3 chars ") err := errors.New("name should not contain white spaces and should have min 3 chars") return nil, err } - t := &Team{ + t := &bean2.Team{ Name: request.Name, Id: request.Id, Active: request.Active, @@ -88,16 +82,16 @@ func (impl TeamServiceImpl) Create(request *TeamRequest) (*TeamRequest, error) { return request, nil } -func (impl TeamServiceImpl) FetchAllActive() ([]TeamRequest, error) { +func (impl TeamServiceImpl) FetchAllActive() ([]bean2.TeamRequest, error) { impl.logger.Debug("fetch all team from db") teams, err := impl.teamRepository.FindAllActive() if err != nil { impl.logger.Errorw("error in fetch all team", "err", err) return nil, err } - var teamRequests []TeamRequest + var teamRequests []bean2.TeamRequest for _, team := range teams { - providerRes := TeamRequest{ + providerRes := bean2.TeamRequest{ Id: team.Id, Name: team.Name, Active: team.Active, @@ -108,7 +102,7 @@ func (impl TeamServiceImpl) FetchAllActive() ([]TeamRequest, error) { return teamRequests, err } -func (impl TeamServiceImpl) FetchOne(teamId int) (*TeamRequest, error) { +func (impl TeamServiceImpl) FetchOne(teamId int) (*bean2.TeamRequest, error) { impl.logger.Debug("fetch team by ID from db") team, err := impl.teamRepository.FindOne(teamId) if err != nil { @@ -116,7 +110,7 @@ func (impl TeamServiceImpl) FetchOne(teamId int) (*TeamRequest, error) { return nil, err } - teamRes := &TeamRequest{ + teamRes := &bean2.TeamRequest{ Id: team.Id, Name: team.Name, Active: team.Active, @@ -127,7 +121,7 @@ func (impl TeamServiceImpl) FetchOne(teamId int) (*TeamRequest, error) { return teamRes, err } -func (impl TeamServiceImpl) Update(request *TeamRequest) (*TeamRequest, error) { +func (impl TeamServiceImpl) Update(request *bean2.TeamRequest) (*bean2.TeamRequest, error) { impl.logger.Debugw("team update request", "req", request) existingProvider, err0 := impl.teamRepository.FindOne(request.Id) if err0 != nil { @@ -139,7 +133,7 @@ func (impl TeamServiceImpl) Update(request *TeamRequest) (*TeamRequest, error) { } return nil, err0 } - team := &Team{ + team := &bean2.Team{ Name: request.Name, Id: request.Id, Active: request.Active, @@ -159,7 +153,7 @@ func (impl TeamServiceImpl) Update(request *TeamRequest) (*TeamRequest, error) { return request, nil } -func (impl TeamServiceImpl) Delete(deleteRequest *TeamRequest) error { +func (impl TeamServiceImpl) Delete(deleteRequest *bean2.TeamRequest) error { existingTeam, err := impl.teamRepository.FindOne(deleteRequest.Id) if err != nil { impl.logger.Errorw("No matching entry found for delete.", "id", deleteRequest.Id) @@ -173,7 +167,7 @@ func (impl TeamServiceImpl) Delete(deleteRequest *TeamRequest) error { } // Rollback tx on error. defer tx.Rollback() - deleteReq := &Team{ + deleteReq := &bean2.Team{ Name: deleteRequest.Name, Id: deleteRequest.Id, Active: deleteRequest.Active, @@ -197,16 +191,16 @@ func (impl TeamServiceImpl) Delete(deleteRequest *TeamRequest) error { return nil } -func (impl TeamServiceImpl) FetchForAutocomplete() ([]TeamRequest, error) { +func (impl TeamServiceImpl) FetchForAutocomplete() ([]bean2.TeamRequest, error) { impl.logger.Debug("fetch all team from db") teams, err := impl.teamRepository.FindAllActive() if err != nil { impl.logger.Errorw("error in fetch all team", "err", err) return nil, err } - var teamRequests []TeamRequest + var teamRequests []bean2.TeamRequest for _, team := range teams { - providerRes := TeamRequest{ + providerRes := bean2.TeamRequest{ Id: team.Id, Name: team.Name, } @@ -232,7 +226,7 @@ func (impl TeamServiceImpl) FindByIds(ids []*int) ([]*TeamBean, error) { return teamRequests, err } -func (impl TeamServiceImpl) FindByTeamName(teamName string) (*TeamRequest, error) { +func (impl TeamServiceImpl) FindByTeamName(teamName string) (*bean2.TeamRequest, error) { impl.logger.Debug("fetch team by name from db") team, err := impl.teamRepository.FindByTeamName(teamName) if err != nil { @@ -240,7 +234,7 @@ func (impl TeamServiceImpl) FindByTeamName(teamName string) (*TeamRequest, error return nil, err } - teamRes := &TeamRequest{ + teamRes := &bean2.TeamRequest{ Id: team.Id, Name: team.Name, Active: team.Active, diff --git a/pkg/team/bean/bean.go b/pkg/team/bean/bean.go new file mode 100644 index 0000000000..e8429eacd5 --- /dev/null +++ b/pkg/team/bean/bean.go @@ -0,0 +1,22 @@ +package bean + +import ( + "github.com/devtron-labs/devtron/pkg/sql" + "time" +) + +type TeamRequest struct { + Id int `json:"id,omitempty" validate:"number"` + Name string `json:"name,omitempty" validate:"required"` + Active bool `json:"active"` + UserId int32 `json:"-"` + CreatedOn time.Time `json:"-"` +} + +type Team struct { + tableName struct{} `sql:"team"` + Id int `sql:"id,pk"` + Name string `sql:"name,notnull"` + Active bool `sql:"active,notnull"` + sql.AuditLog +} diff --git a/pkg/team/mocks/TeamService.go b/pkg/team/mocks/TeamService.go index 1c72cb8edb..f5fc12c506 100644 --- a/pkg/team/mocks/TeamService.go +++ b/pkg/team/mocks/TeamService.go @@ -4,6 +4,7 @@ package mocks import ( team "github.com/devtron-labs/devtron/pkg/team" + "github.com/devtron-labs/devtron/pkg/team/bean" mock "github.com/stretchr/testify/mock" ) @@ -13,23 +14,23 @@ type TeamService struct { } // Create provides a mock function with given fields: request -func (_m *TeamService) Create(request *team.TeamRequest) (*team.TeamRequest, error) { +func (_m *TeamService) Create(request *bean.TeamRequest) (*bean.TeamRequest, error) { ret := _m.Called(request) - var r0 *team.TeamRequest + var r0 *bean.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func(*team.TeamRequest) (*team.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func(*bean.TeamRequest) (*bean.TeamRequest, error)); ok { return rf(request) } - if rf, ok := ret.Get(0).(func(*team.TeamRequest) *team.TeamRequest); ok { + if rf, ok := ret.Get(0).(func(*bean.TeamRequest) *bean.TeamRequest); ok { r0 = rf(request) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*team.TeamRequest) + r0 = ret.Get(0).(*bean.TeamRequest) } } - if rf, ok := ret.Get(1).(func(*team.TeamRequest) error); ok { + if rf, ok := ret.Get(1).(func(*bean.TeamRequest) error); ok { r1 = rf(request) } else { r1 = ret.Error(1) @@ -39,11 +40,11 @@ func (_m *TeamService) Create(request *team.TeamRequest) (*team.TeamRequest, err } // Delete provides a mock function with given fields: request -func (_m *TeamService) Delete(request *team.TeamRequest) error { +func (_m *TeamService) Delete(request *bean.TeamRequest) error { ret := _m.Called(request) var r0 error - if rf, ok := ret.Get(0).(func(*team.TeamRequest) error); ok { + if rf, ok := ret.Get(0).(func(*bean.TeamRequest) error); ok { r0 = rf(request) } else { r0 = ret.Error(0) @@ -53,19 +54,19 @@ func (_m *TeamService) Delete(request *team.TeamRequest) error { } // FetchAllActive provides a mock function with given fields: -func (_m *TeamService) FetchAllActive() ([]team.TeamRequest, error) { +func (_m *TeamService) FetchAllActive() ([]bean.TeamRequest, error) { ret := _m.Called() - var r0 []team.TeamRequest + var r0 []bean.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func() ([]team.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func() ([]bean.TeamRequest, error)); ok { return rf() } - if rf, ok := ret.Get(0).(func() []team.TeamRequest); ok { + if rf, ok := ret.Get(0).(func() []bean.TeamRequest); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]team.TeamRequest) + r0 = ret.Get(0).([]bean.TeamRequest) } } @@ -79,19 +80,19 @@ func (_m *TeamService) FetchAllActive() ([]team.TeamRequest, error) { } // FetchForAutocomplete provides a mock function with given fields: -func (_m *TeamService) FetchForAutocomplete() ([]team.TeamRequest, error) { +func (_m *TeamService) FetchForAutocomplete() ([]bean.TeamRequest, error) { ret := _m.Called() - var r0 []team.TeamRequest + var r0 []bean.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func() ([]team.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func() ([]bean.TeamRequest, error)); ok { return rf() } - if rf, ok := ret.Get(0).(func() []team.TeamRequest); ok { + if rf, ok := ret.Get(0).(func() []bean.TeamRequest); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]team.TeamRequest) + r0 = ret.Get(0).([]bean.TeamRequest) } } @@ -105,19 +106,19 @@ func (_m *TeamService) FetchForAutocomplete() ([]team.TeamRequest, error) { } // FetchOne provides a mock function with given fields: id -func (_m *TeamService) FetchOne(id int) (*team.TeamRequest, error) { +func (_m *TeamService) FetchOne(id int) (*bean.TeamRequest, error) { ret := _m.Called(id) - var r0 *team.TeamRequest + var r0 *bean.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func(int) (*team.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func(int) (*bean.TeamRequest, error)); ok { return rf(id) } - if rf, ok := ret.Get(0).(func(int) *team.TeamRequest); ok { + if rf, ok := ret.Get(0).(func(int) *bean.TeamRequest); ok { r0 = rf(id) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*team.TeamRequest) + r0 = ret.Get(0).(*bean.TeamRequest) } } @@ -157,19 +158,19 @@ func (_m *TeamService) FindByIds(ids []*int) ([]*team.TeamBean, error) { } // FindByTeamName provides a mock function with given fields: teamName -func (_m *TeamService) FindByTeamName(teamName string) (*team.TeamRequest, error) { +func (_m *TeamService) FindByTeamName(teamName string) (*bean.TeamRequest, error) { ret := _m.Called(teamName) - var r0 *team.TeamRequest + var r0 *bean.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func(string) (*team.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func(string) (*bean.TeamRequest, error)); ok { return rf(teamName) } - if rf, ok := ret.Get(0).(func(string) *team.TeamRequest); ok { + if rf, ok := ret.Get(0).(func(string) *bean.TeamRequest); ok { r0 = rf(teamName) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*team.TeamRequest) + r0 = ret.Get(0).(*bean.TeamRequest) } } @@ -183,23 +184,23 @@ func (_m *TeamService) FindByTeamName(teamName string) (*team.TeamRequest, error } // Update provides a mock function with given fields: request -func (_m *TeamService) Update(request *team.TeamRequest) (*team.TeamRequest, error) { +func (_m *TeamService) Update(request *bean.TeamRequest) (*bean.TeamRequest, error) { ret := _m.Called(request) - var r0 *team.TeamRequest + var r0 *bean.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func(*team.TeamRequest) (*team.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func(*bean.TeamRequest) (*bean.TeamRequest, error)); ok { return rf(request) } - if rf, ok := ret.Get(0).(func(*team.TeamRequest) *team.TeamRequest); ok { + if rf, ok := ret.Get(0).(func(*bean.TeamRequest) *bean.TeamRequest); ok { r0 = rf(request) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*team.TeamRequest) + r0 = ret.Get(0).(*bean.TeamRequest) } } - if rf, ok := ret.Get(1).(func(*team.TeamRequest) error); ok { + if rf, ok := ret.Get(1).(func(*bean.TeamRequest) error); ok { r1 = rf(request) } else { r1 = ret.Error(1) diff --git a/pkg/team/TeamRepository.go b/pkg/team/repository/TeamRepository.go similarity index 65% rename from pkg/team/TeamRepository.go rename to pkg/team/repository/TeamRepository.go index a02b576f66..d873cb1ba5 100644 --- a/pkg/team/TeamRepository.go +++ b/pkg/team/repository/TeamRepository.go @@ -14,30 +14,22 @@ * limitations under the License. */ -package team +package repository import ( - "github.com/devtron-labs/devtron/pkg/sql" + "github.com/devtron-labs/devtron/pkg/team/bean" "github.com/go-pg/pg" ) -type Team struct { - tableName struct{} `sql:"team"` - Id int `sql:"id,pk"` - Name string `sql:"name,notnull"` - Active bool `sql:"active,notnull"` - sql.AuditLog -} - type TeamRepository interface { - Save(team *Team) error - FindAllActive() ([]Team, error) - FindOne(id int) (Team, error) - FindByTeamName(name string) (Team, error) - Update(team *Team) error - MarkTeamDeleted(team *Team, tx *pg.Tx) error + Save(team *bean.Team) error + FindAllActive() ([]bean.Team, error) + FindOne(id int) (bean.Team, error) + FindByTeamName(name string) (bean.Team, error) + Update(team *bean.Team) error + MarkTeamDeleted(team *bean.Team, tx *pg.Tx) error GetConnection() *pg.DB - FindByIds(ids []*int) ([]*Team, error) + FindByIds(ids []*int) ([]*bean.Team, error) FindAllActiveTeamNames() ([]string, error) } type TeamRepositoryImpl struct { @@ -50,53 +42,53 @@ func NewTeamRepositoryImpl(dbConnection *pg.DB) *TeamRepositoryImpl { const UNASSIGNED_PROJECT = "unassigned" -func (impl TeamRepositoryImpl) Save(team *Team) error { +func (impl TeamRepositoryImpl) Save(team *bean.Team) error { err := impl.dbConnection.Insert(team) return err } -func (impl TeamRepositoryImpl) FindAllActive() ([]Team, error) { - var teams []Team +func (impl TeamRepositoryImpl) FindAllActive() ([]bean.Team, error) { + var teams []bean.Team err := impl.dbConnection.Model(&teams).Where("active = ?", true).Select() return teams, err } func (impl TeamRepositoryImpl) FindAllActiveTeamNames() ([]string, error) { var teamNames []string - err := impl.dbConnection.Model((*Team)(nil)). + err := impl.dbConnection.Model((*bean.Team)(nil)). Where("active = ?", true).Select(&teamNames) return teamNames, err } -func (impl TeamRepositoryImpl) FindOne(id int) (Team, error) { - var team Team +func (impl TeamRepositoryImpl) FindOne(id int) (bean.Team, error) { + var team bean.Team err := impl.dbConnection.Model(&team). Where("id = ?", id). Where("active = ?", true).Select() return team, err } -func (impl TeamRepositoryImpl) FindByTeamName(name string) (Team, error) { - var team Team +func (impl TeamRepositoryImpl) FindByTeamName(name string) (bean.Team, error) { + var team bean.Team err := impl.dbConnection.Model(&team). Where("name = ?", name). Where("active = ?", true).Select() return team, err } -func (impl TeamRepositoryImpl) Update(team *Team) error { +func (impl TeamRepositoryImpl) Update(team *bean.Team) error { err := impl.dbConnection.Update(team) return err } -func (impl TeamRepositoryImpl) MarkTeamDeleted(team *Team, tx *pg.Tx) error { +func (impl TeamRepositoryImpl) MarkTeamDeleted(team *bean.Team, tx *pg.Tx) error { team.Active = false err := tx.Update(team) return err } -func (repo TeamRepositoryImpl) FindByIds(ids []*int) ([]*Team, error) { - var objects []*Team +func (repo TeamRepositoryImpl) FindByIds(ids []*int) ([]*bean.Team, error) { + var objects []*bean.Team err := repo.dbConnection.Model(&objects).Where("active = ?", true).Where("id in (?)", pg.In(ids)).Select() return objects, err } diff --git a/util/rbac/EnforcerUtil.go b/util/rbac/EnforcerUtil.go index bf1ee19602..388c71e0db 100644 --- a/util/rbac/EnforcerUtil.go +++ b/util/rbac/EnforcerUtil.go @@ -20,6 +20,7 @@ import ( "fmt" "github.com/devtron-labs/devtron/pkg/app/dbMigration" repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" + repository3 "github.com/devtron-labs/devtron/pkg/team/repository" "golang.org/x/exp/maps" "strings" @@ -32,7 +33,6 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/pkg/bean" "github.com/devtron-labs/devtron/pkg/cluster/repository" - "github.com/devtron-labs/devtron/pkg/team" "github.com/go-pg/pg" "go.uber.org/zap" ) @@ -84,7 +84,7 @@ type EnforcerUtil interface { type EnforcerUtilImpl struct { logger *zap.SugaredLogger - teamRepository team.TeamRepository + teamRepository repository3.TeamRepository appRepo app.AppRepository environmentRepository repository2.EnvironmentRepository pipelineRepository pipelineConfig.PipelineRepository @@ -94,7 +94,7 @@ type EnforcerUtilImpl struct { dbMigration dbMigration.DbMigration } -func NewEnforcerUtilImpl(logger *zap.SugaredLogger, teamRepository team.TeamRepository, +func NewEnforcerUtilImpl(logger *zap.SugaredLogger, teamRepository repository3.TeamRepository, appRepo app.AppRepository, environmentRepository repository2.EnvironmentRepository, pipelineRepository pipelineConfig.PipelineRepository, ciPipelineRepository pipelineConfig.CiPipelineRepository, clusterRepository repository.ClusterRepository, enforcer casbin.Enforcer, diff --git a/util/rbac/EnforcerUtilHelm.go b/util/rbac/EnforcerUtilHelm.go index 216c0778e1..268092a6e9 100644 --- a/util/rbac/EnforcerUtilHelm.go +++ b/util/rbac/EnforcerUtilHelm.go @@ -23,7 +23,7 @@ import ( "github.com/devtron-labs/devtron/pkg/app/dbMigration" repository2 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" "github.com/devtron-labs/devtron/pkg/cluster/repository" - "github.com/devtron-labs/devtron/pkg/team" + repository3 "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/go-pg/pg" "go.uber.org/zap" ) @@ -38,7 +38,7 @@ type EnforcerUtilHelm interface { type EnforcerUtilHelmImpl struct { logger *zap.SugaredLogger clusterRepository repository.ClusterRepository - teamRepository team.TeamRepository + teamRepository repository3.TeamRepository appRepository app.AppRepository InstalledAppRepository repository2.InstalledAppRepository dbMigration dbMigration.DbMigration @@ -46,7 +46,7 @@ type EnforcerUtilHelmImpl struct { func NewEnforcerUtilHelmImpl(logger *zap.SugaredLogger, clusterRepository repository.ClusterRepository, - teamRepository team.TeamRepository, + teamRepository repository3.TeamRepository, appRepository app.AppRepository, installedAppRepository repository2.InstalledAppRepository, migration dbMigration.DbMigration, @@ -66,7 +66,7 @@ func (impl EnforcerUtilHelmImpl) GetHelmObjectByClusterId(clusterId int, namespa if err != nil { return fmt.Sprintf("%s/%s/%s", "", "", "") } - return fmt.Sprintf("%s/%s__%s/%s", team.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName) + return fmt.Sprintf("%s/%s__%s/%s", repository3.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName) } func (impl EnforcerUtilHelmImpl) GetHelmObjectByTeamIdAndClusterId(teamId int, clusterId int, namespace string, appName string) string { @@ -104,7 +104,7 @@ func (impl EnforcerUtilHelmImpl) GetHelmObjectByClusterIdNamespaceAndAppName(clu } if app.TeamId == 0 { // case if project is not assigned to cli app - return fmt.Sprintf("%s/%s__%s/%s", team.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName), fmt.Sprintf("%s/%s/%s", team.UNASSIGNED_PROJECT, namespace, appName) + return fmt.Sprintf("%s/%s__%s/%s", repository3.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName), fmt.Sprintf("%s/%s/%s", repository3.UNASSIGNED_PROJECT, namespace, appName) } else { // case if project is assigned return fmt.Sprintf("%s/%s__%s/%s", app.Team.Name, cluster.ClusterName, namespace, appName), fmt.Sprintf("%s/%s/%s", app.Team.Name, namespace, appName) @@ -114,8 +114,8 @@ func (impl EnforcerUtilHelmImpl) GetHelmObjectByClusterIdNamespaceAndAppName(clu if installedApp.App.TeamId == 0 { // for EA apps which have no project assigned to them - return fmt.Sprintf("%s/%s__%s/%s", team.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName), - fmt.Sprintf("%s/%s/%s", team.UNASSIGNED_PROJECT, installedApp.Environment.EnvironmentIdentifier, appName) + return fmt.Sprintf("%s/%s__%s/%s", repository3.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName), + fmt.Sprintf("%s/%s/%s", repository3.UNASSIGNED_PROJECT, installedApp.Environment.EnvironmentIdentifier, appName) } else { if installedApp.EnvironmentId == 0 { diff --git a/wire_gen.go b/wire_gen.go index fd5afabbb4..a18bbdbd70 100644 --- a/wire_gen.go +++ b/wire_gen.go @@ -72,8 +72,8 @@ import ( "github.com/devtron-labs/devtron/client/argocdServer/certificate" "github.com/devtron-labs/devtron/client/argocdServer/cluster" "github.com/devtron-labs/devtron/client/argocdServer/connection" - repository19 "github.com/devtron-labs/devtron/client/argocdServer/repocreds" - repository15 "github.com/devtron-labs/devtron/client/argocdServer/repository" + repository20 "github.com/devtron-labs/devtron/client/argocdServer/repocreds" + repository16 "github.com/devtron-labs/devtron/client/argocdServer/repository" cron2 "github.com/devtron-labs/devtron/client/cron" "github.com/devtron-labs/devtron/client/dashboard" client2 "github.com/devtron-labs/devtron/client/events" @@ -89,9 +89,9 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/bulkUpdate" "github.com/devtron-labs/devtron/internal/sql/repository/chartConfig" "github.com/devtron-labs/devtron/internal/sql/repository/deploymentConfig" - repository6 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" + repository7 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" "github.com/devtron-labs/devtron/internal/sql/repository/helper" - repository14 "github.com/devtron-labs/devtron/internal/sql/repository/imageTagging" + repository15 "github.com/devtron-labs/devtron/internal/sql/repository/imageTagging" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/resourceGroup" "github.com/devtron-labs/devtron/internal/sql/repository/security" @@ -104,7 +104,7 @@ import ( "github.com/devtron-labs/devtron/pkg/appClone/batch" appStatus2 "github.com/devtron-labs/devtron/pkg/appStatus" "github.com/devtron-labs/devtron/pkg/appStore/chartGroup" - repository18 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" + repository19 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" "github.com/devtron-labs/devtron/pkg/appStore/chartProvider" "github.com/devtron-labs/devtron/pkg/appStore/discover/repository" service5 "github.com/devtron-labs/devtron/pkg/appStore/discover/service" @@ -150,19 +150,19 @@ import ( "github.com/devtron-labs/devtron/pkg/deployment/gitOps/validation" "github.com/devtron-labs/devtron/pkg/deployment/manifest" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics" - repository10 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/repository" + repository11 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/repository" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef" "github.com/devtron-labs/devtron/pkg/deployment/manifest/publish" "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps" - repository16 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/userDeploymentRequest/repository" + repository17 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/userDeploymentRequest/repository" service2 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/userDeploymentRequest/service" "github.com/devtron-labs/devtron/pkg/deploymentGroup" "github.com/devtron-labs/devtron/pkg/devtronResource" "github.com/devtron-labs/devtron/pkg/devtronResource/history/deployment/cdPipeline" read2 "github.com/devtron-labs/devtron/pkg/devtronResource/read" - repository9 "github.com/devtron-labs/devtron/pkg/devtronResource/repository" + repository10 "github.com/devtron-labs/devtron/pkg/devtronResource/repository" "github.com/devtron-labs/devtron/pkg/dockerRegistry" "github.com/devtron-labs/devtron/pkg/environment" "github.com/devtron-labs/devtron/pkg/environment/repository" @@ -174,7 +174,7 @@ import ( "github.com/devtron-labs/devtron/pkg/fluxApplication" "github.com/devtron-labs/devtron/pkg/generateManifest" "github.com/devtron-labs/devtron/pkg/genericNotes" - repository7 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" + repository8 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" git2 "github.com/devtron-labs/devtron/pkg/git" "github.com/devtron-labs/devtron/pkg/gitops" "github.com/devtron-labs/devtron/pkg/imageDigestPolicy" @@ -185,7 +185,7 @@ import ( "github.com/devtron-labs/devtron/pkg/k8s/capacity" "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs" - repository17 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" + repository18 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" "github.com/devtron-labs/devtron/pkg/module" "github.com/devtron-labs/devtron/pkg/module/repo" "github.com/devtron-labs/devtron/pkg/module/store" @@ -193,12 +193,12 @@ import ( "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/executors" "github.com/devtron-labs/devtron/pkg/pipeline/history" - repository13 "github.com/devtron-labs/devtron/pkg/pipeline/history/repository" + repository14 "github.com/devtron-labs/devtron/pkg/pipeline/history/repository" "github.com/devtron-labs/devtron/pkg/pipeline/infraProviders" - repository11 "github.com/devtron-labs/devtron/pkg/pipeline/repository" + repository12 "github.com/devtron-labs/devtron/pkg/pipeline/repository" "github.com/devtron-labs/devtron/pkg/pipeline/types" "github.com/devtron-labs/devtron/pkg/plugin" - repository12 "github.com/devtron-labs/devtron/pkg/plugin/repository" + repository13 "github.com/devtron-labs/devtron/pkg/plugin/repository" resourceGroup2 "github.com/devtron-labs/devtron/pkg/resourceGroup" "github.com/devtron-labs/devtron/pkg/resourceQualifiers" security2 "github.com/devtron-labs/devtron/pkg/security" @@ -207,11 +207,12 @@ import ( "github.com/devtron-labs/devtron/pkg/server/store" "github.com/devtron-labs/devtron/pkg/sql" "github.com/devtron-labs/devtron/pkg/team" + repository6 "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/devtron-labs/devtron/pkg/terminal" util3 "github.com/devtron-labs/devtron/pkg/util" "github.com/devtron-labs/devtron/pkg/variables" "github.com/devtron-labs/devtron/pkg/variables/parsers" - repository8 "github.com/devtron-labs/devtron/pkg/variables/repository" + repository9 "github.com/devtron-labs/devtron/pkg/variables/repository" "github.com/devtron-labs/devtron/pkg/webhook/helm" "github.com/devtron-labs/devtron/pkg/workflow/cd" "github.com/devtron-labs/devtron/pkg/workflow/dag" @@ -340,7 +341,7 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - teamRepositoryImpl := team.NewTeamRepositoryImpl(db) + teamRepositoryImpl := repository6.NewTeamRepositoryImpl(db) teamServiceImpl := team.NewTeamServiceImpl(sugaredLogger, teamRepositoryImpl, userAuthServiceImpl) appRepositoryImpl := app.NewAppRepositoryImpl(db, sugaredLogger) pipelineRepositoryImpl := pipelineConfig.NewPipelineRepositoryImpl(db, sugaredLogger) @@ -373,9 +374,9 @@ func InitializeApp() (*App, error) { return nil, err } helmAppServiceImpl := service.NewHelmAppServiceImpl(sugaredLogger, clusterServiceImplExtended, helmAppClientImpl, pumpImpl, enforcerUtilHelmImpl, serverDataStoreServerDataStore, serverEnvConfigServerEnvConfig, appStoreApplicationVersionRepositoryImpl, environmentServiceImpl, pipelineRepositoryImpl, installedAppRepositoryImpl, appRepositoryImpl, clusterRepositoryImpl, k8sServiceImpl, helmReleaseConfig) - dockerArtifactStoreRepositoryImpl := repository6.NewDockerArtifactStoreRepositoryImpl(db) - dockerRegistryIpsConfigRepositoryImpl := repository6.NewDockerRegistryIpsConfigRepositoryImpl(db) - ociRegistryConfigRepositoryImpl := repository6.NewOCIRegistryConfigRepositoryImpl(db) + dockerArtifactStoreRepositoryImpl := repository7.NewDockerArtifactStoreRepositoryImpl(db) + dockerRegistryIpsConfigRepositoryImpl := repository7.NewDockerRegistryIpsConfigRepositoryImpl(db) + ociRegistryConfigRepositoryImpl := repository7.NewOCIRegistryConfigRepositoryImpl(db) repositorySecretImpl := argoRepositoryCreds.NewRepositorySecret(sugaredLogger, k8sServiceImpl, clusterServiceImplExtended, acdAuthConfig) dockerRegistryConfigImpl := pipeline.NewDockerRegistryConfigImpl(sugaredLogger, helmAppServiceImpl, dockerArtifactStoreRepositoryImpl, dockerRegistryIpsConfigRepositoryImpl, ociRegistryConfigRepositoryImpl, repositorySecretImpl) deleteServiceExtendedImpl := delete2.NewDeleteServiceExtendedImpl(sugaredLogger, teamServiceImpl, clusterServiceImplExtended, environmentServiceImpl, appRepositoryImpl, environmentRepositoryImpl, pipelineRepositoryImpl, chartRepositoryServiceImpl, installedAppRepositoryImpl, dockerRegistryConfigImpl, dockerArtifactStoreRepositoryImpl, k8sServiceImpl, k8sInformerFactoryImpl) @@ -411,8 +412,8 @@ func InitializeApp() (*App, error) { environmentRestHandlerImpl := cluster3.NewEnvironmentRestHandlerImpl(environmentServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceExtendedImpl, k8sServiceImpl, k8sCommonServiceImpl) environmentRouterImpl := cluster3.NewEnvironmentRouterImpl(environmentRestHandlerImpl) transactionUtilImpl := sql.NewTransactionUtilImpl(db) - genericNoteRepositoryImpl := repository7.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) - genericNoteHistoryRepositoryImpl := repository7.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) + genericNoteRepositoryImpl := repository8.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) + genericNoteHistoryRepositoryImpl := repository8.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) genericNoteHistoryServiceImpl := genericNotes.NewGenericNoteHistoryServiceImpl(genericNoteHistoryRepositoryImpl, sugaredLogger) genericNoteServiceImpl := genericNotes.NewGenericNoteServiceImpl(genericNoteRepositoryImpl, genericNoteHistoryServiceImpl, userRepositoryImpl, sugaredLogger) clusterDescriptionRepositoryImpl := repository5.NewClusterDescriptionRepositoryImpl(db, sugaredLogger) @@ -465,8 +466,8 @@ func InitializeApp() (*App, error) { } enforcerUtilImpl := rbac.NewEnforcerUtilImpl(sugaredLogger, teamRepositoryImpl, appRepositoryImpl, environmentRepositoryImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, clusterRepositoryImpl, enforcerImpl, dbMigrationServiceImpl) appStatusServiceImpl := appStatus2.NewAppStatusServiceImpl(appStatusRepositoryImpl, sugaredLogger, enforcerImpl, enforcerUtilImpl) - scopedVariableRepositoryImpl := repository8.NewScopedVariableRepository(db, sugaredLogger, transactionUtilImpl) - devtronResourceSearchableKeyRepositoryImpl := repository9.NewDevtronResourceSearchableKeyRepositoryImpl(sugaredLogger, db) + scopedVariableRepositoryImpl := repository9.NewScopedVariableRepository(db, sugaredLogger, transactionUtilImpl) + devtronResourceSearchableKeyRepositoryImpl := repository10.NewDevtronResourceSearchableKeyRepositoryImpl(sugaredLogger, db) devtronResourceSearchableKeyServiceImpl, err := read2.NewDevtronResourceSearchableKeyServiceImpl(sugaredLogger, devtronResourceSearchableKeyRepositoryImpl) if err != nil { return nil, err @@ -483,9 +484,9 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - variableEntityMappingRepositoryImpl := repository8.NewVariableEntityMappingRepository(sugaredLogger, db, transactionUtilImpl) + variableEntityMappingRepositoryImpl := repository9.NewVariableEntityMappingRepository(sugaredLogger, db, transactionUtilImpl) variableEntityMappingServiceImpl := variables.NewVariableEntityMappingServiceImpl(variableEntityMappingRepositoryImpl, sugaredLogger) - variableSnapshotHistoryRepositoryImpl := repository8.NewVariableSnapshotHistoryRepository(sugaredLogger, db) + variableSnapshotHistoryRepositoryImpl := repository9.NewVariableSnapshotHistoryRepository(sugaredLogger, db) variableSnapshotHistoryServiceImpl := variables.NewVariableSnapshotHistoryServiceImpl(variableSnapshotHistoryRepositoryImpl, sugaredLogger) variableTemplateParserImpl, err := parsers.NewVariableTemplateParserImpl(sugaredLogger) if err != nil { @@ -517,8 +518,8 @@ func InitializeApp() (*App, error) { linkoutsRepositoryImpl := repository2.NewLinkoutsRepositoryImpl(sugaredLogger, db) ciTemplateOverrideRepositoryImpl := pipelineConfig.NewCiTemplateOverrideRepositoryImpl(db, sugaredLogger) dockerRegistryIpsConfigServiceImpl := dockerRegistry.NewDockerRegistryIpsConfigServiceImpl(sugaredLogger, dockerRegistryIpsConfigRepositoryImpl, k8sServiceImpl, clusterServiceImplExtended, ciPipelineRepositoryImpl, dockerArtifactStoreRepositoryImpl, ciTemplateOverrideRepositoryImpl) - appLevelMetricsRepositoryImpl := repository10.NewAppLevelMetricsRepositoryImpl(db, sugaredLogger) - envLevelAppMetricsRepositoryImpl := repository10.NewEnvLevelAppMetricsRepositoryImpl(db, sugaredLogger) + appLevelMetricsRepositoryImpl := repository11.NewAppLevelMetricsRepositoryImpl(db, sugaredLogger) + envLevelAppMetricsRepositoryImpl := repository11.NewEnvLevelAppMetricsRepositoryImpl(db, sugaredLogger) deployedAppMetricsServiceImpl := deployedAppMetrics.NewDeployedAppMetricsServiceImpl(sugaredLogger, appLevelMetricsRepositoryImpl, envLevelAppMetricsRepositoryImpl, chartRefServiceImpl) appListingServiceImpl := app2.NewAppListingServiceImpl(sugaredLogger, appListingRepositoryImpl, applicationServiceClientImpl, appRepositoryImpl, appListingViewBuilderImpl, pipelineRepositoryImpl, linkoutsRepositoryImpl, cdWorkflowRepositoryImpl, pipelineOverrideRepositoryImpl, environmentRepositoryImpl, argoUserServiceImpl, envConfigOverrideRepositoryImpl, chartRepositoryImpl, ciPipelineRepositoryImpl, dockerRegistryIpsConfigServiceImpl, userRepositoryImpl, deployedAppMetricsServiceImpl, ciArtifactRepositoryImpl) appServiceImpl := app2.NewAppService(envConfigOverrideRepositoryImpl, pipelineOverrideRepositoryImpl, mergeUtil, sugaredLogger, pipelineRepositoryImpl, eventRESTClientImpl, eventSimpleFactoryImpl, applicationServiceClientImpl, appRepositoryImpl, configMapRepositoryImpl, chartRepositoryImpl, cdWorkflowRepositoryImpl, commonServiceImpl, chartTemplateServiceImpl, argoUserServiceImpl, pipelineStatusTimelineRepositoryImpl, pipelineStatusTimelineResourcesServiceImpl, pipelineStatusSyncDetailServiceImpl, pipelineStatusTimelineServiceImpl, appServiceConfig, appStatusServiceImpl, installedAppRepositoryImpl, installedAppVersionHistoryRepositoryImpl, scopedVariableCMCSManagerImpl, acdConfig, gitOpsConfigReadServiceImpl, gitOperationServiceImpl, deploymentTemplateServiceImpl, appListingServiceImpl, deploymentConfigServiceImpl) @@ -537,8 +538,8 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - pipelineStageRepositoryImpl := repository11.NewPipelineStageRepository(sugaredLogger, db) - globalPluginRepositoryImpl := repository12.NewGlobalPluginRepository(sugaredLogger, db) + pipelineStageRepositoryImpl := repository12.NewPipelineStageRepository(sugaredLogger, db) + globalPluginRepositoryImpl := repository13.NewGlobalPluginRepository(sugaredLogger, db) scopedVariableManagerImpl, err := variables.NewScopedVariableManagerImpl(sugaredLogger, scopedVariableServiceImpl, variableEntityMappingServiceImpl, variableSnapshotHistoryServiceImpl, variableTemplateParserImpl) if err != nil { return nil, err @@ -568,17 +569,17 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - prePostCdScriptHistoryRepositoryImpl := repository13.NewPrePostCdScriptHistoryRepositoryImpl(sugaredLogger, db) - configMapHistoryRepositoryImpl := repository13.NewConfigMapHistoryRepositoryImpl(sugaredLogger, db, transactionUtilImpl) + prePostCdScriptHistoryRepositoryImpl := repository14.NewPrePostCdScriptHistoryRepositoryImpl(sugaredLogger, db) + configMapHistoryRepositoryImpl := repository14.NewConfigMapHistoryRepositoryImpl(sugaredLogger, db, transactionUtilImpl) configMapHistoryServiceImpl := history.NewConfigMapHistoryServiceImpl(sugaredLogger, configMapHistoryRepositoryImpl, pipelineRepositoryImpl, configMapRepositoryImpl, userServiceImpl, scopedVariableCMCSManagerImpl) prePostCdScriptHistoryServiceImpl := history.NewPrePostCdScriptHistoryServiceImpl(sugaredLogger, prePostCdScriptHistoryRepositoryImpl, configMapRepositoryImpl, configMapHistoryServiceImpl) - gitMaterialHistoryRepositoryImpl := repository13.NewGitMaterialHistoryRepositoyImpl(db) + gitMaterialHistoryRepositoryImpl := repository14.NewGitMaterialHistoryRepositoyImpl(db) gitMaterialHistoryServiceImpl := history.NewGitMaterialHistoryServiceImpl(gitMaterialHistoryRepositoryImpl, sugaredLogger) - ciPipelineHistoryRepositoryImpl := repository13.NewCiPipelineHistoryRepositoryImpl(db, sugaredLogger) + ciPipelineHistoryRepositoryImpl := repository14.NewCiPipelineHistoryRepositoryImpl(db, sugaredLogger) ciPipelineHistoryServiceImpl := history.NewCiPipelineHistoryServiceImpl(ciPipelineHistoryRepositoryImpl, sugaredLogger, ciPipelineRepositoryImpl) pipelineConfigRepositoryImpl := chartConfig.NewPipelineConfigRepository(db) configMapServiceImpl := pipeline.NewConfigMapServiceImpl(chartRepositoryImpl, sugaredLogger, chartRepoRepositoryImpl, utilMergeUtil, pipelineConfigRepositoryImpl, configMapRepositoryImpl, envConfigOverrideRepositoryImpl, commonServiceImpl, appRepositoryImpl, configMapHistoryServiceImpl, environmentRepositoryImpl, scopedVariableCMCSManagerImpl) - deploymentTemplateHistoryRepositoryImpl := repository13.NewDeploymentTemplateHistoryRepositoryImpl(sugaredLogger, db) + deploymentTemplateHistoryRepositoryImpl := repository14.NewDeploymentTemplateHistoryRepositoryImpl(sugaredLogger, db) deploymentTemplateHistoryServiceImpl := history.NewDeploymentTemplateHistoryServiceImpl(sugaredLogger, deploymentTemplateHistoryRepositoryImpl, pipelineRepositoryImpl, chartRepositoryImpl, userServiceImpl, cdWorkflowRepositoryImpl, scopedVariableManagerImpl, deployedAppMetricsServiceImpl, chartRefServiceImpl) chartServiceImpl := chart.NewChartServiceImpl(chartRepositoryImpl, sugaredLogger, chartTemplateServiceImpl, chartRepoRepositoryImpl, appRepositoryImpl, utilMergeUtil, envConfigOverrideRepositoryImpl, pipelineConfigRepositoryImpl, environmentRepositoryImpl, deploymentTemplateHistoryServiceImpl, scopedVariableManagerImpl, deployedAppMetricsServiceImpl, chartRefServiceImpl, gitOpsConfigReadServiceImpl, deploymentConfigServiceImpl) ciCdPipelineOrchestratorImpl := pipeline.NewCiCdPipelineOrchestrator(appRepositoryImpl, sugaredLogger, materialRepositoryImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, ciPipelineMaterialRepositoryImpl, cdWorkflowRepositoryImpl, clientImpl, ciCdConfig, appWorkflowRepositoryImpl, environmentRepositoryImpl, attributesServiceImpl, appCrudOperationServiceImpl, userAuthServiceImpl, prePostCdScriptHistoryServiceImpl, pipelineStageServiceImpl, gitMaterialHistoryServiceImpl, ciPipelineHistoryServiceImpl, ciTemplateServiceImpl, dockerArtifactStoreRepositoryImpl, ciArtifactRepositoryImpl, configMapServiceImpl, customTagServiceImpl, genericNoteServiceImpl, chartServiceImpl, transactionUtilImpl, gitOpsConfigReadServiceImpl, deploymentConfigServiceImpl) @@ -590,7 +591,7 @@ func InitializeApp() (*App, error) { resourceGroupRepositoryImpl := resourceGroup.NewResourceGroupRepositoryImpl(db) resourceGroupMappingRepositoryImpl := resourceGroup.NewResourceGroupMappingRepositoryImpl(db) resourceGroupServiceImpl := resourceGroup2.NewResourceGroupServiceImpl(sugaredLogger, resourceGroupRepositoryImpl, resourceGroupMappingRepositoryImpl, enforcerUtilImpl, devtronResourceSearchableKeyServiceImpl, appStatusRepositoryImpl) - imageTaggingRepositoryImpl := repository14.NewImageTaggingRepositoryImpl(db, transactionUtilImpl) + imageTaggingRepositoryImpl := repository15.NewImageTaggingRepositoryImpl(db, transactionUtilImpl) imageTaggingServiceImpl := pipeline.NewImageTaggingServiceImpl(imageTaggingRepositoryImpl, ciPipelineRepositoryImpl, pipelineRepositoryImpl, environmentRepositoryImpl, sugaredLogger) blobStorageConfigServiceImpl := pipeline.NewBlobStorageConfigServiceImpl(sugaredLogger, k8sServiceImpl, ciCdConfig) ciHandlerImpl := pipeline.NewCiHandlerImpl(sugaredLogger, ciServiceImpl, ciPipelineMaterialRepositoryImpl, clientImpl, ciWorkflowRepositoryImpl, workflowServiceImpl, ciLogServiceImpl, ciArtifactRepositoryImpl, userServiceImpl, eventRESTClientImpl, eventSimpleFactoryImpl, ciPipelineRepositoryImpl, appListingRepositoryImpl, k8sServiceImpl, pipelineRepositoryImpl, enforcerUtilImpl, resourceGroupServiceImpl, environmentRepositoryImpl, imageTaggingServiceImpl, k8sCommonServiceImpl, clusterServiceImplExtended, blobStorageConfigServiceImpl, appWorkflowRepositoryImpl, customTagServiceImpl, environmentServiceImpl) @@ -601,16 +602,16 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - ciTemplateHistoryRepositoryImpl := repository13.NewCiTemplateHistoryRepositoryImpl(db, sugaredLogger) + ciTemplateHistoryRepositoryImpl := repository14.NewCiTemplateHistoryRepositoryImpl(db, sugaredLogger) ciTemplateHistoryServiceImpl := history.NewCiTemplateHistoryServiceImpl(ciTemplateHistoryRepositoryImpl, sugaredLogger) buildPipelineSwitchServiceImpl := pipeline.NewBuildPipelineSwitchServiceImpl(sugaredLogger, ciPipelineRepositoryImpl, ciCdPipelineOrchestratorImpl, pipelineRepositoryImpl, ciWorkflowRepositoryImpl, appWorkflowRepositoryImpl, ciPipelineHistoryServiceImpl, ciTemplateOverrideRepositoryImpl, ciPipelineMaterialRepositoryImpl) ciPipelineConfigServiceImpl := pipeline.NewCiPipelineConfigServiceImpl(sugaredLogger, ciCdPipelineOrchestratorImpl, dockerArtifactStoreRepositoryImpl, materialRepositoryImpl, appRepositoryImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, ecrConfig, appWorkflowRepositoryImpl, ciCdConfig, attributesServiceImpl, pipelineStageServiceImpl, ciPipelineMaterialRepositoryImpl, ciTemplateServiceImpl, ciTemplateOverrideRepositoryImpl, ciTemplateHistoryServiceImpl, enforcerUtilImpl, ciWorkflowRepositoryImpl, resourceGroupServiceImpl, customTagServiceImpl, cdWorkflowRepositoryImpl, buildPipelineSwitchServiceImpl, pipelineStageRepositoryImpl, globalPluginRepositoryImpl) ciMaterialConfigServiceImpl := pipeline.NewCiMaterialConfigServiceImpl(sugaredLogger, materialRepositoryImpl, ciTemplateServiceImpl, ciCdPipelineOrchestratorImpl, ciPipelineRepositoryImpl, gitMaterialHistoryServiceImpl, pipelineRepositoryImpl, ciPipelineMaterialRepositoryImpl, transactionUtilImpl) deploymentGroupRepositoryImpl := repository2.NewDeploymentGroupRepositoryImpl(sugaredLogger, db) - pipelineStrategyHistoryRepositoryImpl := repository13.NewPipelineStrategyHistoryRepositoryImpl(sugaredLogger, db) + pipelineStrategyHistoryRepositoryImpl := repository14.NewPipelineStrategyHistoryRepositoryImpl(sugaredLogger, db) pipelineStrategyHistoryServiceImpl := history.NewPipelineStrategyHistoryServiceImpl(sugaredLogger, pipelineStrategyHistoryRepositoryImpl, userServiceImpl) propertiesConfigServiceImpl := pipeline.NewPropertiesConfigServiceImpl(sugaredLogger, envConfigOverrideRepositoryImpl, chartRepositoryImpl, environmentRepositoryImpl, deploymentTemplateHistoryServiceImpl, scopedVariableManagerImpl, deployedAppMetricsServiceImpl) - repositoryServiceClientImpl := repository15.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) + repositoryServiceClientImpl := repository16.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) runnable := asyncProvider.NewAsyncRunnable(sugaredLogger) argoClientWrapperServiceImpl := argocdServer.NewArgoClientWrapperServiceImpl(sugaredLogger, applicationServiceClientImpl, acdConfig, repositoryServiceClientImpl, gitOpsConfigReadServiceImpl, gitOperationServiceImpl, runnable) imageDigestPolicyServiceImpl := imageDigestPolicy.NewImageDigestPolicyServiceImpl(sugaredLogger, qualifierMappingServiceImpl, devtronResourceSearchableKeyServiceImpl) @@ -661,9 +662,9 @@ func InitializeApp() (*App, error) { argoK8sClientImpl := argocdServer.NewArgoK8sClientImpl(sugaredLogger, k8sServiceImpl) manifestCreationServiceImpl := manifest.NewManifestCreationServiceImpl(sugaredLogger, dockerRegistryIpsConfigServiceImpl, chartRefServiceImpl, scopedVariableCMCSManagerImpl, k8sCommonServiceImpl, deployedAppMetricsServiceImpl, imageDigestPolicyServiceImpl, mergeUtil, appCrudOperationServiceImpl, deploymentTemplateServiceImpl, applicationServiceClientImpl, configMapHistoryRepositoryImpl, configMapRepositoryImpl, chartRepositoryImpl, envConfigOverrideRepositoryImpl, environmentRepositoryImpl, pipelineRepositoryImpl, ciArtifactRepositoryImpl, pipelineOverrideRepositoryImpl, pipelineStrategyHistoryRepositoryImpl, pipelineConfigRepositoryImpl, deploymentTemplateHistoryRepositoryImpl, deploymentConfigServiceImpl) deployedConfigurationHistoryServiceImpl := history.NewDeployedConfigurationHistoryServiceImpl(sugaredLogger, userServiceImpl, deploymentTemplateHistoryServiceImpl, pipelineStrategyHistoryServiceImpl, configMapHistoryServiceImpl, cdWorkflowRepositoryImpl, scopedVariableCMCSManagerImpl) - userDeploymentRequestRepositoryImpl := repository16.NewUserDeploymentRequestRepositoryImpl(db, transactionUtilImpl) + userDeploymentRequestRepositoryImpl := repository17.NewUserDeploymentRequestRepositoryImpl(db, transactionUtilImpl) userDeploymentRequestServiceImpl := service2.NewUserDeploymentRequestServiceImpl(sugaredLogger, userDeploymentRequestRepositoryImpl) - manifestPushConfigRepositoryImpl := repository11.NewManifestPushConfigRepository(sugaredLogger, db) + manifestPushConfigRepositoryImpl := repository12.NewManifestPushConfigRepository(sugaredLogger, db) scanToolExecutionHistoryMappingRepositoryImpl := security.NewScanToolExecutionHistoryMappingRepositoryImpl(db, sugaredLogger) imageScanServiceImpl := security2.NewImageScanServiceImpl(sugaredLogger, imageScanHistoryRepositoryImpl, imageScanResultRepositoryImpl, imageScanObjectMetaRepositoryImpl, cveStoreRepositoryImpl, imageScanDeployInfoRepositoryImpl, userServiceImpl, teamRepositoryImpl, appRepositoryImpl, environmentServiceImpl, ciArtifactRepositoryImpl, policyServiceImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, scanToolMetadataRepositoryImpl, scanToolExecutionHistoryMappingRepositoryImpl, cvePolicyRepositoryImpl) triggerServiceImpl, err := devtronApps.NewTriggerServiceImpl(sugaredLogger, cdWorkflowCommonServiceImpl, gitOpsManifestPushServiceImpl, gitOpsConfigReadServiceImpl, argoK8sClientImpl, acdConfig, argoClientWrapperServiceImpl, pipelineStatusTimelineServiceImpl, chartTemplateServiceImpl, workflowEventPublishServiceImpl, manifestCreationServiceImpl, deployedConfigurationHistoryServiceImpl, argoUserServiceImpl, pipelineStageServiceImpl, globalPluginServiceImpl, customTagServiceImpl, pluginInputVariableParserImpl, prePostCdScriptHistoryServiceImpl, scopedVariableCMCSManagerImpl, workflowServiceImpl, imageDigestPolicyServiceImpl, userServiceImpl, clientImpl, helmAppServiceImpl, enforcerUtilImpl, userDeploymentRequestServiceImpl, helmAppClientImpl, eventSimpleFactoryImpl, eventRESTClientImpl, environmentVariables, appRepositoryImpl, ciPipelineMaterialRepositoryImpl, imageScanHistoryRepositoryImpl, imageScanDeployInfoRepositoryImpl, pipelineRepositoryImpl, pipelineOverrideRepositoryImpl, manifestPushConfigRepositoryImpl, chartRepositoryImpl, environmentRepositoryImpl, cdWorkflowRepositoryImpl, ciWorkflowRepositoryImpl, ciArtifactRepositoryImpl, ciTemplateServiceImpl, materialRepositoryImpl, appLabelRepositoryImpl, ciPipelineRepositoryImpl, appWorkflowRepositoryImpl, dockerArtifactStoreRepositoryImpl, imageScanServiceImpl, k8sServiceImpl, transactionUtilImpl, deploymentConfigServiceImpl, ciCdPipelineOrchestratorImpl, gitOperationServiceImpl, attributesServiceImpl) @@ -716,7 +717,7 @@ func InitializeApp() (*App, error) { chartRefRouterImpl := router.NewChartRefRouterImpl(chartRefRestHandlerImpl) configMapRestHandlerImpl := restHandler.NewConfigMapRestHandlerImpl(pipelineBuilderImpl, sugaredLogger, chartServiceImpl, userServiceImpl, teamServiceImpl, enforcerImpl, pipelineRepositoryImpl, enforcerUtilImpl, configMapServiceImpl) configMapRouterImpl := router.NewConfigMapRouterImpl(configMapRestHandlerImpl) - k8sResourceHistoryRepositoryImpl := repository17.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) + k8sResourceHistoryRepositoryImpl := repository18.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) k8sResourceHistoryServiceImpl := kubernetesResourceAuditLogs.Newk8sResourceHistoryServiceImpl(k8sResourceHistoryRepositoryImpl, sugaredLogger, appRepositoryImpl, environmentRepositoryImpl) ephemeralContainersRepositoryImpl := repository5.NewEphemeralContainersRepositoryImpl(db, transactionUtilImpl) ephemeralContainerServiceImpl := cluster2.NewEphemeralContainerServiceImpl(ephemeralContainersRepositoryImpl, sugaredLogger) @@ -728,9 +729,9 @@ func InitializeApp() (*App, error) { } argoApplicationServiceExtendedImpl := argoApplication.NewArgoApplicationServiceExtendedServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, argoUserServiceImpl, helmAppClientImpl, helmAppServiceImpl, k8sApplicationServiceImpl, argoApplicationReadServiceImpl, applicationServiceClientImpl) installedAppResourceServiceImpl := resource.NewInstalledAppResourceServiceImpl(sugaredLogger, installedAppRepositoryImpl, appStoreApplicationVersionRepositoryImpl, applicationServiceClientImpl, acdAuthConfig, installedAppVersionHistoryRepositoryImpl, argoUserServiceImpl, helmAppClientImpl, helmAppServiceImpl, appStatusServiceImpl, k8sCommonServiceImpl, k8sApplicationServiceImpl, k8sServiceImpl, deploymentConfigServiceImpl, ociRegistryConfigRepositoryImpl, argoApplicationServiceExtendedImpl) - chartGroupEntriesRepositoryImpl := repository18.NewChartGroupEntriesRepositoryImpl(db, sugaredLogger) - chartGroupReposotoryImpl := repository18.NewChartGroupReposotoryImpl(db, sugaredLogger) - chartGroupDeploymentRepositoryImpl := repository18.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) + chartGroupEntriesRepositoryImpl := repository19.NewChartGroupEntriesRepositoryImpl(db, sugaredLogger) + chartGroupReposotoryImpl := repository19.NewChartGroupReposotoryImpl(db, sugaredLogger) + chartGroupDeploymentRepositoryImpl := repository19.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) appStoreVersionValuesRepositoryImpl := appStoreValuesRepository.NewAppStoreVersionValuesRepositoryImpl(sugaredLogger, db) appStoreRepositoryImpl := appStoreDiscoverRepository.NewAppStoreRepositoryImpl(sugaredLogger, db) clusterInstalledAppsRepositoryImpl := repository3.NewClusterInstalledAppsRepositoryImpl(db, sugaredLogger) @@ -797,7 +798,7 @@ func InitializeApp() (*App, error) { policyRestHandlerImpl := restHandler.NewPolicyRestHandlerImpl(sugaredLogger, policyServiceImpl, userServiceImpl, userAuthServiceImpl, enforcerImpl, enforcerUtilImpl, environmentServiceImpl) policyRouterImpl := router.NewPolicyRouterImpl(policyRestHandlerImpl) certificateServiceClientImpl := certificate.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl, argoUserServiceImpl) - serviceClientImpl2 := repository19.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) + serviceClientImpl2 := repository20.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) gitOpsConfigServiceImpl := gitops.NewGitOpsConfigServiceImpl(sugaredLogger, gitOpsConfigRepositoryImpl, k8sServiceImpl, acdAuthConfig, clusterServiceImplExtended, argoUserServiceImpl, serviceClientImpl, gitOperationServiceImpl, gitOpsConfigReadServiceImpl, gitOpsValidationServiceImpl, certificateServiceClientImpl, repositoryServiceClientImpl, serviceClientImpl2) gitOpsConfigRestHandlerImpl := restHandler.NewGitOpsConfigRestHandlerImpl(sugaredLogger, gitOpsConfigServiceImpl, userServiceImpl, validate, enforcerImpl, teamServiceImpl) gitOpsConfigRouterImpl := router.NewGitOpsConfigRouterImpl(gitOpsConfigRestHandlerImpl) @@ -863,7 +864,7 @@ func InitializeApp() (*App, error) { pipelineTriggerRouterImpl := trigger2.NewPipelineTriggerRouter(pipelineTriggerRestHandlerImpl, sseSSE) webhookDataRestHandlerImpl := webhook.NewWebhookDataRestHandlerImpl(sugaredLogger, userServiceImpl, ciPipelineMaterialRepositoryImpl, enforcerUtilImpl, enforcerImpl, clientImpl, webhookEventDataConfigImpl) pipelineConfigRouterImpl := configure2.NewPipelineRouterImpl(pipelineConfigRestHandlerImpl, webhookDataRestHandlerImpl) - prePostCiScriptHistoryRepositoryImpl := repository13.NewPrePostCiScriptHistoryRepositoryImpl(sugaredLogger, db) + prePostCiScriptHistoryRepositoryImpl := repository14.NewPrePostCiScriptHistoryRepositoryImpl(sugaredLogger, db) prePostCiScriptHistoryServiceImpl := history.NewPrePostCiScriptHistoryServiceImpl(sugaredLogger, prePostCiScriptHistoryRepositoryImpl) pipelineHistoryRestHandlerImpl := history2.NewPipelineHistoryRestHandlerImpl(sugaredLogger, userServiceImpl, enforcerImpl, pipelineStrategyHistoryServiceImpl, deploymentTemplateHistoryServiceImpl, configMapHistoryServiceImpl, prePostCiScriptHistoryServiceImpl, prePostCdScriptHistoryServiceImpl, enforcerUtilImpl, deployedConfigurationHistoryServiceImpl) pipelineHistoryRouterImpl := history3.NewPipelineHistoryRouterImpl(pipelineHistoryRestHandlerImpl) From b15e1d1c2c6c07902a35985ee506a78b2a9c7395 Mon Sep 17 00:00:00 2001 From: ayu-devtron Date: Thu, 7 Nov 2024 12:08:14 +0530 Subject: [PATCH 4/7] more project beans to refactor --- pkg/team/TeamService.go | 13 ++++--------- pkg/team/bean/bean.go | 5 +++++ pkg/team/mocks/TeamService.go | 11 +++++------ 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/pkg/team/TeamService.go b/pkg/team/TeamService.go index 824c9960b7..c1e24027f8 100644 --- a/pkg/team/TeamService.go +++ b/pkg/team/TeamService.go @@ -38,7 +38,7 @@ type TeamService interface { Update(request *bean2.TeamRequest) (*bean2.TeamRequest, error) Delete(request *bean2.TeamRequest) error FetchForAutocomplete() ([]bean2.TeamRequest, error) - FindByIds(ids []*int) ([]*TeamBean, error) + FindByIds(ids []*int) ([]*bean2.TeamBean, error) FindByTeamName(teamName string) (*bean2.TeamRequest, error) } type TeamServiceImpl struct { @@ -209,15 +209,15 @@ func (impl TeamServiceImpl) FetchForAutocomplete() ([]bean2.TeamRequest, error) return teamRequests, err } -func (impl TeamServiceImpl) FindByIds(ids []*int) ([]*TeamBean, error) { +func (impl TeamServiceImpl) FindByIds(ids []*int) ([]*bean2.TeamBean, error) { teams, err := impl.teamRepository.FindByIds(ids) if err != nil { impl.logger.Errorw("error in fetch all team", "err", err) return nil, err } - var teamRequests []*TeamBean + var teamRequests []*bean2.TeamBean for _, team := range teams { - team := &TeamBean{ + team := &bean2.TeamBean{ Id: team.Id, Name: team.Name, } @@ -243,8 +243,3 @@ func (impl TeamServiceImpl) FindByTeamName(teamName string) (*bean2.TeamRequest, return teamRes, err } - -type TeamBean struct { - Id int `json:"id"` - Name string `json:"name,notnull"` -} diff --git a/pkg/team/bean/bean.go b/pkg/team/bean/bean.go index e8429eacd5..c1b4eba1bd 100644 --- a/pkg/team/bean/bean.go +++ b/pkg/team/bean/bean.go @@ -20,3 +20,8 @@ type Team struct { Active bool `sql:"active,notnull"` sql.AuditLog } + +type TeamBean struct { + Id int `json:"id"` + Name string `json:"name,notnull"` +} diff --git a/pkg/team/mocks/TeamService.go b/pkg/team/mocks/TeamService.go index f5fc12c506..9576f79777 100644 --- a/pkg/team/mocks/TeamService.go +++ b/pkg/team/mocks/TeamService.go @@ -3,7 +3,6 @@ package mocks import ( - team "github.com/devtron-labs/devtron/pkg/team" "github.com/devtron-labs/devtron/pkg/team/bean" mock "github.com/stretchr/testify/mock" ) @@ -132,19 +131,19 @@ func (_m *TeamService) FetchOne(id int) (*bean.TeamRequest, error) { } // FindByIds provides a mock function with given fields: ids -func (_m *TeamService) FindByIds(ids []*int) ([]*team.TeamBean, error) { +func (_m *TeamService) FindByIds(ids []*int) ([]*bean.TeamBean, error) { ret := _m.Called(ids) - var r0 []*team.TeamBean + var r0 []*bean.TeamBean var r1 error - if rf, ok := ret.Get(0).(func([]*int) ([]*team.TeamBean, error)); ok { + if rf, ok := ret.Get(0).(func([]*int) ([]*bean.TeamBean, error)); ok { return rf(ids) } - if rf, ok := ret.Get(0).(func([]*int) []*team.TeamBean); ok { + if rf, ok := ret.Get(0).(func([]*int) []*bean.TeamBean); ok { r0 = rf(ids) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]*team.TeamBean) + r0 = ret.Get(0).([]*bean.TeamBean) } } From 792f909325343b0e617e2b51fd9f4069e0b7c8ff Mon Sep 17 00:00:00 2001 From: ayu-devtron Date: Mon, 11 Nov 2024 14:38:30 +0530 Subject: [PATCH 5/7] project, cluster, enviroment read service --- api/cluster/EnvironmentRestHandler.go | 7 ++- api/cluster/wire_cluster.go | 10 ++++ api/team/TeamRestHandler.go | 6 ++- api/team/wire_team.go | 3 ++ cmd/external-app/wire_gen.go | 12 +++-- ...InstalledAppDeploymentTypeChangeService.go | 6 ++- pkg/cluster/ClusterService.go | 14 ------ pkg/cluster/read/ClusterReadService.go | 36 ++++++++++++++ pkg/environment/EnvironmentService.go | 26 ---------- .../read/EnvironmentReadService.go | 48 +++++++++++++++++++ pkg/team/TeamService.go | 21 -------- pkg/team/read/TeamReadService.go | 44 +++++++++++++++++ wire_gen.go | 20 +++++--- 13 files changed, 177 insertions(+), 76 deletions(-) create mode 100644 pkg/cluster/read/ClusterReadService.go create mode 100644 pkg/environment/read/EnvironmentReadService.go create mode 100644 pkg/team/read/TeamReadService.go diff --git a/api/cluster/EnvironmentRestHandler.go b/api/cluster/EnvironmentRestHandler.go index 17109ec8dd..5a3fa229a6 100644 --- a/api/cluster/EnvironmentRestHandler.go +++ b/api/cluster/EnvironmentRestHandler.go @@ -22,6 +22,7 @@ import ( bean3 "github.com/devtron-labs/devtron/pkg/cluster/bean" request "github.com/devtron-labs/devtron/pkg/environment" bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" + "github.com/devtron-labs/devtron/pkg/environment/read" "net/http" "strconv" "strings" @@ -62,6 +63,7 @@ type EnvironmentRestHandler interface { type EnvironmentRestHandlerImpl struct { environmentClusterMappingsService request.EnvironmentService + environmentReadService read.EnvironmentReadService k8sCommonService k8s.K8sCommonService logger *zap.SugaredLogger userService user.UserService @@ -77,7 +79,7 @@ type ClusterReachableResponse struct { ClusterName string `json:"clusterName"` } -func NewEnvironmentRestHandlerImpl(svc request.EnvironmentService, logger *zap.SugaredLogger, userService user.UserService, validator *validator.Validate, enforcer casbin.Enforcer, deleteService delete2.DeleteService, k8sUtil *k8s2.K8sServiceImpl, k8sCommonService k8s.K8sCommonService) *EnvironmentRestHandlerImpl { +func NewEnvironmentRestHandlerImpl(svc request.EnvironmentService, environmentReadService read.EnvironmentReadService, logger *zap.SugaredLogger, userService user.UserService, validator *validator.Validate, enforcer casbin.Enforcer, deleteService delete2.DeleteService, k8sUtil *k8s2.K8sServiceImpl, k8sCommonService k8s.K8sCommonService) *EnvironmentRestHandlerImpl { cfg := &bean.Config{} err := env.Parse(cfg) if err != nil { @@ -87,6 +89,7 @@ func NewEnvironmentRestHandlerImpl(svc request.EnvironmentService, logger *zap.S logger.Infow("evironment rest handler initialized", "ignoreAuthCheckValue", cfg.IgnoreAuthCheck) return &EnvironmentRestHandlerImpl{ environmentClusterMappingsService: svc, + environmentReadService: environmentReadService, logger: logger, userService: userService, validator: validator, @@ -161,7 +164,7 @@ func (impl EnvironmentRestHandlerImpl) Get(w http.ResponseWriter, r *http.Reques } func (impl EnvironmentRestHandlerImpl) GetAll(w http.ResponseWriter, r *http.Request) { - environments, err := impl.environmentClusterMappingsService.GetAll() + environments, err := impl.environmentReadService.GetAll() if err != nil { impl.logger.Errorw("service err, GetAll", "err", err) common.WriteJsonResp(w, err, nil, http.StatusInternalServerError) diff --git a/api/cluster/wire_cluster.go b/api/cluster/wire_cluster.go index 25df934798..63e76cd7af 100644 --- a/api/cluster/wire_cluster.go +++ b/api/cluster/wire_cluster.go @@ -19,8 +19,10 @@ package cluster import ( "github.com/devtron-labs/devtron/pkg/cluster" "github.com/devtron-labs/devtron/pkg/cluster/rbac" + "github.com/devtron-labs/devtron/pkg/cluster/read" "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/environment" + read2 "github.com/devtron-labs/devtron/pkg/environment/read" repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/genericNotes" repository2 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" @@ -35,6 +37,8 @@ var ClusterWireSet = wire.NewSet( cluster.NewClusterServiceImpl, cluster.NewClusterServiceImplExtended, wire.Bind(new(cluster.ClusterService), new(*cluster.ClusterServiceImplExtended)), + read.NewClusterReadServiceImpl, + wire.Bind(new(read.ClusterReadService), new(*read.ClusterReadServiceImpl)), rbac.NewClusterRbacServiceImpl, wire.Bind(new(rbac.ClusterRbacService), new(*rbac.ClusterRbacServiceImpl)), @@ -61,6 +65,8 @@ var ClusterWireSet = wire.NewSet( wire.Bind(new(repository3.EnvironmentRepository), new(*repository3.EnvironmentRepositoryImpl)), environment.NewEnvironmentServiceImpl, wire.Bind(new(environment.EnvironmentService), new(*environment.EnvironmentServiceImpl)), + read2.NewEnvironmentReadServiceImpl, + wire.Bind(new(read2.EnvironmentReadService), new(*read2.EnvironmentReadServiceImpl)), NewEnvironmentRestHandlerImpl, wire.Bind(new(EnvironmentRestHandler), new(*EnvironmentRestHandlerImpl)), NewEnvironmentRouterImpl, @@ -75,6 +81,8 @@ var ClusterWireSetEa = wire.NewSet( wire.Bind(new(rbac.ClusterRbacService), new(*rbac.ClusterRbacServiceImpl)), cluster.NewClusterServiceImpl, wire.Bind(new(cluster.ClusterService), new(*cluster.ClusterServiceImpl)), + read.NewClusterReadServiceImpl, + wire.Bind(new(read.ClusterReadService), new(*read.ClusterReadServiceImpl)), repository.NewClusterDescriptionRepositoryImpl, wire.Bind(new(repository.ClusterDescriptionRepository), new(*repository.ClusterDescriptionRepositoryImpl)), @@ -97,6 +105,8 @@ var ClusterWireSetEa = wire.NewSet( wire.Bind(new(repository3.EnvironmentRepository), new(*repository3.EnvironmentRepositoryImpl)), environment.NewEnvironmentServiceImpl, wire.Bind(new(environment.EnvironmentService), new(*environment.EnvironmentServiceImpl)), + read2.NewEnvironmentReadServiceImpl, + wire.Bind(new(read2.EnvironmentReadService), new(*read2.EnvironmentReadServiceImpl)), NewEnvironmentRestHandlerImpl, wire.Bind(new(EnvironmentRestHandler), new(*EnvironmentRestHandlerImpl)), NewEnvironmentRouterImpl, diff --git a/api/team/TeamRestHandler.go b/api/team/TeamRestHandler.go index 136b8d7825..f97b8e1d64 100644 --- a/api/team/TeamRestHandler.go +++ b/api/team/TeamRestHandler.go @@ -20,6 +20,7 @@ import ( "encoding/json" "fmt" bean2 "github.com/devtron-labs/devtron/pkg/team/bean" + "github.com/devtron-labs/devtron/pkg/team/read" "net/http" "strconv" "strings" @@ -52,6 +53,7 @@ type TeamRestHandler interface { type TeamRestHandlerImpl struct { logger *zap.SugaredLogger teamService team.TeamService + teamReadService read.TeamReadService userService user2.UserService validator *validator.Validate enforcer casbin.Enforcer @@ -62,6 +64,7 @@ type TeamRestHandlerImpl struct { func NewTeamRestHandlerImpl(logger *zap.SugaredLogger, teamService team.TeamService, + teamReadService read.TeamReadService, userService user2.UserService, enforcer casbin.Enforcer, validator *validator.Validate, userAuthService user2.UserAuthService, @@ -78,6 +81,7 @@ func NewTeamRestHandlerImpl(logger *zap.SugaredLogger, return &TeamRestHandlerImpl{ logger: logger, teamService: teamService, + teamReadService: teamReadService, userService: userService, validator: validator, enforcer: enforcer, @@ -126,7 +130,7 @@ func (impl TeamRestHandlerImpl) SaveTeam(w http.ResponseWriter, r *http.Request) func (impl TeamRestHandlerImpl) FetchAll(w http.ResponseWriter, r *http.Request) { token := r.Header.Get("token") - res, err := impl.teamService.FetchAllActive() + res, err := impl.teamReadService.FetchAllActive() if err != nil { impl.logger.Errorw("service err, FetchAllActive", "err", err) common.WriteJsonResp(w, err, nil, http.StatusInternalServerError) diff --git a/api/team/wire_team.go b/api/team/wire_team.go index 8cda896166..1b0b9f4c3f 100644 --- a/api/team/wire_team.go +++ b/api/team/wire_team.go @@ -18,6 +18,7 @@ package team import ( "github.com/devtron-labs/devtron/pkg/team" + "github.com/devtron-labs/devtron/pkg/team/read" "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/google/wire" ) @@ -30,6 +31,8 @@ var TeamsWireSet = wire.NewSet( wire.Bind(new(repository.TeamRepository), new(*repository.TeamRepositoryImpl)), team.NewTeamServiceImpl, wire.Bind(new(team.TeamService), new(*team.TeamServiceImpl)), + read.NewTeamReadServiceImpl, + wire.Bind(new(read.TeamReadService), new(*read.TeamReadServiceImpl)), NewTeamRestHandlerImpl, wire.Bind(new(TeamRestHandler), new(*TeamRestHandlerImpl)), NewTeamRouterImpl, diff --git a/cmd/external-app/wire_gen.go b/cmd/external-app/wire_gen.go index 02b83deeb4..7f156387bb 100644 --- a/cmd/external-app/wire_gen.go +++ b/cmd/external-app/wire_gen.go @@ -70,7 +70,7 @@ import ( "github.com/devtron-labs/devtron/pkg/appStore/values/repository" service4 "github.com/devtron-labs/devtron/pkg/appStore/values/service" "github.com/devtron-labs/devtron/pkg/argoApplication" - "github.com/devtron-labs/devtron/pkg/argoApplication/read" + read2 "github.com/devtron-labs/devtron/pkg/argoApplication/read" "github.com/devtron-labs/devtron/pkg/argoRepositoryCreds" "github.com/devtron-labs/devtron/pkg/attributes" "github.com/devtron-labs/devtron/pkg/auth/authentication" @@ -89,6 +89,7 @@ import ( "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" "github.com/devtron-labs/devtron/pkg/environment" + read3 "github.com/devtron-labs/devtron/pkg/environment/read" repository4 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/externalLink" "github.com/devtron-labs/devtron/pkg/fluxApplication" @@ -109,6 +110,7 @@ import ( "github.com/devtron-labs/devtron/pkg/server/store" "github.com/devtron-labs/devtron/pkg/sql" "github.com/devtron-labs/devtron/pkg/team" + "github.com/devtron-labs/devtron/pkg/team/read" repository2 "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/devtron-labs/devtron/pkg/terminal" util3 "github.com/devtron-labs/devtron/pkg/util" @@ -206,6 +208,7 @@ func InitializeApp() (*App, error) { loginService := middleware.NewUserLogin(sessionManager, k8sClient) userAuthServiceImpl := user.NewUserAuthServiceImpl(userAuthRepositoryImpl, sessionManager, loginService, sugaredLogger, userRepositoryImpl, roleGroupRepositoryImpl, userServiceImpl) teamServiceImpl := team.NewTeamServiceImpl(sugaredLogger, teamRepositoryImpl, userAuthServiceImpl) + teamReadServiceImpl := read.NewTeamReadServiceImpl(sugaredLogger, teamRepositoryImpl) clusterRepositoryImpl := repository3.NewClusterRepositoryImpl(db, sugaredLogger) syncMap := informer.NewGlobalMapClusterNamespace() k8sInformerFactoryImpl := informer.NewK8sInformerFactoryImpl(sugaredLogger, syncMap, k8sServiceImpl) @@ -257,7 +260,7 @@ func InitializeApp() (*App, error) { repositorySecretImpl := argoRepositoryCreds.NewRepositorySecret(sugaredLogger, k8sServiceImpl, clusterServiceImpl, acdAuthConfig) dockerRegistryConfigImpl := pipeline.NewDockerRegistryConfigImpl(sugaredLogger, helmAppServiceImpl, dockerArtifactStoreRepositoryImpl, dockerRegistryIpsConfigRepositoryImpl, ociRegistryConfigRepositoryImpl, repositorySecretImpl) deleteServiceImpl := delete2.NewDeleteServiceImpl(sugaredLogger, teamServiceImpl, clusterServiceImpl, environmentServiceImpl, chartRepositoryServiceImpl, installedAppRepositoryImpl, dockerRegistryConfigImpl, dockerArtifactStoreRepositoryImpl, k8sInformerFactoryImpl, k8sServiceImpl) - teamRestHandlerImpl := team2.NewTeamRestHandlerImpl(sugaredLogger, teamServiceImpl, userServiceImpl, enforcerImpl, validate, userAuthServiceImpl, deleteServiceImpl) + teamRestHandlerImpl := team2.NewTeamRestHandlerImpl(sugaredLogger, teamServiceImpl, teamReadServiceImpl, userServiceImpl, enforcerImpl, validate, userAuthServiceImpl, deleteServiceImpl) teamRouterImpl := team2.NewTeamRouterImpl(teamRestHandlerImpl) userAuthHandlerImpl := user2.NewUserAuthHandlerImpl(userAuthServiceImpl, validate, sugaredLogger, enforcerImpl) userAuthRouterImpl := user2.NewUserAuthRouterImpl(sugaredLogger, userAuthHandlerImpl, userAuthOidcHelperImpl) @@ -310,7 +313,7 @@ func InitializeApp() (*App, error) { fluxApplicationServiceImpl := fluxApplication.NewFluxApplicationServiceImpl(sugaredLogger, helmAppServiceImpl, clusterServiceImpl, helmAppClientImpl, pumpImpl) k8sResourceHistoryRepositoryImpl := repository10.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) k8sResourceHistoryServiceImpl := kubernetesResourceAuditLogs.Newk8sResourceHistoryServiceImpl(k8sResourceHistoryRepositoryImpl, sugaredLogger, appRepositoryImpl, environmentRepositoryImpl) - argoApplicationReadServiceImpl := read.NewArgoApplicationReadServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, helmUserServiceImpl, helmAppClientImpl, helmAppServiceImpl) + argoApplicationReadServiceImpl := read2.NewArgoApplicationReadServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, helmUserServiceImpl, helmAppClientImpl, helmAppServiceImpl) k8sCommonServiceImpl := k8s2.NewK8sCommonServiceImpl(sugaredLogger, k8sServiceImpl, clusterServiceImpl, argoApplicationReadServiceImpl) ephemeralContainersRepositoryImpl := repository3.NewEphemeralContainersRepositoryImpl(db, transactionUtilImpl) ephemeralContainerServiceImpl := cluster.NewEphemeralContainerServiceImpl(ephemeralContainersRepositoryImpl, sugaredLogger) @@ -322,7 +325,8 @@ func InitializeApp() (*App, error) { argoApplicationServiceImpl := argoApplication.NewArgoApplicationServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, helmUserServiceImpl, helmAppClientImpl, helmAppServiceImpl, k8sApplicationServiceImpl, argoApplicationReadServiceImpl) helmAppRestHandlerImpl := client2.NewHelmAppRestHandlerImpl(sugaredLogger, helmAppServiceImpl, enforcerImpl, clusterServiceImpl, enforcerUtilHelmImpl, appStoreDeploymentServiceImpl, installedAppDBServiceImpl, userServiceImpl, attributesServiceImpl, serverEnvConfigServerEnvConfig, fluxApplicationServiceImpl, argoApplicationServiceImpl) helmAppRouterImpl := client2.NewHelmAppRouterImpl(helmAppRestHandlerImpl) - environmentRestHandlerImpl := cluster2.NewEnvironmentRestHandlerImpl(environmentServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceImpl, k8sServiceImpl, k8sCommonServiceImpl) + environmentReadServiceImpl := read3.NewEnvironmentReadServiceImpl(sugaredLogger, environmentRepositoryImpl) + environmentRestHandlerImpl := cluster2.NewEnvironmentRestHandlerImpl(environmentServiceImpl, environmentReadServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceImpl, k8sServiceImpl, k8sCommonServiceImpl) environmentRouterImpl := cluster2.NewEnvironmentRouterImpl(environmentRestHandlerImpl) ciPipelineRepositoryImpl := pipelineConfig.NewCiPipelineRepositoryImpl(db, sugaredLogger, transactionUtilImpl) enforcerUtilImpl := rbac.NewEnforcerUtilImpl(sugaredLogger, teamRepositoryImpl, appRepositoryImpl, environmentRepositoryImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, clusterRepositoryImpl, enforcerImpl, dbMigrationServiceImpl) diff --git a/pkg/appStore/installedApp/service/FullMode/deploymentTypeChange/InstalledAppDeploymentTypeChangeService.go b/pkg/appStore/installedApp/service/FullMode/deploymentTypeChange/InstalledAppDeploymentTypeChangeService.go index 98dd59ff2a..5e91d10b31 100644 --- a/pkg/appStore/installedApp/service/FullMode/deploymentTypeChange/InstalledAppDeploymentTypeChangeService.go +++ b/pkg/appStore/installedApp/service/FullMode/deploymentTypeChange/InstalledAppDeploymentTypeChangeService.go @@ -41,6 +41,7 @@ import ( "github.com/devtron-labs/devtron/pkg/argoApplication" "github.com/devtron-labs/devtron/pkg/bean" "github.com/devtron-labs/devtron/pkg/cluster" + "github.com/devtron-labs/devtron/pkg/cluster/read" repository5 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/deployment/common" bean3 "github.com/devtron-labs/devtron/pkg/deployment/common/bean" @@ -83,6 +84,7 @@ type InstalledAppDeploymentTypeChangeServiceImpl struct { helmAppService client.HelmAppService argoUserService argo.ArgoUserService clusterService cluster.ClusterService + clusterReadService read.ClusterReadService deploymentConfigService common.DeploymentConfigService argoApplicationService argoApplication.ArgoApplicationService } @@ -99,6 +101,7 @@ func NewInstalledAppDeploymentTypeChangeServiceImpl(logger *zap.SugaredLogger, argoClientWrapperService argocdServer.ArgoClientWrapperService, chartGroupService chartGroup.ChartGroupService, helmAppService client.HelmAppService, argoUserService argo.ArgoUserService, clusterService cluster.ClusterService, + clusterReadService read.ClusterReadService, appRepository appRepository.AppRepository, deploymentConfigService common.DeploymentConfigService, argoApplicationService argoApplication.ArgoApplicationService) *InstalledAppDeploymentTypeChangeServiceImpl { @@ -119,6 +122,7 @@ func NewInstalledAppDeploymentTypeChangeServiceImpl(logger *zap.SugaredLogger, helmAppService: helmAppService, argoUserService: argoUserService, clusterService: clusterService, + clusterReadService: clusterReadService, appRepository: appRepository, deploymentConfigService: deploymentConfigService, argoApplicationService: argoApplicationService, @@ -153,7 +157,7 @@ func (impl *InstalledAppDeploymentTypeChangeServiceImpl) MigrateDeploymentType(c } //if cluster unreachable return with error, this is done to handle the case when cluster is unreachable and //delete req sent to argo cd the app deletion is stuck in deleting state - isClusterReachable, err := impl.clusterService.IsClusterReachable(envBean.ClusterId) + isClusterReachable, err := impl.clusterReadService.IsClusterReachable(envBean.ClusterId) if err != nil { return response, err } diff --git a/pkg/cluster/ClusterService.go b/pkg/cluster/ClusterService.go index 7c5561a4fd..e203278b9f 100644 --- a/pkg/cluster/ClusterService.go +++ b/pkg/cluster/ClusterService.go @@ -96,7 +96,6 @@ type ClusterService interface { ConvertClusterBeanObjectToCluster(bean *bean.ClusterBean) *v1alpha1.Cluster GetClusterConfigByClusterId(clusterId int) (*k8s.ClusterConfig, error) - IsClusterReachable(clusterId int) (bool, error) } type ClusterServiceImpl struct { @@ -1064,16 +1063,3 @@ func (impl *ClusterServiceImpl) GetClusterConfigByClusterId(clusterId int) (*k8s clusterConfig := rq.GetClusterConfig() return clusterConfig, nil } - -func (impl *ClusterServiceImpl) IsClusterReachable(clusterId int) (bool, error) { - cluster, err := impl.clusterRepository.FindById(clusterId) - if err != nil { - impl.logger.Errorw("error in finding cluster from clusterId", "envId", clusterId) - return false, err - } - if len(cluster.ErrorInConnecting) > 0 { - return false, nil - } - return true, nil - -} diff --git a/pkg/cluster/read/ClusterReadService.go b/pkg/cluster/read/ClusterReadService.go new file mode 100644 index 0000000000..5a5f55624f --- /dev/null +++ b/pkg/cluster/read/ClusterReadService.go @@ -0,0 +1,36 @@ +package read + +import ( + "github.com/devtron-labs/devtron/pkg/cluster/repository" + "go.uber.org/zap" +) + +type ClusterReadService interface { + IsClusterReachable(clusterId int) (bool, error) +} + +type ClusterReadServiceImpl struct { + logger *zap.SugaredLogger + clusterRepository repository.ClusterRepository +} + +func NewClusterReadServiceImpl(logger *zap.SugaredLogger, + clusterRepository repository.ClusterRepository) *ClusterReadServiceImpl { + return &ClusterReadServiceImpl{ + logger: logger, + clusterRepository: clusterRepository, + } +} + +func (impl *ClusterReadServiceImpl) IsClusterReachable(clusterId int) (bool, error) { + cluster, err := impl.clusterRepository.FindById(clusterId) + if err != nil { + impl.logger.Errorw("error in finding cluster from clusterId", "envId", clusterId) + return false, err + } + if len(cluster.ErrorInConnecting) > 0 { + return false, nil + } + return true, nil + +} diff --git a/pkg/environment/EnvironmentService.go b/pkg/environment/EnvironmentService.go index ef0700668d..35e9dcbc54 100644 --- a/pkg/environment/EnvironmentService.go +++ b/pkg/environment/EnvironmentService.go @@ -46,7 +46,6 @@ type EnvironmentService interface { FindOne(environment string) (*bean2.EnvironmentBean, error) Create(mappings *bean2.EnvironmentBean, userId int32) (*bean2.EnvironmentBean, error) Update(mappings *bean2.EnvironmentBean, userId int32) (*bean2.EnvironmentBean, error) - GetAll() ([]bean2.EnvironmentBean, error) GetAllActive() ([]bean2.EnvironmentBean, error) GetAllActiveEnvironmentCount() (int, error) Delete(deleteReq *bean2.EnvironmentBean, userId int32) error @@ -184,31 +183,6 @@ func (impl EnvironmentServiceImpl) FindOne(environment string) (*bean2.Environme return bean, nil } -func (impl EnvironmentServiceImpl) GetAll() ([]bean2.EnvironmentBean, error) { - models, err := impl.environmentRepository.FindAll() - if err != nil { - impl.logger.Errorw("error in fetching environment", "err", err) - } - var beans []bean2.EnvironmentBean - for _, model := range models { - beans = append(beans, bean2.EnvironmentBean{ - Id: model.Id, - Environment: model.Name, - ClusterId: model.Cluster.Id, - ClusterName: model.Cluster.ClusterName, - Active: model.Active, - PrometheusEndpoint: model.Cluster.PrometheusEndpoint, - Namespace: model.Namespace, - Default: model.Default, - CdArgoSetup: model.Cluster.CdArgoSetup, - EnvironmentIdentifier: model.EnvironmentIdentifier, - Description: model.Description, - IsVirtualEnvironment: model.IsVirtualEnvironment, - }) - } - return beans, nil -} - func (impl EnvironmentServiceImpl) GetAllActive() ([]bean2.EnvironmentBean, error) { models, err := impl.environmentRepository.FindAllActive() if err != nil { diff --git a/pkg/environment/read/EnvironmentReadService.go b/pkg/environment/read/EnvironmentReadService.go new file mode 100644 index 0000000000..c9c7a33ddf --- /dev/null +++ b/pkg/environment/read/EnvironmentReadService.go @@ -0,0 +1,48 @@ +package read + +import ( + bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" + "github.com/devtron-labs/devtron/pkg/environment/repository" + "go.uber.org/zap" +) + +type EnvironmentReadService interface { + GetAll() ([]bean2.EnvironmentBean, error) +} + +type EnvironmentReadServiceImpl struct { + logger *zap.SugaredLogger + environmentRepository repository.EnvironmentRepository +} + +func NewEnvironmentReadServiceImpl(logger *zap.SugaredLogger, + environmentRepository repository.EnvironmentRepository) *EnvironmentReadServiceImpl { + return &EnvironmentReadServiceImpl{ + logger: logger, + environmentRepository: environmentRepository, + } +} +func (impl *EnvironmentReadServiceImpl) GetAll() ([]bean2.EnvironmentBean, error) { + models, err := impl.environmentRepository.FindAll() + if err != nil { + impl.logger.Errorw("error in fetching environment", "err", err) + } + var beans []bean2.EnvironmentBean + for _, model := range models { + beans = append(beans, bean2.EnvironmentBean{ + Id: model.Id, + Environment: model.Name, + ClusterId: model.Cluster.Id, + ClusterName: model.Cluster.ClusterName, + Active: model.Active, + PrometheusEndpoint: model.Cluster.PrometheusEndpoint, + Namespace: model.Namespace, + Default: model.Default, + CdArgoSetup: model.Cluster.CdArgoSetup, + EnvironmentIdentifier: model.EnvironmentIdentifier, + Description: model.Description, + IsVirtualEnvironment: model.IsVirtualEnvironment, + }) + } + return beans, nil +} diff --git a/pkg/team/TeamService.go b/pkg/team/TeamService.go index c1e24027f8..c9ac182988 100644 --- a/pkg/team/TeamService.go +++ b/pkg/team/TeamService.go @@ -33,7 +33,6 @@ import ( type TeamService interface { Create(request *bean2.TeamRequest) (*bean2.TeamRequest, error) - FetchAllActive() ([]bean2.TeamRequest, error) FetchOne(id int) (*bean2.TeamRequest, error) Update(request *bean2.TeamRequest) (*bean2.TeamRequest, error) Delete(request *bean2.TeamRequest) error @@ -82,26 +81,6 @@ func (impl TeamServiceImpl) Create(request *bean2.TeamRequest) (*bean2.TeamReque return request, nil } -func (impl TeamServiceImpl) FetchAllActive() ([]bean2.TeamRequest, error) { - impl.logger.Debug("fetch all team from db") - teams, err := impl.teamRepository.FindAllActive() - if err != nil { - impl.logger.Errorw("error in fetch all team", "err", err) - return nil, err - } - var teamRequests []bean2.TeamRequest - for _, team := range teams { - providerRes := bean2.TeamRequest{ - Id: team.Id, - Name: team.Name, - Active: team.Active, - UserId: team.CreatedBy, - } - teamRequests = append(teamRequests, providerRes) - } - return teamRequests, err -} - func (impl TeamServiceImpl) FetchOne(teamId int) (*bean2.TeamRequest, error) { impl.logger.Debug("fetch team by ID from db") team, err := impl.teamRepository.FindOne(teamId) diff --git a/pkg/team/read/TeamReadService.go b/pkg/team/read/TeamReadService.go new file mode 100644 index 0000000000..dea20771b4 --- /dev/null +++ b/pkg/team/read/TeamReadService.go @@ -0,0 +1,44 @@ +package read + +import ( + bean2 "github.com/devtron-labs/devtron/pkg/team/bean" + "github.com/devtron-labs/devtron/pkg/team/repository" + "go.uber.org/zap" +) + +type TeamReadService interface { + FetchAllActive() ([]bean2.TeamRequest, error) +} + +type TeamReadServiceImpl struct { + logger *zap.SugaredLogger + teamRepository repository.TeamRepository +} + +func NewTeamReadServiceImpl(logger *zap.SugaredLogger, + teamRepository repository.TeamRepository) *TeamReadServiceImpl { + return &TeamReadServiceImpl{ + logger: logger, + teamRepository: teamRepository, + } +} + +func (impl *TeamReadServiceImpl) FetchAllActive() ([]bean2.TeamRequest, error) { + impl.logger.Debug("fetch all team from db") + teams, err := impl.teamRepository.FindAllActive() + if err != nil { + impl.logger.Errorw("error in fetch all team", "err", err) + return nil, err + } + var teamRequests []bean2.TeamRequest + for _, team := range teams { + providerRes := bean2.TeamRequest{ + Id: team.Id, + Name: team.Name, + Active: team.Active, + UserId: team.CreatedBy, + } + teamRequests = append(teamRequests, providerRes) + } + return teamRequests, err +} diff --git a/wire_gen.go b/wire_gen.go index a18bbdbd70..2513aef64b 100644 --- a/wire_gen.go +++ b/wire_gen.go @@ -121,7 +121,7 @@ import ( service3 "github.com/devtron-labs/devtron/pkg/appStore/values/service" appWorkflow2 "github.com/devtron-labs/devtron/pkg/appWorkflow" "github.com/devtron-labs/devtron/pkg/argoApplication" - "github.com/devtron-labs/devtron/pkg/argoApplication/read" + read2 "github.com/devtron-labs/devtron/pkg/argoApplication/read" "github.com/devtron-labs/devtron/pkg/argoRepositoryCreds" "github.com/devtron-labs/devtron/pkg/asyncProvider" "github.com/devtron-labs/devtron/pkg/attributes" @@ -138,6 +138,7 @@ import ( "github.com/devtron-labs/devtron/pkg/chartRepo/repository" cluster2 "github.com/devtron-labs/devtron/pkg/cluster" rbac2 "github.com/devtron-labs/devtron/pkg/cluster/rbac" + read5 "github.com/devtron-labs/devtron/pkg/cluster/read" repository5 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/clusterTerminalAccess" "github.com/devtron-labs/devtron/pkg/commonService" @@ -161,10 +162,11 @@ import ( "github.com/devtron-labs/devtron/pkg/deploymentGroup" "github.com/devtron-labs/devtron/pkg/devtronResource" "github.com/devtron-labs/devtron/pkg/devtronResource/history/deployment/cdPipeline" - read2 "github.com/devtron-labs/devtron/pkg/devtronResource/read" + read3 "github.com/devtron-labs/devtron/pkg/devtronResource/read" repository10 "github.com/devtron-labs/devtron/pkg/devtronResource/repository" "github.com/devtron-labs/devtron/pkg/dockerRegistry" "github.com/devtron-labs/devtron/pkg/environment" + "github.com/devtron-labs/devtron/pkg/environment/read" "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/eventProcessor" "github.com/devtron-labs/devtron/pkg/eventProcessor/celEvaluator" @@ -207,6 +209,7 @@ import ( "github.com/devtron-labs/devtron/pkg/server/store" "github.com/devtron-labs/devtron/pkg/sql" "github.com/devtron-labs/devtron/pkg/team" + read4 "github.com/devtron-labs/devtron/pkg/team/read" repository6 "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/devtron-labs/devtron/pkg/terminal" util3 "github.com/devtron-labs/devtron/pkg/util" @@ -325,6 +328,7 @@ func InitializeApp() (*App, error) { loginService := middleware.NewUserLogin(sessionManager, k8sClient) userAuthServiceImpl := user.NewUserAuthServiceImpl(userAuthRepositoryImpl, sessionManager, loginService, sugaredLogger, userRepositoryImpl, roleGroupRepositoryImpl, userServiceImpl) environmentServiceImpl := environment.NewEnvironmentServiceImpl(environmentRepositoryImpl, clusterServiceImplExtended, sugaredLogger, k8sServiceImpl, k8sInformerFactoryImpl, userAuthServiceImpl, attributesRepositoryImpl) + environmentReadServiceImpl := read.NewEnvironmentReadServiceImpl(sugaredLogger, environmentRepositoryImpl) validate, err := util.IntValidator() if err != nil { return nil, err @@ -407,9 +411,9 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - argoApplicationReadServiceImpl := read.NewArgoApplicationReadServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, argoUserServiceImpl, helmAppClientImpl, helmAppServiceImpl) + argoApplicationReadServiceImpl := read2.NewArgoApplicationReadServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, argoUserServiceImpl, helmAppClientImpl, helmAppServiceImpl) k8sCommonServiceImpl := k8s2.NewK8sCommonServiceImpl(sugaredLogger, k8sServiceImpl, clusterServiceImplExtended, argoApplicationReadServiceImpl) - environmentRestHandlerImpl := cluster3.NewEnvironmentRestHandlerImpl(environmentServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceExtendedImpl, k8sServiceImpl, k8sCommonServiceImpl) + environmentRestHandlerImpl := cluster3.NewEnvironmentRestHandlerImpl(environmentServiceImpl, environmentReadServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceExtendedImpl, k8sServiceImpl, k8sCommonServiceImpl) environmentRouterImpl := cluster3.NewEnvironmentRouterImpl(environmentRestHandlerImpl) transactionUtilImpl := sql.NewTransactionUtilImpl(db) genericNoteRepositoryImpl := repository8.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) @@ -468,7 +472,7 @@ func InitializeApp() (*App, error) { appStatusServiceImpl := appStatus2.NewAppStatusServiceImpl(appStatusRepositoryImpl, sugaredLogger, enforcerImpl, enforcerUtilImpl) scopedVariableRepositoryImpl := repository9.NewScopedVariableRepository(db, sugaredLogger, transactionUtilImpl) devtronResourceSearchableKeyRepositoryImpl := repository10.NewDevtronResourceSearchableKeyRepositoryImpl(sugaredLogger, db) - devtronResourceSearchableKeyServiceImpl, err := read2.NewDevtronResourceSearchableKeyServiceImpl(sugaredLogger, devtronResourceSearchableKeyRepositoryImpl) + devtronResourceSearchableKeyServiceImpl, err := read3.NewDevtronResourceSearchableKeyServiceImpl(sugaredLogger, devtronResourceSearchableKeyRepositoryImpl) if err != nil { return nil, err } @@ -708,7 +712,8 @@ func InitializeApp() (*App, error) { smtpNotificationServiceImpl := notifier.NewSMTPNotificationServiceImpl(sugaredLogger, smtpNotificationRepositoryImpl, teamServiceImpl, notificationSettingsRepositoryImpl) notificationRestHandlerImpl := restHandler.NewNotificationRestHandlerImpl(dockerRegistryConfigImpl, sugaredLogger, gitRegistryConfigImpl, userServiceImpl, validate, notificationConfigServiceImpl, slackNotificationServiceImpl, webhookNotificationServiceImpl, sesNotificationServiceImpl, smtpNotificationServiceImpl, enforcerImpl, teamServiceImpl, environmentServiceImpl, pipelineBuilderImpl, enforcerUtilImpl) notificationRouterImpl := router.NewNotificationRouterImpl(notificationRestHandlerImpl) - teamRestHandlerImpl := team2.NewTeamRestHandlerImpl(sugaredLogger, teamServiceImpl, userServiceImpl, enforcerImpl, validate, userAuthServiceImpl, deleteServiceExtendedImpl) + teamReadServiceImpl := read4.NewTeamReadServiceImpl(sugaredLogger, teamRepositoryImpl) + teamRestHandlerImpl := team2.NewTeamRestHandlerImpl(sugaredLogger, teamServiceImpl, teamReadServiceImpl, userServiceImpl, enforcerImpl, validate, userAuthServiceImpl, deleteServiceExtendedImpl) teamRouterImpl := team2.NewTeamRouterImpl(teamRestHandlerImpl) roleGroupServiceImpl := user.NewRoleGroupServiceImpl(userAuthRepositoryImpl, sugaredLogger, userRepositoryImpl, roleGroupRepositoryImpl, userCommonServiceImpl) userRestHandlerImpl := user2.NewUserRestHandlerImpl(userServiceImpl, validate, sugaredLogger, enforcerImpl, roleGroupServiceImpl, userCommonServiceImpl) @@ -754,7 +759,8 @@ func InitializeApp() (*App, error) { return nil, err } cdApplicationStatusUpdateHandlerImpl := cron2.NewCdApplicationStatusUpdateHandlerImpl(sugaredLogger, appServiceImpl, workflowDagExecutorImpl, installedAppDBServiceImpl, appServiceConfig, pipelineStatusTimelineRepositoryImpl, eventRESTClientImpl, appListingRepositoryImpl, cdWorkflowRepositoryImpl, pipelineRepositoryImpl, installedAppVersionHistoryRepositoryImpl, installedAppRepositoryImpl, cronLoggerImpl, cdWorkflowCommonServiceImpl, workflowStatusServiceImpl) - installedAppDeploymentTypeChangeServiceImpl := deploymentTypeChange.NewInstalledAppDeploymentTypeChangeServiceImpl(sugaredLogger, installedAppRepositoryImpl, installedAppVersionHistoryRepositoryImpl, appStatusRepositoryImpl, gitOpsConfigReadServiceImpl, environmentRepositoryImpl, applicationServiceClientImpl, k8sCommonServiceImpl, k8sServiceImpl, fullModeDeploymentServiceImpl, eaModeDeploymentServiceImpl, argoClientWrapperServiceImpl, chartGroupServiceImpl, helmAppServiceImpl, argoUserServiceImpl, clusterServiceImplExtended, appRepositoryImpl, deploymentConfigServiceImpl, argoApplicationServiceExtendedImpl) + clusterReadServiceImpl := read5.NewClusterReadServiceImpl(sugaredLogger, clusterRepositoryImpl) + installedAppDeploymentTypeChangeServiceImpl := deploymentTypeChange.NewInstalledAppDeploymentTypeChangeServiceImpl(sugaredLogger, installedAppRepositoryImpl, installedAppVersionHistoryRepositoryImpl, appStatusRepositoryImpl, gitOpsConfigReadServiceImpl, environmentRepositoryImpl, applicationServiceClientImpl, k8sCommonServiceImpl, k8sServiceImpl, fullModeDeploymentServiceImpl, eaModeDeploymentServiceImpl, argoClientWrapperServiceImpl, chartGroupServiceImpl, helmAppServiceImpl, argoUserServiceImpl, clusterServiceImplExtended, clusterReadServiceImpl, appRepositoryImpl, deploymentConfigServiceImpl, argoApplicationServiceExtendedImpl) installedAppRestHandlerImpl := appStore.NewInstalledAppRestHandlerImpl(sugaredLogger, userServiceImpl, enforcerImpl, enforcerUtilImpl, enforcerUtilHelmImpl, installedAppDBExtendedServiceImpl, installedAppResourceServiceImpl, chartGroupServiceImpl, validate, clusterServiceImplExtended, applicationServiceClientImpl, appStoreDeploymentServiceImpl, appStoreDeploymentDBServiceImpl, helmAppClientImpl, argoUserServiceImpl, cdApplicationStatusUpdateHandlerImpl, installedAppRepositoryImpl, appCrudOperationServiceImpl, installedAppDeploymentTypeChangeServiceImpl) appStoreValuesRestHandlerImpl := appStoreValues.NewAppStoreValuesRestHandlerImpl(sugaredLogger, userServiceImpl, appStoreValuesServiceImpl) appStoreValuesRouterImpl := appStoreValues.NewAppStoreValuesRouterImpl(appStoreValuesRestHandlerImpl) From d6705c6de2590672fb54178fc7d03bcf76b7fa37 Mon Sep 17 00:00:00 2001 From: ayu-devtron Date: Mon, 11 Nov 2024 16:06:39 +0530 Subject: [PATCH 6/7] revert team related changes --- pkg/team/{repository => }/TeamRepository.go | 50 +++++++----- pkg/team/TeamService.go | 86 ++++++++++++++------- pkg/team/bean/bean.go | 27 ------- pkg/team/mocks/TeamService.go | 80 +++++++++---------- pkg/team/read/TeamReadService.go | 44 ----------- 5 files changed, 128 insertions(+), 159 deletions(-) rename pkg/team/{repository => }/TeamRepository.go (65%) delete mode 100644 pkg/team/bean/bean.go delete mode 100644 pkg/team/read/TeamReadService.go diff --git a/pkg/team/repository/TeamRepository.go b/pkg/team/TeamRepository.go similarity index 65% rename from pkg/team/repository/TeamRepository.go rename to pkg/team/TeamRepository.go index d873cb1ba5..a02b576f66 100644 --- a/pkg/team/repository/TeamRepository.go +++ b/pkg/team/TeamRepository.go @@ -14,22 +14,30 @@ * limitations under the License. */ -package repository +package team import ( - "github.com/devtron-labs/devtron/pkg/team/bean" + "github.com/devtron-labs/devtron/pkg/sql" "github.com/go-pg/pg" ) +type Team struct { + tableName struct{} `sql:"team"` + Id int `sql:"id,pk"` + Name string `sql:"name,notnull"` + Active bool `sql:"active,notnull"` + sql.AuditLog +} + type TeamRepository interface { - Save(team *bean.Team) error - FindAllActive() ([]bean.Team, error) - FindOne(id int) (bean.Team, error) - FindByTeamName(name string) (bean.Team, error) - Update(team *bean.Team) error - MarkTeamDeleted(team *bean.Team, tx *pg.Tx) error + Save(team *Team) error + FindAllActive() ([]Team, error) + FindOne(id int) (Team, error) + FindByTeamName(name string) (Team, error) + Update(team *Team) error + MarkTeamDeleted(team *Team, tx *pg.Tx) error GetConnection() *pg.DB - FindByIds(ids []*int) ([]*bean.Team, error) + FindByIds(ids []*int) ([]*Team, error) FindAllActiveTeamNames() ([]string, error) } type TeamRepositoryImpl struct { @@ -42,53 +50,53 @@ func NewTeamRepositoryImpl(dbConnection *pg.DB) *TeamRepositoryImpl { const UNASSIGNED_PROJECT = "unassigned" -func (impl TeamRepositoryImpl) Save(team *bean.Team) error { +func (impl TeamRepositoryImpl) Save(team *Team) error { err := impl.dbConnection.Insert(team) return err } -func (impl TeamRepositoryImpl) FindAllActive() ([]bean.Team, error) { - var teams []bean.Team +func (impl TeamRepositoryImpl) FindAllActive() ([]Team, error) { + var teams []Team err := impl.dbConnection.Model(&teams).Where("active = ?", true).Select() return teams, err } func (impl TeamRepositoryImpl) FindAllActiveTeamNames() ([]string, error) { var teamNames []string - err := impl.dbConnection.Model((*bean.Team)(nil)). + err := impl.dbConnection.Model((*Team)(nil)). Where("active = ?", true).Select(&teamNames) return teamNames, err } -func (impl TeamRepositoryImpl) FindOne(id int) (bean.Team, error) { - var team bean.Team +func (impl TeamRepositoryImpl) FindOne(id int) (Team, error) { + var team Team err := impl.dbConnection.Model(&team). Where("id = ?", id). Where("active = ?", true).Select() return team, err } -func (impl TeamRepositoryImpl) FindByTeamName(name string) (bean.Team, error) { - var team bean.Team +func (impl TeamRepositoryImpl) FindByTeamName(name string) (Team, error) { + var team Team err := impl.dbConnection.Model(&team). Where("name = ?", name). Where("active = ?", true).Select() return team, err } -func (impl TeamRepositoryImpl) Update(team *bean.Team) error { +func (impl TeamRepositoryImpl) Update(team *Team) error { err := impl.dbConnection.Update(team) return err } -func (impl TeamRepositoryImpl) MarkTeamDeleted(team *bean.Team, tx *pg.Tx) error { +func (impl TeamRepositoryImpl) MarkTeamDeleted(team *Team, tx *pg.Tx) error { team.Active = false err := tx.Update(team) return err } -func (repo TeamRepositoryImpl) FindByIds(ids []*int) ([]*bean.Team, error) { - var objects []*bean.Team +func (repo TeamRepositoryImpl) FindByIds(ids []*int) ([]*Team, error) { + var objects []*Team err := repo.dbConnection.Model(&objects).Where("active = ?", true).Where("id in (?)", pg.In(ids)).Select() return objects, err } diff --git a/pkg/team/TeamService.go b/pkg/team/TeamService.go index c9ac182988..dc5091beef 100644 --- a/pkg/team/TeamService.go +++ b/pkg/team/TeamService.go @@ -18,8 +18,6 @@ package team import ( "errors" - bean2 "github.com/devtron-labs/devtron/pkg/team/bean" - "github.com/devtron-labs/devtron/pkg/team/repository" "strings" "time" @@ -32,21 +30,30 @@ import ( ) type TeamService interface { - Create(request *bean2.TeamRequest) (*bean2.TeamRequest, error) - FetchOne(id int) (*bean2.TeamRequest, error) - Update(request *bean2.TeamRequest) (*bean2.TeamRequest, error) - Delete(request *bean2.TeamRequest) error - FetchForAutocomplete() ([]bean2.TeamRequest, error) - FindByIds(ids []*int) ([]*bean2.TeamBean, error) - FindByTeamName(teamName string) (*bean2.TeamRequest, error) + Create(request *TeamRequest) (*TeamRequest, error) + FetchAllActive() ([]TeamRequest, error) + FetchOne(id int) (*TeamRequest, error) + Update(request *TeamRequest) (*TeamRequest, error) + Delete(request *TeamRequest) error + FetchForAutocomplete() ([]TeamRequest, error) + FindByIds(ids []*int) ([]*TeamBean, error) + FindByTeamName(teamName string) (*TeamRequest, error) } type TeamServiceImpl struct { logger *zap.SugaredLogger - teamRepository repository.TeamRepository + teamRepository TeamRepository userAuthService user.UserAuthService } -func NewTeamServiceImpl(logger *zap.SugaredLogger, teamRepository repository.TeamRepository, +type TeamRequest struct { + Id int `json:"id,omitempty" validate:"number"` + Name string `json:"name,omitempty" validate:"required"` + Active bool `json:"active"` + UserId int32 `json:"-"` + CreatedOn time.Time `json:"-"` +} + +func NewTeamServiceImpl(logger *zap.SugaredLogger, teamRepository TeamRepository, userAuthService user.UserAuthService) *TeamServiceImpl { return &TeamServiceImpl{ logger: logger, @@ -55,14 +62,14 @@ func NewTeamServiceImpl(logger *zap.SugaredLogger, teamRepository repository.Tea } } -func (impl TeamServiceImpl) Create(request *bean2.TeamRequest) (*bean2.TeamRequest, error) { +func (impl TeamServiceImpl) Create(request *TeamRequest) (*TeamRequest, error) { impl.logger.Debugw("team create request", "req", request) if len(request.Name) < 3 || strings.Contains(request.Name, " ") { impl.logger.Errorw("name should not contain white spaces and should have min 3 chars ") err := errors.New("name should not contain white spaces and should have min 3 chars") return nil, err } - t := &bean2.Team{ + t := &Team{ Name: request.Name, Id: request.Id, Active: request.Active, @@ -81,7 +88,27 @@ func (impl TeamServiceImpl) Create(request *bean2.TeamRequest) (*bean2.TeamReque return request, nil } -func (impl TeamServiceImpl) FetchOne(teamId int) (*bean2.TeamRequest, error) { +func (impl TeamServiceImpl) FetchAllActive() ([]TeamRequest, error) { + impl.logger.Debug("fetch all team from db") + teams, err := impl.teamRepository.FindAllActive() + if err != nil { + impl.logger.Errorw("error in fetch all team", "err", err) + return nil, err + } + var teamRequests []TeamRequest + for _, team := range teams { + providerRes := TeamRequest{ + Id: team.Id, + Name: team.Name, + Active: team.Active, + UserId: team.CreatedBy, + } + teamRequests = append(teamRequests, providerRes) + } + return teamRequests, err +} + +func (impl TeamServiceImpl) FetchOne(teamId int) (*TeamRequest, error) { impl.logger.Debug("fetch team by ID from db") team, err := impl.teamRepository.FindOne(teamId) if err != nil { @@ -89,7 +116,7 @@ func (impl TeamServiceImpl) FetchOne(teamId int) (*bean2.TeamRequest, error) { return nil, err } - teamRes := &bean2.TeamRequest{ + teamRes := &TeamRequest{ Id: team.Id, Name: team.Name, Active: team.Active, @@ -100,7 +127,7 @@ func (impl TeamServiceImpl) FetchOne(teamId int) (*bean2.TeamRequest, error) { return teamRes, err } -func (impl TeamServiceImpl) Update(request *bean2.TeamRequest) (*bean2.TeamRequest, error) { +func (impl TeamServiceImpl) Update(request *TeamRequest) (*TeamRequest, error) { impl.logger.Debugw("team update request", "req", request) existingProvider, err0 := impl.teamRepository.FindOne(request.Id) if err0 != nil { @@ -112,7 +139,7 @@ func (impl TeamServiceImpl) Update(request *bean2.TeamRequest) (*bean2.TeamReque } return nil, err0 } - team := &bean2.Team{ + team := &Team{ Name: request.Name, Id: request.Id, Active: request.Active, @@ -132,7 +159,7 @@ func (impl TeamServiceImpl) Update(request *bean2.TeamRequest) (*bean2.TeamReque return request, nil } -func (impl TeamServiceImpl) Delete(deleteRequest *bean2.TeamRequest) error { +func (impl TeamServiceImpl) Delete(deleteRequest *TeamRequest) error { existingTeam, err := impl.teamRepository.FindOne(deleteRequest.Id) if err != nil { impl.logger.Errorw("No matching entry found for delete.", "id", deleteRequest.Id) @@ -146,7 +173,7 @@ func (impl TeamServiceImpl) Delete(deleteRequest *bean2.TeamRequest) error { } // Rollback tx on error. defer tx.Rollback() - deleteReq := &bean2.Team{ + deleteReq := &Team{ Name: deleteRequest.Name, Id: deleteRequest.Id, Active: deleteRequest.Active, @@ -170,16 +197,16 @@ func (impl TeamServiceImpl) Delete(deleteRequest *bean2.TeamRequest) error { return nil } -func (impl TeamServiceImpl) FetchForAutocomplete() ([]bean2.TeamRequest, error) { +func (impl TeamServiceImpl) FetchForAutocomplete() ([]TeamRequest, error) { impl.logger.Debug("fetch all team from db") teams, err := impl.teamRepository.FindAllActive() if err != nil { impl.logger.Errorw("error in fetch all team", "err", err) return nil, err } - var teamRequests []bean2.TeamRequest + var teamRequests []TeamRequest for _, team := range teams { - providerRes := bean2.TeamRequest{ + providerRes := TeamRequest{ Id: team.Id, Name: team.Name, } @@ -188,15 +215,15 @@ func (impl TeamServiceImpl) FetchForAutocomplete() ([]bean2.TeamRequest, error) return teamRequests, err } -func (impl TeamServiceImpl) FindByIds(ids []*int) ([]*bean2.TeamBean, error) { +func (impl TeamServiceImpl) FindByIds(ids []*int) ([]*TeamBean, error) { teams, err := impl.teamRepository.FindByIds(ids) if err != nil { impl.logger.Errorw("error in fetch all team", "err", err) return nil, err } - var teamRequests []*bean2.TeamBean + var teamRequests []*TeamBean for _, team := range teams { - team := &bean2.TeamBean{ + team := &TeamBean{ Id: team.Id, Name: team.Name, } @@ -205,7 +232,7 @@ func (impl TeamServiceImpl) FindByIds(ids []*int) ([]*bean2.TeamBean, error) { return teamRequests, err } -func (impl TeamServiceImpl) FindByTeamName(teamName string) (*bean2.TeamRequest, error) { +func (impl TeamServiceImpl) FindByTeamName(teamName string) (*TeamRequest, error) { impl.logger.Debug("fetch team by name from db") team, err := impl.teamRepository.FindByTeamName(teamName) if err != nil { @@ -213,7 +240,7 @@ func (impl TeamServiceImpl) FindByTeamName(teamName string) (*bean2.TeamRequest, return nil, err } - teamRes := &bean2.TeamRequest{ + teamRes := &TeamRequest{ Id: team.Id, Name: team.Name, Active: team.Active, @@ -222,3 +249,8 @@ func (impl TeamServiceImpl) FindByTeamName(teamName string) (*bean2.TeamRequest, return teamRes, err } + +type TeamBean struct { + Id int `json:"id"` + Name string `json:"name,notnull"` +} diff --git a/pkg/team/bean/bean.go b/pkg/team/bean/bean.go deleted file mode 100644 index c1b4eba1bd..0000000000 --- a/pkg/team/bean/bean.go +++ /dev/null @@ -1,27 +0,0 @@ -package bean - -import ( - "github.com/devtron-labs/devtron/pkg/sql" - "time" -) - -type TeamRequest struct { - Id int `json:"id,omitempty" validate:"number"` - Name string `json:"name,omitempty" validate:"required"` - Active bool `json:"active"` - UserId int32 `json:"-"` - CreatedOn time.Time `json:"-"` -} - -type Team struct { - tableName struct{} `sql:"team"` - Id int `sql:"id,pk"` - Name string `sql:"name,notnull"` - Active bool `sql:"active,notnull"` - sql.AuditLog -} - -type TeamBean struct { - Id int `json:"id"` - Name string `json:"name,notnull"` -} diff --git a/pkg/team/mocks/TeamService.go b/pkg/team/mocks/TeamService.go index 9576f79777..1c72cb8edb 100644 --- a/pkg/team/mocks/TeamService.go +++ b/pkg/team/mocks/TeamService.go @@ -3,7 +3,7 @@ package mocks import ( - "github.com/devtron-labs/devtron/pkg/team/bean" + team "github.com/devtron-labs/devtron/pkg/team" mock "github.com/stretchr/testify/mock" ) @@ -13,23 +13,23 @@ type TeamService struct { } // Create provides a mock function with given fields: request -func (_m *TeamService) Create(request *bean.TeamRequest) (*bean.TeamRequest, error) { +func (_m *TeamService) Create(request *team.TeamRequest) (*team.TeamRequest, error) { ret := _m.Called(request) - var r0 *bean.TeamRequest + var r0 *team.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func(*bean.TeamRequest) (*bean.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func(*team.TeamRequest) (*team.TeamRequest, error)); ok { return rf(request) } - if rf, ok := ret.Get(0).(func(*bean.TeamRequest) *bean.TeamRequest); ok { + if rf, ok := ret.Get(0).(func(*team.TeamRequest) *team.TeamRequest); ok { r0 = rf(request) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*bean.TeamRequest) + r0 = ret.Get(0).(*team.TeamRequest) } } - if rf, ok := ret.Get(1).(func(*bean.TeamRequest) error); ok { + if rf, ok := ret.Get(1).(func(*team.TeamRequest) error); ok { r1 = rf(request) } else { r1 = ret.Error(1) @@ -39,11 +39,11 @@ func (_m *TeamService) Create(request *bean.TeamRequest) (*bean.TeamRequest, err } // Delete provides a mock function with given fields: request -func (_m *TeamService) Delete(request *bean.TeamRequest) error { +func (_m *TeamService) Delete(request *team.TeamRequest) error { ret := _m.Called(request) var r0 error - if rf, ok := ret.Get(0).(func(*bean.TeamRequest) error); ok { + if rf, ok := ret.Get(0).(func(*team.TeamRequest) error); ok { r0 = rf(request) } else { r0 = ret.Error(0) @@ -53,19 +53,19 @@ func (_m *TeamService) Delete(request *bean.TeamRequest) error { } // FetchAllActive provides a mock function with given fields: -func (_m *TeamService) FetchAllActive() ([]bean.TeamRequest, error) { +func (_m *TeamService) FetchAllActive() ([]team.TeamRequest, error) { ret := _m.Called() - var r0 []bean.TeamRequest + var r0 []team.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func() ([]bean.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func() ([]team.TeamRequest, error)); ok { return rf() } - if rf, ok := ret.Get(0).(func() []bean.TeamRequest); ok { + if rf, ok := ret.Get(0).(func() []team.TeamRequest); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]bean.TeamRequest) + r0 = ret.Get(0).([]team.TeamRequest) } } @@ -79,19 +79,19 @@ func (_m *TeamService) FetchAllActive() ([]bean.TeamRequest, error) { } // FetchForAutocomplete provides a mock function with given fields: -func (_m *TeamService) FetchForAutocomplete() ([]bean.TeamRequest, error) { +func (_m *TeamService) FetchForAutocomplete() ([]team.TeamRequest, error) { ret := _m.Called() - var r0 []bean.TeamRequest + var r0 []team.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func() ([]bean.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func() ([]team.TeamRequest, error)); ok { return rf() } - if rf, ok := ret.Get(0).(func() []bean.TeamRequest); ok { + if rf, ok := ret.Get(0).(func() []team.TeamRequest); ok { r0 = rf() } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]bean.TeamRequest) + r0 = ret.Get(0).([]team.TeamRequest) } } @@ -105,19 +105,19 @@ func (_m *TeamService) FetchForAutocomplete() ([]bean.TeamRequest, error) { } // FetchOne provides a mock function with given fields: id -func (_m *TeamService) FetchOne(id int) (*bean.TeamRequest, error) { +func (_m *TeamService) FetchOne(id int) (*team.TeamRequest, error) { ret := _m.Called(id) - var r0 *bean.TeamRequest + var r0 *team.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func(int) (*bean.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func(int) (*team.TeamRequest, error)); ok { return rf(id) } - if rf, ok := ret.Get(0).(func(int) *bean.TeamRequest); ok { + if rf, ok := ret.Get(0).(func(int) *team.TeamRequest); ok { r0 = rf(id) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*bean.TeamRequest) + r0 = ret.Get(0).(*team.TeamRequest) } } @@ -131,19 +131,19 @@ func (_m *TeamService) FetchOne(id int) (*bean.TeamRequest, error) { } // FindByIds provides a mock function with given fields: ids -func (_m *TeamService) FindByIds(ids []*int) ([]*bean.TeamBean, error) { +func (_m *TeamService) FindByIds(ids []*int) ([]*team.TeamBean, error) { ret := _m.Called(ids) - var r0 []*bean.TeamBean + var r0 []*team.TeamBean var r1 error - if rf, ok := ret.Get(0).(func([]*int) ([]*bean.TeamBean, error)); ok { + if rf, ok := ret.Get(0).(func([]*int) ([]*team.TeamBean, error)); ok { return rf(ids) } - if rf, ok := ret.Get(0).(func([]*int) []*bean.TeamBean); ok { + if rf, ok := ret.Get(0).(func([]*int) []*team.TeamBean); ok { r0 = rf(ids) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]*bean.TeamBean) + r0 = ret.Get(0).([]*team.TeamBean) } } @@ -157,19 +157,19 @@ func (_m *TeamService) FindByIds(ids []*int) ([]*bean.TeamBean, error) { } // FindByTeamName provides a mock function with given fields: teamName -func (_m *TeamService) FindByTeamName(teamName string) (*bean.TeamRequest, error) { +func (_m *TeamService) FindByTeamName(teamName string) (*team.TeamRequest, error) { ret := _m.Called(teamName) - var r0 *bean.TeamRequest + var r0 *team.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func(string) (*bean.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func(string) (*team.TeamRequest, error)); ok { return rf(teamName) } - if rf, ok := ret.Get(0).(func(string) *bean.TeamRequest); ok { + if rf, ok := ret.Get(0).(func(string) *team.TeamRequest); ok { r0 = rf(teamName) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*bean.TeamRequest) + r0 = ret.Get(0).(*team.TeamRequest) } } @@ -183,23 +183,23 @@ func (_m *TeamService) FindByTeamName(teamName string) (*bean.TeamRequest, error } // Update provides a mock function with given fields: request -func (_m *TeamService) Update(request *bean.TeamRequest) (*bean.TeamRequest, error) { +func (_m *TeamService) Update(request *team.TeamRequest) (*team.TeamRequest, error) { ret := _m.Called(request) - var r0 *bean.TeamRequest + var r0 *team.TeamRequest var r1 error - if rf, ok := ret.Get(0).(func(*bean.TeamRequest) (*bean.TeamRequest, error)); ok { + if rf, ok := ret.Get(0).(func(*team.TeamRequest) (*team.TeamRequest, error)); ok { return rf(request) } - if rf, ok := ret.Get(0).(func(*bean.TeamRequest) *bean.TeamRequest); ok { + if rf, ok := ret.Get(0).(func(*team.TeamRequest) *team.TeamRequest); ok { r0 = rf(request) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*bean.TeamRequest) + r0 = ret.Get(0).(*team.TeamRequest) } } - if rf, ok := ret.Get(1).(func(*bean.TeamRequest) error); ok { + if rf, ok := ret.Get(1).(func(*team.TeamRequest) error); ok { r1 = rf(request) } else { r1 = ret.Error(1) diff --git a/pkg/team/read/TeamReadService.go b/pkg/team/read/TeamReadService.go deleted file mode 100644 index dea20771b4..0000000000 --- a/pkg/team/read/TeamReadService.go +++ /dev/null @@ -1,44 +0,0 @@ -package read - -import ( - bean2 "github.com/devtron-labs/devtron/pkg/team/bean" - "github.com/devtron-labs/devtron/pkg/team/repository" - "go.uber.org/zap" -) - -type TeamReadService interface { - FetchAllActive() ([]bean2.TeamRequest, error) -} - -type TeamReadServiceImpl struct { - logger *zap.SugaredLogger - teamRepository repository.TeamRepository -} - -func NewTeamReadServiceImpl(logger *zap.SugaredLogger, - teamRepository repository.TeamRepository) *TeamReadServiceImpl { - return &TeamReadServiceImpl{ - logger: logger, - teamRepository: teamRepository, - } -} - -func (impl *TeamReadServiceImpl) FetchAllActive() ([]bean2.TeamRequest, error) { - impl.logger.Debug("fetch all team from db") - teams, err := impl.teamRepository.FindAllActive() - if err != nil { - impl.logger.Errorw("error in fetch all team", "err", err) - return nil, err - } - var teamRequests []bean2.TeamRequest - for _, team := range teams { - providerRes := bean2.TeamRequest{ - Id: team.Id, - Name: team.Name, - Active: team.Active, - UserId: team.CreatedBy, - } - teamRequests = append(teamRequests, providerRes) - } - return teamRequests, err -} From a940ebe0a86d4be6db4b41a03cc6e3d73131a317 Mon Sep 17 00:00:00 2001 From: ayu-devtron Date: Mon, 11 Nov 2024 16:17:15 +0530 Subject: [PATCH 7/7] revert team refactoring references --- .../app/appList/AppFilteringRestHandler.go | 3 +- .../app/appList/AppListingRestHandler.go | 4 +- api/team/TeamRestHandler.go | 17 ++- api/team/wire_team.go | 8 +- cmd/external-app/wire_gen.go | 65 ++++++----- internal/sql/repository/app/AppRepository.go | 4 +- pkg/appStore/chartGroup/ChartGroupService.go | 9 +- pkg/commonService/CommonService.go | 6 +- pkg/delete/DeleteService.go | 5 +- pkg/delete/DeleteServiceExtended.go | 3 +- pkg/notifier/NotificationConfigService.go | 6 +- pkg/security/ImageScanService.go | 5 +- util/rbac/EnforcerUtil.go | 6 +- util/rbac/EnforcerUtilHelm.go | 14 +-- wire_gen.go | 101 +++++++++--------- 15 files changed, 117 insertions(+), 139 deletions(-) diff --git a/api/restHandler/app/appList/AppFilteringRestHandler.go b/api/restHandler/app/appList/AppFilteringRestHandler.go index 9f67f84631..ce78298cfc 100644 --- a/api/restHandler/app/appList/AppFilteringRestHandler.go +++ b/api/restHandler/app/appList/AppFilteringRestHandler.go @@ -27,7 +27,6 @@ import ( "github.com/devtron-labs/devtron/pkg/environment" bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/team" - bean4 "github.com/devtron-labs/devtron/pkg/team/bean" "go.uber.org/zap" "net/http" "strconv" @@ -181,7 +180,7 @@ func (handler AppFilteringRestHandlerImpl) GetClusterTeamAndEnvListForAutocomple var grantedTeams = teams start = time.Now() if !handler.cfg.IgnoreAuthCheck { - grantedTeams = make([]bean4.TeamRequest, 0) + grantedTeams = make([]team.TeamRequest, 0) // RBAC enforcer applying var teamNameList []string for _, item := range teams { diff --git a/api/restHandler/app/appList/AppListingRestHandler.go b/api/restHandler/app/appList/AppListingRestHandler.go index 62f2f0488c..8f88ef612a 100644 --- a/api/restHandler/app/appList/AppListingRestHandler.go +++ b/api/restHandler/app/appList/AppListingRestHandler.go @@ -59,7 +59,7 @@ import ( "github.com/devtron-labs/devtron/pkg/k8s" application3 "github.com/devtron-labs/devtron/pkg/k8s/application" "github.com/devtron-labs/devtron/pkg/pipeline" - bean6 "github.com/devtron-labs/devtron/pkg/team/bean" + "github.com/devtron-labs/devtron/pkg/team" util2 "github.com/devtron-labs/devtron/util" "github.com/devtron-labs/devtron/util/argo" "github.com/devtron-labs/devtron/util/rbac" @@ -125,7 +125,7 @@ type AppStatus struct { } type AppAutocomplete struct { - Teams []bean6.TeamRequest + Teams []team.TeamRequest Environments []bean2.EnvironmentBean Clusters []bean5.ClusterBean } diff --git a/api/team/TeamRestHandler.go b/api/team/TeamRestHandler.go index f97b8e1d64..5b01980ade 100644 --- a/api/team/TeamRestHandler.go +++ b/api/team/TeamRestHandler.go @@ -19,8 +19,6 @@ package team import ( "encoding/json" "fmt" - bean2 "github.com/devtron-labs/devtron/pkg/team/bean" - "github.com/devtron-labs/devtron/pkg/team/read" "net/http" "strconv" "strings" @@ -53,7 +51,6 @@ type TeamRestHandler interface { type TeamRestHandlerImpl struct { logger *zap.SugaredLogger teamService team.TeamService - teamReadService read.TeamReadService userService user2.UserService validator *validator.Validate enforcer casbin.Enforcer @@ -64,7 +61,6 @@ type TeamRestHandlerImpl struct { func NewTeamRestHandlerImpl(logger *zap.SugaredLogger, teamService team.TeamService, - teamReadService read.TeamReadService, userService user2.UserService, enforcer casbin.Enforcer, validator *validator.Validate, userAuthService user2.UserAuthService, @@ -81,7 +77,6 @@ func NewTeamRestHandlerImpl(logger *zap.SugaredLogger, return &TeamRestHandlerImpl{ logger: logger, teamService: teamService, - teamReadService: teamReadService, userService: userService, validator: validator, enforcer: enforcer, @@ -98,7 +93,7 @@ func (impl TeamRestHandlerImpl) SaveTeam(w http.ResponseWriter, r *http.Request) common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - var bean bean2.TeamRequest + var bean team.TeamRequest err = decoder.Decode(&bean) if err != nil { impl.logger.Errorw("request err, SaveTeam", "err", err, "payload", bean) @@ -130,14 +125,14 @@ func (impl TeamRestHandlerImpl) SaveTeam(w http.ResponseWriter, r *http.Request) func (impl TeamRestHandlerImpl) FetchAll(w http.ResponseWriter, r *http.Request) { token := r.Header.Get("token") - res, err := impl.teamReadService.FetchAllActive() + res, err := impl.teamService.FetchAllActive() if err != nil { impl.logger.Errorw("service err, FetchAllActive", "err", err) common.WriteJsonResp(w, err, nil, http.StatusInternalServerError) return } // RBAC enforcer applying - var result []bean2.TeamRequest + var result []team.TeamRequest for _, item := range res { if ok := impl.enforcer.Enforce(token, casbin.ResourceTeam, casbin.ActionGet, item.Name); ok { result = append(result, item) @@ -181,7 +176,7 @@ func (impl TeamRestHandlerImpl) UpdateTeam(w http.ResponseWriter, r *http.Reques common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - var bean bean2.TeamRequest + var bean team.TeamRequest err = decoder.Decode(&bean) if err != nil { impl.logger.Errorw("request err, UpdateTeam", "err", err, "bean", bean) @@ -217,7 +212,7 @@ func (impl TeamRestHandlerImpl) DeleteTeam(w http.ResponseWriter, r *http.Reques common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized) return } - var deleteRequest bean2.TeamRequest + var deleteRequest team.TeamRequest err = decoder.Decode(&deleteRequest) if err != nil { impl.logger.Errorw("request err, DeleteTeam", "err", err, "deleteRequest", deleteRequest) @@ -266,7 +261,7 @@ func (impl TeamRestHandlerImpl) FetchForAutocomplete(w http.ResponseWriter, r *h var grantedTeams = teams start = time.Now() if !impl.cfg.IgnoreAuthCheck { - grantedTeams = make([]bean2.TeamRequest, 0) + grantedTeams = make([]team.TeamRequest, 0) // RBAC enforcer applying var teamNameList []string for _, item := range teams { diff --git a/api/team/wire_team.go b/api/team/wire_team.go index 1b0b9f4c3f..657ac74a46 100644 --- a/api/team/wire_team.go +++ b/api/team/wire_team.go @@ -18,8 +18,6 @@ package team import ( "github.com/devtron-labs/devtron/pkg/team" - "github.com/devtron-labs/devtron/pkg/team/read" - "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/google/wire" ) @@ -27,12 +25,10 @@ import ( //TODO integrate user auth module var TeamsWireSet = wire.NewSet( - repository.NewTeamRepositoryImpl, - wire.Bind(new(repository.TeamRepository), new(*repository.TeamRepositoryImpl)), + team.NewTeamRepositoryImpl, + wire.Bind(new(team.TeamRepository), new(*team.TeamRepositoryImpl)), team.NewTeamServiceImpl, wire.Bind(new(team.TeamService), new(*team.TeamServiceImpl)), - read.NewTeamReadServiceImpl, - wire.Bind(new(read.TeamReadService), new(*read.TeamReadServiceImpl)), NewTeamRestHandlerImpl, wire.Bind(new(TeamRestHandler), new(*TeamRestHandlerImpl)), NewTeamRouterImpl, diff --git a/cmd/external-app/wire_gen.go b/cmd/external-app/wire_gen.go index 7f156387bb..0643ea2471 100644 --- a/cmd/external-app/wire_gen.go +++ b/cmd/external-app/wire_gen.go @@ -47,22 +47,22 @@ import ( "github.com/devtron-labs/devtron/client/argocdServer" "github.com/devtron-labs/devtron/client/dashboard" "github.com/devtron-labs/devtron/client/telemetry" - repository5 "github.com/devtron-labs/devtron/internal/sql/repository" + repository4 "github.com/devtron-labs/devtron/internal/sql/repository" "github.com/devtron-labs/devtron/internal/sql/repository/app" "github.com/devtron-labs/devtron/internal/sql/repository/appStatus" "github.com/devtron-labs/devtron/internal/sql/repository/deploymentConfig" - repository7 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" + repository6 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/security" "github.com/devtron-labs/devtron/internal/util" "github.com/devtron-labs/devtron/pkg/apiToken" app2 "github.com/devtron-labs/devtron/pkg/app" "github.com/devtron-labs/devtron/pkg/app/dbMigration" - repository9 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" + repository8 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" "github.com/devtron-labs/devtron/pkg/appStore/chartProvider" "github.com/devtron-labs/devtron/pkg/appStore/discover/repository" service3 "github.com/devtron-labs/devtron/pkg/appStore/discover/service" - repository6 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" + repository5 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" service2 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service" "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/EAMode" "github.com/devtron-labs/devtron/pkg/appStore/installedApp/service/EAMode/deployment" @@ -70,7 +70,7 @@ import ( "github.com/devtron-labs/devtron/pkg/appStore/values/repository" service4 "github.com/devtron-labs/devtron/pkg/appStore/values/service" "github.com/devtron-labs/devtron/pkg/argoApplication" - read2 "github.com/devtron-labs/devtron/pkg/argoApplication/read" + "github.com/devtron-labs/devtron/pkg/argoApplication/read" "github.com/devtron-labs/devtron/pkg/argoRepositoryCreds" "github.com/devtron-labs/devtron/pkg/attributes" "github.com/devtron-labs/devtron/pkg/auth/authentication" @@ -82,25 +82,25 @@ import ( "github.com/devtron-labs/devtron/pkg/chartRepo/repository" "github.com/devtron-labs/devtron/pkg/cluster" rbac2 "github.com/devtron-labs/devtron/pkg/cluster/rbac" - repository3 "github.com/devtron-labs/devtron/pkg/cluster/repository" + repository2 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/clusterTerminalAccess" delete2 "github.com/devtron-labs/devtron/pkg/delete" "github.com/devtron-labs/devtron/pkg/deployment/common" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" "github.com/devtron-labs/devtron/pkg/environment" - read3 "github.com/devtron-labs/devtron/pkg/environment/read" - repository4 "github.com/devtron-labs/devtron/pkg/environment/repository" + read2 "github.com/devtron-labs/devtron/pkg/environment/read" + repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/externalLink" "github.com/devtron-labs/devtron/pkg/fluxApplication" "github.com/devtron-labs/devtron/pkg/genericNotes" - repository8 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" + repository7 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" k8s2 "github.com/devtron-labs/devtron/pkg/k8s" "github.com/devtron-labs/devtron/pkg/k8s/application" "github.com/devtron-labs/devtron/pkg/k8s/capacity" "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs" - repository10 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" + repository9 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" "github.com/devtron-labs/devtron/pkg/module" "github.com/devtron-labs/devtron/pkg/module/repo" "github.com/devtron-labs/devtron/pkg/module/store" @@ -110,8 +110,6 @@ import ( "github.com/devtron-labs/devtron/pkg/server/store" "github.com/devtron-labs/devtron/pkg/sql" "github.com/devtron-labs/devtron/pkg/team" - "github.com/devtron-labs/devtron/pkg/team/read" - repository2 "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/devtron-labs/devtron/pkg/terminal" util3 "github.com/devtron-labs/devtron/pkg/util" "github.com/devtron-labs/devtron/pkg/webhook/helm" @@ -204,12 +202,11 @@ func InitializeApp() (*App, error) { ssoLoginServiceImpl := sso.NewSSOLoginServiceImpl(sugaredLogger, ssoLoginRepositoryImpl, k8sServiceImpl, environmentVariables, userAuthOidcHelperImpl) ssoLoginRestHandlerImpl := sso2.NewSsoLoginRestHandlerImpl(validate, sugaredLogger, enforcerImpl, userServiceImpl, ssoLoginServiceImpl) ssoLoginRouterImpl := sso2.NewSsoLoginRouterImpl(ssoLoginRestHandlerImpl) - teamRepositoryImpl := repository2.NewTeamRepositoryImpl(db) + teamRepositoryImpl := team.NewTeamRepositoryImpl(db) loginService := middleware.NewUserLogin(sessionManager, k8sClient) userAuthServiceImpl := user.NewUserAuthServiceImpl(userAuthRepositoryImpl, sessionManager, loginService, sugaredLogger, userRepositoryImpl, roleGroupRepositoryImpl, userServiceImpl) teamServiceImpl := team.NewTeamServiceImpl(sugaredLogger, teamRepositoryImpl, userAuthServiceImpl) - teamReadServiceImpl := read.NewTeamReadServiceImpl(sugaredLogger, teamRepositoryImpl) - clusterRepositoryImpl := repository3.NewClusterRepositoryImpl(db, sugaredLogger) + clusterRepositoryImpl := repository2.NewClusterRepositoryImpl(db, sugaredLogger) syncMap := informer.NewGlobalMapClusterNamespace() k8sInformerFactoryImpl := informer.NewK8sInformerFactoryImpl(sugaredLogger, syncMap, k8sServiceImpl) cronLoggerImpl := cron.NewCronLoggerImpl(sugaredLogger) @@ -218,8 +215,8 @@ func InitializeApp() (*App, error) { return nil, err } appStatusRepositoryImpl := appStatus.NewAppStatusRepositoryImpl(db, sugaredLogger) - environmentRepositoryImpl := repository4.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) - attributesRepositoryImpl := repository5.NewAttributesRepositoryImpl(db) + environmentRepositoryImpl := repository3.NewEnvironmentRepositoryImpl(db, sugaredLogger, appStatusRepositoryImpl) + attributesRepositoryImpl := repository4.NewAttributesRepositoryImpl(db) environmentServiceImpl := environment.NewEnvironmentServiceImpl(environmentRepositoryImpl, clusterServiceImpl, sugaredLogger, k8sServiceImpl, k8sInformerFactoryImpl, userAuthServiceImpl, attributesRepositoryImpl) chartRepoRepositoryImpl := chartRepoRepository.NewChartRepoRepositoryImpl(db) acdAuthConfig, err := util3.GetACDAuthConfig() @@ -232,7 +229,7 @@ func InitializeApp() (*App, error) { return nil, err } chartRepositoryServiceImpl := chartRepo.NewChartRepositoryServiceImpl(sugaredLogger, chartRepoRepositoryImpl, k8sServiceImpl, clusterServiceImpl, acdAuthConfig, httpClient, serverEnvConfigServerEnvConfig) - installedAppRepositoryImpl := repository6.NewInstalledAppRepositoryImpl(sugaredLogger, db) + installedAppRepositoryImpl := repository5.NewInstalledAppRepositoryImpl(sugaredLogger, db) helmClientConfig, err := gRPC.GetConfig() if err != nil { return nil, err @@ -254,13 +251,13 @@ func InitializeApp() (*App, error) { return nil, err } helmAppServiceImpl := service.NewHelmAppServiceImpl(sugaredLogger, clusterServiceImpl, helmAppClientImpl, pumpImpl, enforcerUtilHelmImpl, serverDataStoreServerDataStore, serverEnvConfigServerEnvConfig, appStoreApplicationVersionRepositoryImpl, environmentServiceImpl, pipelineRepositoryImpl, installedAppRepositoryImpl, appRepositoryImpl, clusterRepositoryImpl, k8sServiceImpl, helmReleaseConfig) - dockerArtifactStoreRepositoryImpl := repository7.NewDockerArtifactStoreRepositoryImpl(db) - dockerRegistryIpsConfigRepositoryImpl := repository7.NewDockerRegistryIpsConfigRepositoryImpl(db) - ociRegistryConfigRepositoryImpl := repository7.NewOCIRegistryConfigRepositoryImpl(db) + dockerArtifactStoreRepositoryImpl := repository6.NewDockerArtifactStoreRepositoryImpl(db) + dockerRegistryIpsConfigRepositoryImpl := repository6.NewDockerRegistryIpsConfigRepositoryImpl(db) + ociRegistryConfigRepositoryImpl := repository6.NewOCIRegistryConfigRepositoryImpl(db) repositorySecretImpl := argoRepositoryCreds.NewRepositorySecret(sugaredLogger, k8sServiceImpl, clusterServiceImpl, acdAuthConfig) dockerRegistryConfigImpl := pipeline.NewDockerRegistryConfigImpl(sugaredLogger, helmAppServiceImpl, dockerArtifactStoreRepositoryImpl, dockerRegistryIpsConfigRepositoryImpl, ociRegistryConfigRepositoryImpl, repositorySecretImpl) deleteServiceImpl := delete2.NewDeleteServiceImpl(sugaredLogger, teamServiceImpl, clusterServiceImpl, environmentServiceImpl, chartRepositoryServiceImpl, installedAppRepositoryImpl, dockerRegistryConfigImpl, dockerArtifactStoreRepositoryImpl, k8sInformerFactoryImpl, k8sServiceImpl) - teamRestHandlerImpl := team2.NewTeamRestHandlerImpl(sugaredLogger, teamServiceImpl, teamReadServiceImpl, userServiceImpl, enforcerImpl, validate, userAuthServiceImpl, deleteServiceImpl) + teamRestHandlerImpl := team2.NewTeamRestHandlerImpl(sugaredLogger, teamServiceImpl, userServiceImpl, enforcerImpl, validate, userAuthServiceImpl, deleteServiceImpl) teamRouterImpl := team2.NewTeamRouterImpl(teamRestHandlerImpl) userAuthHandlerImpl := user2.NewUserAuthHandlerImpl(userAuthServiceImpl, validate, sugaredLogger, enforcerImpl) userAuthRouterImpl := user2.NewUserAuthRouterImpl(sugaredLogger, userAuthHandlerImpl, userAuthOidcHelperImpl) @@ -268,11 +265,11 @@ func InitializeApp() (*App, error) { userRestHandlerImpl := user2.NewUserRestHandlerImpl(userServiceImpl, validate, sugaredLogger, enforcerImpl, roleGroupServiceImpl, userCommonServiceImpl) userRouterImpl := user2.NewUserRouterImpl(userRestHandlerImpl) transactionUtilImpl := sql.NewTransactionUtilImpl(db) - genericNoteRepositoryImpl := repository8.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) - genericNoteHistoryRepositoryImpl := repository8.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) + genericNoteRepositoryImpl := repository7.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) + genericNoteHistoryRepositoryImpl := repository7.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) genericNoteHistoryServiceImpl := genericNotes.NewGenericNoteHistoryServiceImpl(genericNoteHistoryRepositoryImpl, sugaredLogger) genericNoteServiceImpl := genericNotes.NewGenericNoteServiceImpl(genericNoteRepositoryImpl, genericNoteHistoryServiceImpl, userRepositoryImpl, sugaredLogger) - clusterDescriptionRepositoryImpl := repository3.NewClusterDescriptionRepositoryImpl(db, sugaredLogger) + clusterDescriptionRepositoryImpl := repository2.NewClusterDescriptionRepositoryImpl(db, sugaredLogger) clusterDescriptionServiceImpl := cluster.NewClusterDescriptionServiceImpl(clusterDescriptionRepositoryImpl, userRepositoryImpl, sugaredLogger) helmUserServiceImpl, err := argo.NewHelmUserServiceImpl(sugaredLogger) if err != nil { @@ -289,12 +286,12 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - installedAppVersionHistoryRepositoryImpl := repository6.NewInstalledAppVersionHistoryRepositoryImpl(sugaredLogger, db) + installedAppVersionHistoryRepositoryImpl := repository5.NewInstalledAppVersionHistoryRepositoryImpl(sugaredLogger, db) repositoryImpl := deploymentConfig.NewRepositoryImpl(db) chartRepositoryImpl := chartRepoRepository.NewChartRepository(db, transactionUtilImpl) deploymentConfigServiceImpl := common.NewDeploymentConfigServiceImpl(repositoryImpl, sugaredLogger, chartRepositoryImpl, pipelineRepositoryImpl, appRepositoryImpl, installedAppRepositoryImpl, environmentVariables) installedAppDBServiceImpl := EAMode.NewInstalledAppDBServiceImpl(sugaredLogger, installedAppRepositoryImpl, appRepositoryImpl, userServiceImpl, environmentServiceImpl, installedAppVersionHistoryRepositoryImpl, deploymentConfigServiceImpl) - gitOpsConfigRepositoryImpl := repository5.NewGitOpsConfigRepositoryImpl(sugaredLogger, db) + gitOpsConfigRepositoryImpl := repository4.NewGitOpsConfigRepositoryImpl(sugaredLogger, db) gitOpsConfigReadServiceImpl := config.NewGitOpsConfigReadServiceImpl(sugaredLogger, gitOpsConfigRepositoryImpl, userServiceImpl, environmentVariables) attributesServiceImpl := attributes.NewAttributesServiceImpl(sugaredLogger, attributesRepositoryImpl) deploymentTypeOverrideServiceImpl := providerConfig.NewDeploymentTypeOverrideServiceImpl(sugaredLogger, environmentVariables, attributesServiceImpl) @@ -303,7 +300,7 @@ func InitializeApp() (*App, error) { eaModeDeploymentServiceImpl := deployment.NewEAModeDeploymentServiceImpl(sugaredLogger, helmAppServiceImpl, appStoreApplicationVersionRepositoryImpl, helmAppClientImpl, installedAppRepositoryImpl, ociRegistryConfigRepositoryImpl, appStoreDeploymentCommonServiceImpl) appStoreValidatorImpl := service2.NewAppAppStoreValidatorImpl(sugaredLogger) appStoreDeploymentDBServiceImpl := service2.NewAppStoreDeploymentDBServiceImpl(sugaredLogger, installedAppRepositoryImpl, appStoreApplicationVersionRepositoryImpl, appRepositoryImpl, environmentServiceImpl, clusterServiceImpl, installedAppVersionHistoryRepositoryImpl, environmentVariables, gitOpsConfigReadServiceImpl, deploymentTypeOverrideServiceImpl, eaModeDeploymentServiceImpl, appStoreValidatorImpl, installedAppDBServiceImpl, deploymentConfigServiceImpl) - chartGroupDeploymentRepositoryImpl := repository9.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) + chartGroupDeploymentRepositoryImpl := repository8.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) acdConfig, err := argocdServer.GetACDDeploymentConfig() if err != nil { return nil, err @@ -311,11 +308,11 @@ func InitializeApp() (*App, error) { deletePostProcessorImpl := service2.NewDeletePostProcessorImpl(sugaredLogger) appStoreDeploymentServiceImpl := service2.NewAppStoreDeploymentServiceImpl(sugaredLogger, installedAppRepositoryImpl, installedAppDBServiceImpl, appStoreDeploymentDBServiceImpl, chartGroupDeploymentRepositoryImpl, appStoreApplicationVersionRepositoryImpl, appRepositoryImpl, eaModeDeploymentServiceImpl, eaModeDeploymentServiceImpl, environmentServiceImpl, helmAppServiceImpl, installedAppVersionHistoryRepositoryImpl, environmentVariables, acdConfig, gitOpsConfigReadServiceImpl, deletePostProcessorImpl, appStoreValidatorImpl, deploymentConfigServiceImpl) fluxApplicationServiceImpl := fluxApplication.NewFluxApplicationServiceImpl(sugaredLogger, helmAppServiceImpl, clusterServiceImpl, helmAppClientImpl, pumpImpl) - k8sResourceHistoryRepositoryImpl := repository10.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) + k8sResourceHistoryRepositoryImpl := repository9.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) k8sResourceHistoryServiceImpl := kubernetesResourceAuditLogs.Newk8sResourceHistoryServiceImpl(k8sResourceHistoryRepositoryImpl, sugaredLogger, appRepositoryImpl, environmentRepositoryImpl) - argoApplicationReadServiceImpl := read2.NewArgoApplicationReadServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, helmUserServiceImpl, helmAppClientImpl, helmAppServiceImpl) + argoApplicationReadServiceImpl := read.NewArgoApplicationReadServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, helmUserServiceImpl, helmAppClientImpl, helmAppServiceImpl) k8sCommonServiceImpl := k8s2.NewK8sCommonServiceImpl(sugaredLogger, k8sServiceImpl, clusterServiceImpl, argoApplicationReadServiceImpl) - ephemeralContainersRepositoryImpl := repository3.NewEphemeralContainersRepositoryImpl(db, transactionUtilImpl) + ephemeralContainersRepositoryImpl := repository2.NewEphemeralContainersRepositoryImpl(db, transactionUtilImpl) ephemeralContainerServiceImpl := cluster.NewEphemeralContainerServiceImpl(ephemeralContainersRepositoryImpl, sugaredLogger) terminalSessionHandlerImpl := terminal.NewTerminalSessionHandlerImpl(environmentServiceImpl, clusterServiceImpl, sugaredLogger, k8sServiceImpl, ephemeralContainerServiceImpl, argoApplicationReadServiceImpl) k8sApplicationServiceImpl, err := application.NewK8sApplicationServiceImpl(sugaredLogger, clusterServiceImpl, pumpImpl, helmAppServiceImpl, k8sServiceImpl, acdAuthConfig, k8sResourceHistoryServiceImpl, k8sCommonServiceImpl, terminalSessionHandlerImpl, ephemeralContainerServiceImpl, ephemeralContainersRepositoryImpl, fluxApplicationServiceImpl) @@ -325,7 +322,7 @@ func InitializeApp() (*App, error) { argoApplicationServiceImpl := argoApplication.NewArgoApplicationServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, helmUserServiceImpl, helmAppClientImpl, helmAppServiceImpl, k8sApplicationServiceImpl, argoApplicationReadServiceImpl) helmAppRestHandlerImpl := client2.NewHelmAppRestHandlerImpl(sugaredLogger, helmAppServiceImpl, enforcerImpl, clusterServiceImpl, enforcerUtilHelmImpl, appStoreDeploymentServiceImpl, installedAppDBServiceImpl, userServiceImpl, attributesServiceImpl, serverEnvConfigServerEnvConfig, fluxApplicationServiceImpl, argoApplicationServiceImpl) helmAppRouterImpl := client2.NewHelmAppRouterImpl(helmAppRestHandlerImpl) - environmentReadServiceImpl := read3.NewEnvironmentReadServiceImpl(sugaredLogger, environmentRepositoryImpl) + environmentReadServiceImpl := read2.NewEnvironmentReadServiceImpl(sugaredLogger, environmentRepositoryImpl) environmentRestHandlerImpl := cluster2.NewEnvironmentRestHandlerImpl(environmentServiceImpl, environmentReadServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceImpl, k8sServiceImpl, k8sCommonServiceImpl) environmentRouterImpl := cluster2.NewEnvironmentRouterImpl(environmentRestHandlerImpl) ciPipelineRepositoryImpl := pipelineConfig.NewCiPipelineRepositoryImpl(db, sugaredLogger, transactionUtilImpl) @@ -410,13 +407,13 @@ func InitializeApp() (*App, error) { webhookHelmServiceImpl := webhookHelm.NewWebhookHelmServiceImpl(sugaredLogger, helmAppServiceImpl, clusterServiceImpl, chartRepositoryServiceImpl, attributesServiceImpl) webhookHelmRestHandlerImpl := webhookHelm2.NewWebhookHelmRestHandlerImpl(sugaredLogger, webhookHelmServiceImpl, userServiceImpl, enforcerImpl, validate) webhookHelmRouterImpl := webhookHelm2.NewWebhookHelmRouterImpl(webhookHelmRestHandlerImpl) - userAttributesRepositoryImpl := repository5.NewUserAttributesRepositoryImpl(db) + userAttributesRepositoryImpl := repository4.NewUserAttributesRepositoryImpl(db) userAttributesServiceImpl := attributes.NewUserAttributesServiceImpl(sugaredLogger, userAttributesRepositoryImpl) userAttributesRestHandlerImpl := restHandler.NewUserAttributesRestHandlerImpl(sugaredLogger, enforcerImpl, userServiceImpl, userAttributesServiceImpl) userAttributesRouterImpl := router.NewUserAttributesRouterImpl(userAttributesRestHandlerImpl) telemetryRestHandlerImpl := restHandler.NewTelemetryRestHandlerImpl(sugaredLogger, telemetryEventClientImpl, enforcerImpl, userServiceImpl) telemetryRouterImpl := router.NewTelemetryRouterImpl(sugaredLogger, telemetryRestHandlerImpl) - terminalAccessRepositoryImpl := repository5.NewTerminalAccessRepositoryImpl(db, sugaredLogger) + terminalAccessRepositoryImpl := repository4.NewTerminalAccessRepositoryImpl(db, sugaredLogger) userTerminalSessionConfig, err := clusterTerminalAccess.GetTerminalAccessConfig() if err != nil { return nil, err diff --git a/internal/sql/repository/app/AppRepository.go b/internal/sql/repository/app/AppRepository.go index d3ca38bf7b..c59f9b35ff 100644 --- a/internal/sql/repository/app/AppRepository.go +++ b/internal/sql/repository/app/AppRepository.go @@ -20,7 +20,7 @@ import ( "fmt" "github.com/devtron-labs/devtron/internal/sql/repository/helper" "github.com/devtron-labs/devtron/pkg/sql" - "github.com/devtron-labs/devtron/pkg/team/bean" + "github.com/devtron-labs/devtron/pkg/team" "github.com/devtron-labs/devtron/util" "github.com/go-pg/pg" "go.uber.org/zap" @@ -37,7 +37,7 @@ type App struct { AppType helper.AppType `sql:"app_type, notnull"` AppOfferingMode string `sql:"app_offering_mode,notnull"` Description string `sql:"description"` - Team bean.Team + Team team.Team sql.AuditLog } diff --git a/pkg/appStore/chartGroup/ChartGroupService.go b/pkg/appStore/chartGroup/ChartGroupService.go index c1f72eea1c..6c60e53a22 100644 --- a/pkg/appStore/chartGroup/ChartGroupService.go +++ b/pkg/appStore/chartGroup/ChartGroupService.go @@ -39,8 +39,7 @@ import ( cluster2 "github.com/devtron-labs/devtron/pkg/environment" bean2 "github.com/devtron-labs/devtron/pkg/environment/bean" "github.com/devtron-labs/devtron/pkg/eventProcessor/out" - bean4 "github.com/devtron-labs/devtron/pkg/team/bean" - repository4 "github.com/devtron-labs/devtron/pkg/team/repository" + "github.com/devtron-labs/devtron/pkg/team" "github.com/devtron-labs/devtron/util/argo" "io/ioutil" "os" @@ -70,7 +69,7 @@ type ChartGroupServiceImpl struct { userAuthService user.UserAuthService appStoreApplicationVersionRepository appStoreDiscoverRepository.AppStoreApplicationVersionRepository environmentService cluster2.EnvironmentService - teamRepository repository4.TeamRepository + teamRepository team.TeamRepository clusterInstalledAppsRepository repository.ClusterInstalledAppsRepository appStoreValuesService service.AppStoreValuesService appStoreDeploymentService service2.AppStoreDeploymentService @@ -94,7 +93,7 @@ func NewChartGroupServiceImpl(logger *zap.SugaredLogger, userAuthService user.UserAuthService, appStoreApplicationVersionRepository appStoreDiscoverRepository.AppStoreApplicationVersionRepository, environmentService cluster2.EnvironmentService, - teamRepository repository4.TeamRepository, + teamRepository team.TeamRepository, clusterInstalledAppsRepository repository.ClusterInstalledAppsRepository, appStoreValuesService service.AppStoreValuesService, appStoreDeploymentService service2.AppStoreDeploymentService, @@ -727,7 +726,7 @@ func (impl *ChartGroupServiceImpl) DeployDefaultChartOnCluster(bean *bean3.Clust return false, err } if err == pg.ErrNoRows { - t := &bean4.Team{ + t := &team.Team{ Name: appStoreBean.DEFAULT_ENVIRONMENT_OR_NAMESPACE_OR_PROJECT, Active: true, AuditLog: sql.AuditLog{CreatedBy: userId, CreatedOn: time.Now(), UpdatedOn: time.Now(), UpdatedBy: userId}, diff --git a/pkg/commonService/CommonService.go b/pkg/commonService/CommonService.go index fcca861ac7..461b190fb3 100644 --- a/pkg/commonService/CommonService.go +++ b/pkg/commonService/CommonService.go @@ -27,7 +27,7 @@ import ( chartRepoRepository "github.com/devtron-labs/devtron/pkg/chartRepo/repository" "github.com/devtron-labs/devtron/pkg/deployment/gitOps/config" repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" - repository2 "github.com/devtron-labs/devtron/pkg/team/repository" + "github.com/devtron-labs/devtron/pkg/team" "github.com/go-pg/pg" "go.uber.org/zap" ) @@ -46,7 +46,7 @@ type CommonServiceImpl struct { attributeRepo repository.AttributesRepository gitProviderRepository repository.GitProviderRepository environmentRepository repository3.EnvironmentRepository - teamRepository repository2.TeamRepository + teamRepository team.TeamRepository appRepository app.AppRepository gitOpsConfigReadService config.GitOpsConfigReadService } @@ -59,7 +59,7 @@ func NewCommonServiceImpl(logger *zap.SugaredLogger, attributeRepo repository.AttributesRepository, gitProviderRepository repository.GitProviderRepository, environmentRepository repository3.EnvironmentRepository, - teamRepository repository2.TeamRepository, + teamRepository team.TeamRepository, appRepository app.AppRepository, gitOpsConfigReadService config.GitOpsConfigReadService) *CommonServiceImpl { serviceImpl := &CommonServiceImpl{ diff --git a/pkg/delete/DeleteService.go b/pkg/delete/DeleteService.go index 2c2f8161a8..ecc036c23c 100644 --- a/pkg/delete/DeleteService.go +++ b/pkg/delete/DeleteService.go @@ -31,7 +31,6 @@ import ( "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/types" "github.com/devtron-labs/devtron/pkg/team" - bean3 "github.com/devtron-labs/devtron/pkg/team/bean" "github.com/go-pg/pg" "go.uber.org/zap" http2 "net/http" @@ -40,7 +39,7 @@ import ( type DeleteService interface { DeleteCluster(deleteRequest *bean2.ClusterBean, userId int32) error DeleteEnvironment(deleteRequest *bean.EnvironmentBean, userId int32) error - DeleteTeam(deleteRequest *bean3.TeamRequest) error + DeleteTeam(deleteRequest *team.TeamRequest) error DeleteChartRepo(deleteRequest *chartRepo.ChartRepoDto) error DeleteDockerRegistryConfig(deleteRequest *types.DockerArtifactStoreBean) error CanDeleteChartRegistryPullConfig(storeId string) bool @@ -120,7 +119,7 @@ func (impl DeleteServiceImpl) DeleteEnvironment(deleteRequest *bean.EnvironmentB } return nil } -func (impl DeleteServiceImpl) DeleteTeam(deleteRequest *bean3.TeamRequest) error { +func (impl DeleteServiceImpl) DeleteTeam(deleteRequest *team.TeamRequest) error { err := impl.teamService.Delete(deleteRequest) if err != nil { impl.logger.Errorw("error in deleting team", "err", err, "deleteRequest", deleteRequest) diff --git a/pkg/delete/DeleteServiceExtended.go b/pkg/delete/DeleteServiceExtended.go index 605c277be5..b3a7db9a7c 100644 --- a/pkg/delete/DeleteServiceExtended.go +++ b/pkg/delete/DeleteServiceExtended.go @@ -34,7 +34,6 @@ import ( "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/team" - bean3 "github.com/devtron-labs/devtron/pkg/team/bean" "github.com/go-pg/pg" "go.uber.org/zap" "net/http" @@ -139,7 +138,7 @@ func (impl DeleteServiceExtendedImpl) DeleteEnvironment(deleteRequest *bean.Envi } return nil } -func (impl DeleteServiceExtendedImpl) DeleteTeam(deleteRequest *bean3.TeamRequest) error { +func (impl DeleteServiceExtendedImpl) DeleteTeam(deleteRequest *team.TeamRequest) error { //finding if this project is used in some app; if yes, will not perform delete operation apps, err := impl.appRepository.FindAppsByTeamId(deleteRequest.Id) if err != nil && err != pg.ErrNoRows { diff --git a/pkg/notifier/NotificationConfigService.go b/pkg/notifier/NotificationConfigService.go index 0205e801a3..af5f60010c 100644 --- a/pkg/notifier/NotificationConfigService.go +++ b/pkg/notifier/NotificationConfigService.go @@ -23,7 +23,7 @@ import ( repository3 "github.com/devtron-labs/devtron/pkg/environment/repository" "github.com/devtron-labs/devtron/pkg/notifier/beans" "github.com/devtron-labs/devtron/pkg/resourceQualifiers" - repository2 "github.com/devtron-labs/devtron/pkg/team/repository" + "github.com/devtron-labs/devtron/pkg/team" util3 "github.com/devtron-labs/devtron/util" "time" @@ -58,7 +58,7 @@ type NotificationConfigServiceImpl struct { webhookRepository repository.WebhookNotificationRepository sesRepository repository.SESNotificationRepository smtpRepository repository.SMTPNotificationRepository - teamRepository repository2.TeamRepository + teamRepository team.TeamRepository environmentRepository repository3.EnvironmentRepository clusterService clusterService.ClusterService appRepository app.AppRepository @@ -72,7 +72,7 @@ const allProdEnvsName = "All prod environments" func NewNotificationConfigServiceImpl(logger *zap.SugaredLogger, notificationSettingsRepository repository.NotificationSettingsRepository, notificationConfigBuilder NotificationConfigBuilder, ciPipelineRepository pipelineConfig.CiPipelineRepository, pipelineRepository pipelineConfig.PipelineRepository, slackRepository repository.SlackNotificationRepository, webhookRepository repository.WebhookNotificationRepository, sesRepository repository.SESNotificationRepository, smtpRepository repository.SMTPNotificationRepository, - teamRepository repository2.TeamRepository, + teamRepository team.TeamRepository, environmentRepository repository3.EnvironmentRepository, appRepository app.AppRepository, clusterService clusterService.ClusterService, userRepository repository4.UserRepository, ciPipelineMaterialRepository pipelineConfig.CiPipelineMaterialRepository) *NotificationConfigServiceImpl { return &NotificationConfigServiceImpl{ diff --git a/pkg/security/ImageScanService.go b/pkg/security/ImageScanService.go index b0a0a57a77..abb91b0f37 100644 --- a/pkg/security/ImageScanService.go +++ b/pkg/security/ImageScanService.go @@ -23,7 +23,6 @@ import ( "github.com/devtron-labs/devtron/pkg/environment" "github.com/devtron-labs/devtron/pkg/environment/bean" bean3 "github.com/devtron-labs/devtron/pkg/security/bean" - repository2 "github.com/devtron-labs/devtron/pkg/team/repository" "go.opentelemetry.io/otel" "time" @@ -54,7 +53,6 @@ type ImageScanServiceImpl struct { cveStoreRepository security.CveStoreRepository imageScanDeployInfoRepository security.ImageScanDeployInfoRepository userService user.UserService - teamRepository repository2.TeamRepository appRepository repository1.AppRepository envService environment.EnvironmentService ciArtifactRepository repository.CiArtifactRepository @@ -69,7 +67,7 @@ type ImageScanServiceImpl struct { func NewImageScanServiceImpl(Logger *zap.SugaredLogger, scanHistoryRepository security.ImageScanHistoryRepository, scanResultRepository security.ImageScanResultRepository, scanObjectMetaRepository security.ImageScanObjectMetaRepository, cveStoreRepository security.CveStoreRepository, imageScanDeployInfoRepository security.ImageScanDeployInfoRepository, - userService user.UserService, teamRepository repository2.TeamRepository, + userService user.UserService, appRepository repository1.AppRepository, envService environment.EnvironmentService, ciArtifactRepository repository.CiArtifactRepository, policyService PolicyService, pipelineRepository pipelineConfig.PipelineRepository, ciPipelineRepository pipelineConfig.CiPipelineRepository, scanToolMetaDataRepository security.ScanToolMetadataRepository, scanToolExecutionHistoryMappingRepository security.ScanToolExecutionHistoryMappingRepository, @@ -78,7 +76,6 @@ func NewImageScanServiceImpl(Logger *zap.SugaredLogger, scanHistoryRepository se scanObjectMetaRepository: scanObjectMetaRepository, cveStoreRepository: cveStoreRepository, imageScanDeployInfoRepository: imageScanDeployInfoRepository, userService: userService, - teamRepository: teamRepository, appRepository: appRepository, envService: envService, ciArtifactRepository: ciArtifactRepository, diff --git a/util/rbac/EnforcerUtil.go b/util/rbac/EnforcerUtil.go index 388c71e0db..bc411b77c8 100644 --- a/util/rbac/EnforcerUtil.go +++ b/util/rbac/EnforcerUtil.go @@ -20,7 +20,7 @@ import ( "fmt" "github.com/devtron-labs/devtron/pkg/app/dbMigration" repository2 "github.com/devtron-labs/devtron/pkg/environment/repository" - repository3 "github.com/devtron-labs/devtron/pkg/team/repository" + "github.com/devtron-labs/devtron/pkg/team" "golang.org/x/exp/maps" "strings" @@ -84,7 +84,7 @@ type EnforcerUtil interface { type EnforcerUtilImpl struct { logger *zap.SugaredLogger - teamRepository repository3.TeamRepository + teamRepository team.TeamRepository appRepo app.AppRepository environmentRepository repository2.EnvironmentRepository pipelineRepository pipelineConfig.PipelineRepository @@ -94,7 +94,7 @@ type EnforcerUtilImpl struct { dbMigration dbMigration.DbMigration } -func NewEnforcerUtilImpl(logger *zap.SugaredLogger, teamRepository repository3.TeamRepository, +func NewEnforcerUtilImpl(logger *zap.SugaredLogger, teamRepository team.TeamRepository, appRepo app.AppRepository, environmentRepository repository2.EnvironmentRepository, pipelineRepository pipelineConfig.PipelineRepository, ciPipelineRepository pipelineConfig.CiPipelineRepository, clusterRepository repository.ClusterRepository, enforcer casbin.Enforcer, diff --git a/util/rbac/EnforcerUtilHelm.go b/util/rbac/EnforcerUtilHelm.go index 268092a6e9..216c0778e1 100644 --- a/util/rbac/EnforcerUtilHelm.go +++ b/util/rbac/EnforcerUtilHelm.go @@ -23,7 +23,7 @@ import ( "github.com/devtron-labs/devtron/pkg/app/dbMigration" repository2 "github.com/devtron-labs/devtron/pkg/appStore/installedApp/repository" "github.com/devtron-labs/devtron/pkg/cluster/repository" - repository3 "github.com/devtron-labs/devtron/pkg/team/repository" + "github.com/devtron-labs/devtron/pkg/team" "github.com/go-pg/pg" "go.uber.org/zap" ) @@ -38,7 +38,7 @@ type EnforcerUtilHelm interface { type EnforcerUtilHelmImpl struct { logger *zap.SugaredLogger clusterRepository repository.ClusterRepository - teamRepository repository3.TeamRepository + teamRepository team.TeamRepository appRepository app.AppRepository InstalledAppRepository repository2.InstalledAppRepository dbMigration dbMigration.DbMigration @@ -46,7 +46,7 @@ type EnforcerUtilHelmImpl struct { func NewEnforcerUtilHelmImpl(logger *zap.SugaredLogger, clusterRepository repository.ClusterRepository, - teamRepository repository3.TeamRepository, + teamRepository team.TeamRepository, appRepository app.AppRepository, installedAppRepository repository2.InstalledAppRepository, migration dbMigration.DbMigration, @@ -66,7 +66,7 @@ func (impl EnforcerUtilHelmImpl) GetHelmObjectByClusterId(clusterId int, namespa if err != nil { return fmt.Sprintf("%s/%s/%s", "", "", "") } - return fmt.Sprintf("%s/%s__%s/%s", repository3.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName) + return fmt.Sprintf("%s/%s__%s/%s", team.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName) } func (impl EnforcerUtilHelmImpl) GetHelmObjectByTeamIdAndClusterId(teamId int, clusterId int, namespace string, appName string) string { @@ -104,7 +104,7 @@ func (impl EnforcerUtilHelmImpl) GetHelmObjectByClusterIdNamespaceAndAppName(clu } if app.TeamId == 0 { // case if project is not assigned to cli app - return fmt.Sprintf("%s/%s__%s/%s", repository3.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName), fmt.Sprintf("%s/%s/%s", repository3.UNASSIGNED_PROJECT, namespace, appName) + return fmt.Sprintf("%s/%s__%s/%s", team.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName), fmt.Sprintf("%s/%s/%s", team.UNASSIGNED_PROJECT, namespace, appName) } else { // case if project is assigned return fmt.Sprintf("%s/%s__%s/%s", app.Team.Name, cluster.ClusterName, namespace, appName), fmt.Sprintf("%s/%s/%s", app.Team.Name, namespace, appName) @@ -114,8 +114,8 @@ func (impl EnforcerUtilHelmImpl) GetHelmObjectByClusterIdNamespaceAndAppName(clu if installedApp.App.TeamId == 0 { // for EA apps which have no project assigned to them - return fmt.Sprintf("%s/%s__%s/%s", repository3.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName), - fmt.Sprintf("%s/%s/%s", repository3.UNASSIGNED_PROJECT, installedApp.Environment.EnvironmentIdentifier, appName) + return fmt.Sprintf("%s/%s__%s/%s", team.UNASSIGNED_PROJECT, cluster.ClusterName, namespace, appName), + fmt.Sprintf("%s/%s/%s", team.UNASSIGNED_PROJECT, installedApp.Environment.EnvironmentIdentifier, appName) } else { if installedApp.EnvironmentId == 0 { diff --git a/wire_gen.go b/wire_gen.go index 2513aef64b..b266a3a50f 100644 --- a/wire_gen.go +++ b/wire_gen.go @@ -72,8 +72,8 @@ import ( "github.com/devtron-labs/devtron/client/argocdServer/certificate" "github.com/devtron-labs/devtron/client/argocdServer/cluster" "github.com/devtron-labs/devtron/client/argocdServer/connection" - repository20 "github.com/devtron-labs/devtron/client/argocdServer/repocreds" - repository16 "github.com/devtron-labs/devtron/client/argocdServer/repository" + repository19 "github.com/devtron-labs/devtron/client/argocdServer/repocreds" + repository15 "github.com/devtron-labs/devtron/client/argocdServer/repository" cron2 "github.com/devtron-labs/devtron/client/cron" "github.com/devtron-labs/devtron/client/dashboard" client2 "github.com/devtron-labs/devtron/client/events" @@ -89,9 +89,9 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/bulkUpdate" "github.com/devtron-labs/devtron/internal/sql/repository/chartConfig" "github.com/devtron-labs/devtron/internal/sql/repository/deploymentConfig" - repository7 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" + repository6 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry" "github.com/devtron-labs/devtron/internal/sql/repository/helper" - repository15 "github.com/devtron-labs/devtron/internal/sql/repository/imageTagging" + repository14 "github.com/devtron-labs/devtron/internal/sql/repository/imageTagging" "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/internal/sql/repository/resourceGroup" "github.com/devtron-labs/devtron/internal/sql/repository/security" @@ -104,7 +104,7 @@ import ( "github.com/devtron-labs/devtron/pkg/appClone/batch" appStatus2 "github.com/devtron-labs/devtron/pkg/appStatus" "github.com/devtron-labs/devtron/pkg/appStore/chartGroup" - repository19 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" + repository18 "github.com/devtron-labs/devtron/pkg/appStore/chartGroup/repository" "github.com/devtron-labs/devtron/pkg/appStore/chartProvider" "github.com/devtron-labs/devtron/pkg/appStore/discover/repository" service5 "github.com/devtron-labs/devtron/pkg/appStore/discover/service" @@ -138,7 +138,7 @@ import ( "github.com/devtron-labs/devtron/pkg/chartRepo/repository" cluster2 "github.com/devtron-labs/devtron/pkg/cluster" rbac2 "github.com/devtron-labs/devtron/pkg/cluster/rbac" - read5 "github.com/devtron-labs/devtron/pkg/cluster/read" + read4 "github.com/devtron-labs/devtron/pkg/cluster/read" repository5 "github.com/devtron-labs/devtron/pkg/cluster/repository" "github.com/devtron-labs/devtron/pkg/clusterTerminalAccess" "github.com/devtron-labs/devtron/pkg/commonService" @@ -151,19 +151,19 @@ import ( "github.com/devtron-labs/devtron/pkg/deployment/gitOps/validation" "github.com/devtron-labs/devtron/pkg/deployment/manifest" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics" - repository11 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/repository" + repository10 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/repository" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate" "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef" "github.com/devtron-labs/devtron/pkg/deployment/manifest/publish" "github.com/devtron-labs/devtron/pkg/deployment/providerConfig" "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps" - repository17 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/userDeploymentRequest/repository" + repository16 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/userDeploymentRequest/repository" service2 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/userDeploymentRequest/service" "github.com/devtron-labs/devtron/pkg/deploymentGroup" "github.com/devtron-labs/devtron/pkg/devtronResource" "github.com/devtron-labs/devtron/pkg/devtronResource/history/deployment/cdPipeline" read3 "github.com/devtron-labs/devtron/pkg/devtronResource/read" - repository10 "github.com/devtron-labs/devtron/pkg/devtronResource/repository" + repository9 "github.com/devtron-labs/devtron/pkg/devtronResource/repository" "github.com/devtron-labs/devtron/pkg/dockerRegistry" "github.com/devtron-labs/devtron/pkg/environment" "github.com/devtron-labs/devtron/pkg/environment/read" @@ -176,7 +176,7 @@ import ( "github.com/devtron-labs/devtron/pkg/fluxApplication" "github.com/devtron-labs/devtron/pkg/generateManifest" "github.com/devtron-labs/devtron/pkg/genericNotes" - repository8 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" + repository7 "github.com/devtron-labs/devtron/pkg/genericNotes/repository" git2 "github.com/devtron-labs/devtron/pkg/git" "github.com/devtron-labs/devtron/pkg/gitops" "github.com/devtron-labs/devtron/pkg/imageDigestPolicy" @@ -187,7 +187,7 @@ import ( "github.com/devtron-labs/devtron/pkg/k8s/capacity" "github.com/devtron-labs/devtron/pkg/k8s/informer" "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs" - repository18 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" + repository17 "github.com/devtron-labs/devtron/pkg/kubernetesResourceAuditLogs/repository" "github.com/devtron-labs/devtron/pkg/module" "github.com/devtron-labs/devtron/pkg/module/repo" "github.com/devtron-labs/devtron/pkg/module/store" @@ -195,12 +195,12 @@ import ( "github.com/devtron-labs/devtron/pkg/pipeline" "github.com/devtron-labs/devtron/pkg/pipeline/executors" "github.com/devtron-labs/devtron/pkg/pipeline/history" - repository14 "github.com/devtron-labs/devtron/pkg/pipeline/history/repository" + repository13 "github.com/devtron-labs/devtron/pkg/pipeline/history/repository" "github.com/devtron-labs/devtron/pkg/pipeline/infraProviders" - repository12 "github.com/devtron-labs/devtron/pkg/pipeline/repository" + repository11 "github.com/devtron-labs/devtron/pkg/pipeline/repository" "github.com/devtron-labs/devtron/pkg/pipeline/types" "github.com/devtron-labs/devtron/pkg/plugin" - repository13 "github.com/devtron-labs/devtron/pkg/plugin/repository" + repository12 "github.com/devtron-labs/devtron/pkg/plugin/repository" resourceGroup2 "github.com/devtron-labs/devtron/pkg/resourceGroup" "github.com/devtron-labs/devtron/pkg/resourceQualifiers" security2 "github.com/devtron-labs/devtron/pkg/security" @@ -209,13 +209,11 @@ import ( "github.com/devtron-labs/devtron/pkg/server/store" "github.com/devtron-labs/devtron/pkg/sql" "github.com/devtron-labs/devtron/pkg/team" - read4 "github.com/devtron-labs/devtron/pkg/team/read" - repository6 "github.com/devtron-labs/devtron/pkg/team/repository" "github.com/devtron-labs/devtron/pkg/terminal" util3 "github.com/devtron-labs/devtron/pkg/util" "github.com/devtron-labs/devtron/pkg/variables" "github.com/devtron-labs/devtron/pkg/variables/parsers" - repository9 "github.com/devtron-labs/devtron/pkg/variables/repository" + repository8 "github.com/devtron-labs/devtron/pkg/variables/repository" "github.com/devtron-labs/devtron/pkg/webhook/helm" "github.com/devtron-labs/devtron/pkg/workflow/cd" "github.com/devtron-labs/devtron/pkg/workflow/dag" @@ -345,7 +343,7 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - teamRepositoryImpl := repository6.NewTeamRepositoryImpl(db) + teamRepositoryImpl := team.NewTeamRepositoryImpl(db) teamServiceImpl := team.NewTeamServiceImpl(sugaredLogger, teamRepositoryImpl, userAuthServiceImpl) appRepositoryImpl := app.NewAppRepositoryImpl(db, sugaredLogger) pipelineRepositoryImpl := pipelineConfig.NewPipelineRepositoryImpl(db, sugaredLogger) @@ -378,9 +376,9 @@ func InitializeApp() (*App, error) { return nil, err } helmAppServiceImpl := service.NewHelmAppServiceImpl(sugaredLogger, clusterServiceImplExtended, helmAppClientImpl, pumpImpl, enforcerUtilHelmImpl, serverDataStoreServerDataStore, serverEnvConfigServerEnvConfig, appStoreApplicationVersionRepositoryImpl, environmentServiceImpl, pipelineRepositoryImpl, installedAppRepositoryImpl, appRepositoryImpl, clusterRepositoryImpl, k8sServiceImpl, helmReleaseConfig) - dockerArtifactStoreRepositoryImpl := repository7.NewDockerArtifactStoreRepositoryImpl(db) - dockerRegistryIpsConfigRepositoryImpl := repository7.NewDockerRegistryIpsConfigRepositoryImpl(db) - ociRegistryConfigRepositoryImpl := repository7.NewOCIRegistryConfigRepositoryImpl(db) + dockerArtifactStoreRepositoryImpl := repository6.NewDockerArtifactStoreRepositoryImpl(db) + dockerRegistryIpsConfigRepositoryImpl := repository6.NewDockerRegistryIpsConfigRepositoryImpl(db) + ociRegistryConfigRepositoryImpl := repository6.NewOCIRegistryConfigRepositoryImpl(db) repositorySecretImpl := argoRepositoryCreds.NewRepositorySecret(sugaredLogger, k8sServiceImpl, clusterServiceImplExtended, acdAuthConfig) dockerRegistryConfigImpl := pipeline.NewDockerRegistryConfigImpl(sugaredLogger, helmAppServiceImpl, dockerArtifactStoreRepositoryImpl, dockerRegistryIpsConfigRepositoryImpl, ociRegistryConfigRepositoryImpl, repositorySecretImpl) deleteServiceExtendedImpl := delete2.NewDeleteServiceExtendedImpl(sugaredLogger, teamServiceImpl, clusterServiceImplExtended, environmentServiceImpl, appRepositoryImpl, environmentRepositoryImpl, pipelineRepositoryImpl, chartRepositoryServiceImpl, installedAppRepositoryImpl, dockerRegistryConfigImpl, dockerArtifactStoreRepositoryImpl, k8sServiceImpl, k8sInformerFactoryImpl) @@ -416,8 +414,8 @@ func InitializeApp() (*App, error) { environmentRestHandlerImpl := cluster3.NewEnvironmentRestHandlerImpl(environmentServiceImpl, environmentReadServiceImpl, sugaredLogger, userServiceImpl, validate, enforcerImpl, deleteServiceExtendedImpl, k8sServiceImpl, k8sCommonServiceImpl) environmentRouterImpl := cluster3.NewEnvironmentRouterImpl(environmentRestHandlerImpl) transactionUtilImpl := sql.NewTransactionUtilImpl(db) - genericNoteRepositoryImpl := repository8.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) - genericNoteHistoryRepositoryImpl := repository8.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) + genericNoteRepositoryImpl := repository7.NewGenericNoteRepositoryImpl(db, transactionUtilImpl) + genericNoteHistoryRepositoryImpl := repository7.NewGenericNoteHistoryRepositoryImpl(db, transactionUtilImpl) genericNoteHistoryServiceImpl := genericNotes.NewGenericNoteHistoryServiceImpl(genericNoteHistoryRepositoryImpl, sugaredLogger) genericNoteServiceImpl := genericNotes.NewGenericNoteServiceImpl(genericNoteRepositoryImpl, genericNoteHistoryServiceImpl, userRepositoryImpl, sugaredLogger) clusterDescriptionRepositoryImpl := repository5.NewClusterDescriptionRepositoryImpl(db, sugaredLogger) @@ -470,8 +468,8 @@ func InitializeApp() (*App, error) { } enforcerUtilImpl := rbac.NewEnforcerUtilImpl(sugaredLogger, teamRepositoryImpl, appRepositoryImpl, environmentRepositoryImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, clusterRepositoryImpl, enforcerImpl, dbMigrationServiceImpl) appStatusServiceImpl := appStatus2.NewAppStatusServiceImpl(appStatusRepositoryImpl, sugaredLogger, enforcerImpl, enforcerUtilImpl) - scopedVariableRepositoryImpl := repository9.NewScopedVariableRepository(db, sugaredLogger, transactionUtilImpl) - devtronResourceSearchableKeyRepositoryImpl := repository10.NewDevtronResourceSearchableKeyRepositoryImpl(sugaredLogger, db) + scopedVariableRepositoryImpl := repository8.NewScopedVariableRepository(db, sugaredLogger, transactionUtilImpl) + devtronResourceSearchableKeyRepositoryImpl := repository9.NewDevtronResourceSearchableKeyRepositoryImpl(sugaredLogger, db) devtronResourceSearchableKeyServiceImpl, err := read3.NewDevtronResourceSearchableKeyServiceImpl(sugaredLogger, devtronResourceSearchableKeyRepositoryImpl) if err != nil { return nil, err @@ -488,9 +486,9 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - variableEntityMappingRepositoryImpl := repository9.NewVariableEntityMappingRepository(sugaredLogger, db, transactionUtilImpl) + variableEntityMappingRepositoryImpl := repository8.NewVariableEntityMappingRepository(sugaredLogger, db, transactionUtilImpl) variableEntityMappingServiceImpl := variables.NewVariableEntityMappingServiceImpl(variableEntityMappingRepositoryImpl, sugaredLogger) - variableSnapshotHistoryRepositoryImpl := repository9.NewVariableSnapshotHistoryRepository(sugaredLogger, db) + variableSnapshotHistoryRepositoryImpl := repository8.NewVariableSnapshotHistoryRepository(sugaredLogger, db) variableSnapshotHistoryServiceImpl := variables.NewVariableSnapshotHistoryServiceImpl(variableSnapshotHistoryRepositoryImpl, sugaredLogger) variableTemplateParserImpl, err := parsers.NewVariableTemplateParserImpl(sugaredLogger) if err != nil { @@ -522,8 +520,8 @@ func InitializeApp() (*App, error) { linkoutsRepositoryImpl := repository2.NewLinkoutsRepositoryImpl(sugaredLogger, db) ciTemplateOverrideRepositoryImpl := pipelineConfig.NewCiTemplateOverrideRepositoryImpl(db, sugaredLogger) dockerRegistryIpsConfigServiceImpl := dockerRegistry.NewDockerRegistryIpsConfigServiceImpl(sugaredLogger, dockerRegistryIpsConfigRepositoryImpl, k8sServiceImpl, clusterServiceImplExtended, ciPipelineRepositoryImpl, dockerArtifactStoreRepositoryImpl, ciTemplateOverrideRepositoryImpl) - appLevelMetricsRepositoryImpl := repository11.NewAppLevelMetricsRepositoryImpl(db, sugaredLogger) - envLevelAppMetricsRepositoryImpl := repository11.NewEnvLevelAppMetricsRepositoryImpl(db, sugaredLogger) + appLevelMetricsRepositoryImpl := repository10.NewAppLevelMetricsRepositoryImpl(db, sugaredLogger) + envLevelAppMetricsRepositoryImpl := repository10.NewEnvLevelAppMetricsRepositoryImpl(db, sugaredLogger) deployedAppMetricsServiceImpl := deployedAppMetrics.NewDeployedAppMetricsServiceImpl(sugaredLogger, appLevelMetricsRepositoryImpl, envLevelAppMetricsRepositoryImpl, chartRefServiceImpl) appListingServiceImpl := app2.NewAppListingServiceImpl(sugaredLogger, appListingRepositoryImpl, applicationServiceClientImpl, appRepositoryImpl, appListingViewBuilderImpl, pipelineRepositoryImpl, linkoutsRepositoryImpl, cdWorkflowRepositoryImpl, pipelineOverrideRepositoryImpl, environmentRepositoryImpl, argoUserServiceImpl, envConfigOverrideRepositoryImpl, chartRepositoryImpl, ciPipelineRepositoryImpl, dockerRegistryIpsConfigServiceImpl, userRepositoryImpl, deployedAppMetricsServiceImpl, ciArtifactRepositoryImpl) appServiceImpl := app2.NewAppService(envConfigOverrideRepositoryImpl, pipelineOverrideRepositoryImpl, mergeUtil, sugaredLogger, pipelineRepositoryImpl, eventRESTClientImpl, eventSimpleFactoryImpl, applicationServiceClientImpl, appRepositoryImpl, configMapRepositoryImpl, chartRepositoryImpl, cdWorkflowRepositoryImpl, commonServiceImpl, chartTemplateServiceImpl, argoUserServiceImpl, pipelineStatusTimelineRepositoryImpl, pipelineStatusTimelineResourcesServiceImpl, pipelineStatusSyncDetailServiceImpl, pipelineStatusTimelineServiceImpl, appServiceConfig, appStatusServiceImpl, installedAppRepositoryImpl, installedAppVersionHistoryRepositoryImpl, scopedVariableCMCSManagerImpl, acdConfig, gitOpsConfigReadServiceImpl, gitOperationServiceImpl, deploymentTemplateServiceImpl, appListingServiceImpl, deploymentConfigServiceImpl) @@ -542,8 +540,8 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - pipelineStageRepositoryImpl := repository12.NewPipelineStageRepository(sugaredLogger, db) - globalPluginRepositoryImpl := repository13.NewGlobalPluginRepository(sugaredLogger, db) + pipelineStageRepositoryImpl := repository11.NewPipelineStageRepository(sugaredLogger, db) + globalPluginRepositoryImpl := repository12.NewGlobalPluginRepository(sugaredLogger, db) scopedVariableManagerImpl, err := variables.NewScopedVariableManagerImpl(sugaredLogger, scopedVariableServiceImpl, variableEntityMappingServiceImpl, variableSnapshotHistoryServiceImpl, variableTemplateParserImpl) if err != nil { return nil, err @@ -573,17 +571,17 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - prePostCdScriptHistoryRepositoryImpl := repository14.NewPrePostCdScriptHistoryRepositoryImpl(sugaredLogger, db) - configMapHistoryRepositoryImpl := repository14.NewConfigMapHistoryRepositoryImpl(sugaredLogger, db, transactionUtilImpl) + prePostCdScriptHistoryRepositoryImpl := repository13.NewPrePostCdScriptHistoryRepositoryImpl(sugaredLogger, db) + configMapHistoryRepositoryImpl := repository13.NewConfigMapHistoryRepositoryImpl(sugaredLogger, db, transactionUtilImpl) configMapHistoryServiceImpl := history.NewConfigMapHistoryServiceImpl(sugaredLogger, configMapHistoryRepositoryImpl, pipelineRepositoryImpl, configMapRepositoryImpl, userServiceImpl, scopedVariableCMCSManagerImpl) prePostCdScriptHistoryServiceImpl := history.NewPrePostCdScriptHistoryServiceImpl(sugaredLogger, prePostCdScriptHistoryRepositoryImpl, configMapRepositoryImpl, configMapHistoryServiceImpl) - gitMaterialHistoryRepositoryImpl := repository14.NewGitMaterialHistoryRepositoyImpl(db) + gitMaterialHistoryRepositoryImpl := repository13.NewGitMaterialHistoryRepositoyImpl(db) gitMaterialHistoryServiceImpl := history.NewGitMaterialHistoryServiceImpl(gitMaterialHistoryRepositoryImpl, sugaredLogger) - ciPipelineHistoryRepositoryImpl := repository14.NewCiPipelineHistoryRepositoryImpl(db, sugaredLogger) + ciPipelineHistoryRepositoryImpl := repository13.NewCiPipelineHistoryRepositoryImpl(db, sugaredLogger) ciPipelineHistoryServiceImpl := history.NewCiPipelineHistoryServiceImpl(ciPipelineHistoryRepositoryImpl, sugaredLogger, ciPipelineRepositoryImpl) pipelineConfigRepositoryImpl := chartConfig.NewPipelineConfigRepository(db) configMapServiceImpl := pipeline.NewConfigMapServiceImpl(chartRepositoryImpl, sugaredLogger, chartRepoRepositoryImpl, utilMergeUtil, pipelineConfigRepositoryImpl, configMapRepositoryImpl, envConfigOverrideRepositoryImpl, commonServiceImpl, appRepositoryImpl, configMapHistoryServiceImpl, environmentRepositoryImpl, scopedVariableCMCSManagerImpl) - deploymentTemplateHistoryRepositoryImpl := repository14.NewDeploymentTemplateHistoryRepositoryImpl(sugaredLogger, db) + deploymentTemplateHistoryRepositoryImpl := repository13.NewDeploymentTemplateHistoryRepositoryImpl(sugaredLogger, db) deploymentTemplateHistoryServiceImpl := history.NewDeploymentTemplateHistoryServiceImpl(sugaredLogger, deploymentTemplateHistoryRepositoryImpl, pipelineRepositoryImpl, chartRepositoryImpl, userServiceImpl, cdWorkflowRepositoryImpl, scopedVariableManagerImpl, deployedAppMetricsServiceImpl, chartRefServiceImpl) chartServiceImpl := chart.NewChartServiceImpl(chartRepositoryImpl, sugaredLogger, chartTemplateServiceImpl, chartRepoRepositoryImpl, appRepositoryImpl, utilMergeUtil, envConfigOverrideRepositoryImpl, pipelineConfigRepositoryImpl, environmentRepositoryImpl, deploymentTemplateHistoryServiceImpl, scopedVariableManagerImpl, deployedAppMetricsServiceImpl, chartRefServiceImpl, gitOpsConfigReadServiceImpl, deploymentConfigServiceImpl) ciCdPipelineOrchestratorImpl := pipeline.NewCiCdPipelineOrchestrator(appRepositoryImpl, sugaredLogger, materialRepositoryImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, ciPipelineMaterialRepositoryImpl, cdWorkflowRepositoryImpl, clientImpl, ciCdConfig, appWorkflowRepositoryImpl, environmentRepositoryImpl, attributesServiceImpl, appCrudOperationServiceImpl, userAuthServiceImpl, prePostCdScriptHistoryServiceImpl, pipelineStageServiceImpl, gitMaterialHistoryServiceImpl, ciPipelineHistoryServiceImpl, ciTemplateServiceImpl, dockerArtifactStoreRepositoryImpl, ciArtifactRepositoryImpl, configMapServiceImpl, customTagServiceImpl, genericNoteServiceImpl, chartServiceImpl, transactionUtilImpl, gitOpsConfigReadServiceImpl, deploymentConfigServiceImpl) @@ -595,7 +593,7 @@ func InitializeApp() (*App, error) { resourceGroupRepositoryImpl := resourceGroup.NewResourceGroupRepositoryImpl(db) resourceGroupMappingRepositoryImpl := resourceGroup.NewResourceGroupMappingRepositoryImpl(db) resourceGroupServiceImpl := resourceGroup2.NewResourceGroupServiceImpl(sugaredLogger, resourceGroupRepositoryImpl, resourceGroupMappingRepositoryImpl, enforcerUtilImpl, devtronResourceSearchableKeyServiceImpl, appStatusRepositoryImpl) - imageTaggingRepositoryImpl := repository15.NewImageTaggingRepositoryImpl(db, transactionUtilImpl) + imageTaggingRepositoryImpl := repository14.NewImageTaggingRepositoryImpl(db, transactionUtilImpl) imageTaggingServiceImpl := pipeline.NewImageTaggingServiceImpl(imageTaggingRepositoryImpl, ciPipelineRepositoryImpl, pipelineRepositoryImpl, environmentRepositoryImpl, sugaredLogger) blobStorageConfigServiceImpl := pipeline.NewBlobStorageConfigServiceImpl(sugaredLogger, k8sServiceImpl, ciCdConfig) ciHandlerImpl := pipeline.NewCiHandlerImpl(sugaredLogger, ciServiceImpl, ciPipelineMaterialRepositoryImpl, clientImpl, ciWorkflowRepositoryImpl, workflowServiceImpl, ciLogServiceImpl, ciArtifactRepositoryImpl, userServiceImpl, eventRESTClientImpl, eventSimpleFactoryImpl, ciPipelineRepositoryImpl, appListingRepositoryImpl, k8sServiceImpl, pipelineRepositoryImpl, enforcerUtilImpl, resourceGroupServiceImpl, environmentRepositoryImpl, imageTaggingServiceImpl, k8sCommonServiceImpl, clusterServiceImplExtended, blobStorageConfigServiceImpl, appWorkflowRepositoryImpl, customTagServiceImpl, environmentServiceImpl) @@ -606,16 +604,16 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - ciTemplateHistoryRepositoryImpl := repository14.NewCiTemplateHistoryRepositoryImpl(db, sugaredLogger) + ciTemplateHistoryRepositoryImpl := repository13.NewCiTemplateHistoryRepositoryImpl(db, sugaredLogger) ciTemplateHistoryServiceImpl := history.NewCiTemplateHistoryServiceImpl(ciTemplateHistoryRepositoryImpl, sugaredLogger) buildPipelineSwitchServiceImpl := pipeline.NewBuildPipelineSwitchServiceImpl(sugaredLogger, ciPipelineRepositoryImpl, ciCdPipelineOrchestratorImpl, pipelineRepositoryImpl, ciWorkflowRepositoryImpl, appWorkflowRepositoryImpl, ciPipelineHistoryServiceImpl, ciTemplateOverrideRepositoryImpl, ciPipelineMaterialRepositoryImpl) ciPipelineConfigServiceImpl := pipeline.NewCiPipelineConfigServiceImpl(sugaredLogger, ciCdPipelineOrchestratorImpl, dockerArtifactStoreRepositoryImpl, materialRepositoryImpl, appRepositoryImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, ecrConfig, appWorkflowRepositoryImpl, ciCdConfig, attributesServiceImpl, pipelineStageServiceImpl, ciPipelineMaterialRepositoryImpl, ciTemplateServiceImpl, ciTemplateOverrideRepositoryImpl, ciTemplateHistoryServiceImpl, enforcerUtilImpl, ciWorkflowRepositoryImpl, resourceGroupServiceImpl, customTagServiceImpl, cdWorkflowRepositoryImpl, buildPipelineSwitchServiceImpl, pipelineStageRepositoryImpl, globalPluginRepositoryImpl) ciMaterialConfigServiceImpl := pipeline.NewCiMaterialConfigServiceImpl(sugaredLogger, materialRepositoryImpl, ciTemplateServiceImpl, ciCdPipelineOrchestratorImpl, ciPipelineRepositoryImpl, gitMaterialHistoryServiceImpl, pipelineRepositoryImpl, ciPipelineMaterialRepositoryImpl, transactionUtilImpl) deploymentGroupRepositoryImpl := repository2.NewDeploymentGroupRepositoryImpl(sugaredLogger, db) - pipelineStrategyHistoryRepositoryImpl := repository14.NewPipelineStrategyHistoryRepositoryImpl(sugaredLogger, db) + pipelineStrategyHistoryRepositoryImpl := repository13.NewPipelineStrategyHistoryRepositoryImpl(sugaredLogger, db) pipelineStrategyHistoryServiceImpl := history.NewPipelineStrategyHistoryServiceImpl(sugaredLogger, pipelineStrategyHistoryRepositoryImpl, userServiceImpl) propertiesConfigServiceImpl := pipeline.NewPropertiesConfigServiceImpl(sugaredLogger, envConfigOverrideRepositoryImpl, chartRepositoryImpl, environmentRepositoryImpl, deploymentTemplateHistoryServiceImpl, scopedVariableManagerImpl, deployedAppMetricsServiceImpl) - repositoryServiceClientImpl := repository16.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) + repositoryServiceClientImpl := repository15.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) runnable := asyncProvider.NewAsyncRunnable(sugaredLogger) argoClientWrapperServiceImpl := argocdServer.NewArgoClientWrapperServiceImpl(sugaredLogger, applicationServiceClientImpl, acdConfig, repositoryServiceClientImpl, gitOpsConfigReadServiceImpl, gitOperationServiceImpl, runnable) imageDigestPolicyServiceImpl := imageDigestPolicy.NewImageDigestPolicyServiceImpl(sugaredLogger, qualifierMappingServiceImpl, devtronResourceSearchableKeyServiceImpl) @@ -666,11 +664,11 @@ func InitializeApp() (*App, error) { argoK8sClientImpl := argocdServer.NewArgoK8sClientImpl(sugaredLogger, k8sServiceImpl) manifestCreationServiceImpl := manifest.NewManifestCreationServiceImpl(sugaredLogger, dockerRegistryIpsConfigServiceImpl, chartRefServiceImpl, scopedVariableCMCSManagerImpl, k8sCommonServiceImpl, deployedAppMetricsServiceImpl, imageDigestPolicyServiceImpl, mergeUtil, appCrudOperationServiceImpl, deploymentTemplateServiceImpl, applicationServiceClientImpl, configMapHistoryRepositoryImpl, configMapRepositoryImpl, chartRepositoryImpl, envConfigOverrideRepositoryImpl, environmentRepositoryImpl, pipelineRepositoryImpl, ciArtifactRepositoryImpl, pipelineOverrideRepositoryImpl, pipelineStrategyHistoryRepositoryImpl, pipelineConfigRepositoryImpl, deploymentTemplateHistoryRepositoryImpl, deploymentConfigServiceImpl) deployedConfigurationHistoryServiceImpl := history.NewDeployedConfigurationHistoryServiceImpl(sugaredLogger, userServiceImpl, deploymentTemplateHistoryServiceImpl, pipelineStrategyHistoryServiceImpl, configMapHistoryServiceImpl, cdWorkflowRepositoryImpl, scopedVariableCMCSManagerImpl) - userDeploymentRequestRepositoryImpl := repository17.NewUserDeploymentRequestRepositoryImpl(db, transactionUtilImpl) + userDeploymentRequestRepositoryImpl := repository16.NewUserDeploymentRequestRepositoryImpl(db, transactionUtilImpl) userDeploymentRequestServiceImpl := service2.NewUserDeploymentRequestServiceImpl(sugaredLogger, userDeploymentRequestRepositoryImpl) - manifestPushConfigRepositoryImpl := repository12.NewManifestPushConfigRepository(sugaredLogger, db) + manifestPushConfigRepositoryImpl := repository11.NewManifestPushConfigRepository(sugaredLogger, db) scanToolExecutionHistoryMappingRepositoryImpl := security.NewScanToolExecutionHistoryMappingRepositoryImpl(db, sugaredLogger) - imageScanServiceImpl := security2.NewImageScanServiceImpl(sugaredLogger, imageScanHistoryRepositoryImpl, imageScanResultRepositoryImpl, imageScanObjectMetaRepositoryImpl, cveStoreRepositoryImpl, imageScanDeployInfoRepositoryImpl, userServiceImpl, teamRepositoryImpl, appRepositoryImpl, environmentServiceImpl, ciArtifactRepositoryImpl, policyServiceImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, scanToolMetadataRepositoryImpl, scanToolExecutionHistoryMappingRepositoryImpl, cvePolicyRepositoryImpl) + imageScanServiceImpl := security2.NewImageScanServiceImpl(sugaredLogger, imageScanHistoryRepositoryImpl, imageScanResultRepositoryImpl, imageScanObjectMetaRepositoryImpl, cveStoreRepositoryImpl, imageScanDeployInfoRepositoryImpl, userServiceImpl, appRepositoryImpl, environmentServiceImpl, ciArtifactRepositoryImpl, policyServiceImpl, pipelineRepositoryImpl, ciPipelineRepositoryImpl, scanToolMetadataRepositoryImpl, scanToolExecutionHistoryMappingRepositoryImpl, cvePolicyRepositoryImpl) triggerServiceImpl, err := devtronApps.NewTriggerServiceImpl(sugaredLogger, cdWorkflowCommonServiceImpl, gitOpsManifestPushServiceImpl, gitOpsConfigReadServiceImpl, argoK8sClientImpl, acdConfig, argoClientWrapperServiceImpl, pipelineStatusTimelineServiceImpl, chartTemplateServiceImpl, workflowEventPublishServiceImpl, manifestCreationServiceImpl, deployedConfigurationHistoryServiceImpl, argoUserServiceImpl, pipelineStageServiceImpl, globalPluginServiceImpl, customTagServiceImpl, pluginInputVariableParserImpl, prePostCdScriptHistoryServiceImpl, scopedVariableCMCSManagerImpl, workflowServiceImpl, imageDigestPolicyServiceImpl, userServiceImpl, clientImpl, helmAppServiceImpl, enforcerUtilImpl, userDeploymentRequestServiceImpl, helmAppClientImpl, eventSimpleFactoryImpl, eventRESTClientImpl, environmentVariables, appRepositoryImpl, ciPipelineMaterialRepositoryImpl, imageScanHistoryRepositoryImpl, imageScanDeployInfoRepositoryImpl, pipelineRepositoryImpl, pipelineOverrideRepositoryImpl, manifestPushConfigRepositoryImpl, chartRepositoryImpl, environmentRepositoryImpl, cdWorkflowRepositoryImpl, ciWorkflowRepositoryImpl, ciArtifactRepositoryImpl, ciTemplateServiceImpl, materialRepositoryImpl, appLabelRepositoryImpl, ciPipelineRepositoryImpl, appWorkflowRepositoryImpl, dockerArtifactStoreRepositoryImpl, imageScanServiceImpl, k8sServiceImpl, transactionUtilImpl, deploymentConfigServiceImpl, ciCdPipelineOrchestratorImpl, gitOperationServiceImpl, attributesServiceImpl) if err != nil { return nil, err @@ -712,8 +710,7 @@ func InitializeApp() (*App, error) { smtpNotificationServiceImpl := notifier.NewSMTPNotificationServiceImpl(sugaredLogger, smtpNotificationRepositoryImpl, teamServiceImpl, notificationSettingsRepositoryImpl) notificationRestHandlerImpl := restHandler.NewNotificationRestHandlerImpl(dockerRegistryConfigImpl, sugaredLogger, gitRegistryConfigImpl, userServiceImpl, validate, notificationConfigServiceImpl, slackNotificationServiceImpl, webhookNotificationServiceImpl, sesNotificationServiceImpl, smtpNotificationServiceImpl, enforcerImpl, teamServiceImpl, environmentServiceImpl, pipelineBuilderImpl, enforcerUtilImpl) notificationRouterImpl := router.NewNotificationRouterImpl(notificationRestHandlerImpl) - teamReadServiceImpl := read4.NewTeamReadServiceImpl(sugaredLogger, teamRepositoryImpl) - teamRestHandlerImpl := team2.NewTeamRestHandlerImpl(sugaredLogger, teamServiceImpl, teamReadServiceImpl, userServiceImpl, enforcerImpl, validate, userAuthServiceImpl, deleteServiceExtendedImpl) + teamRestHandlerImpl := team2.NewTeamRestHandlerImpl(sugaredLogger, teamServiceImpl, userServiceImpl, enforcerImpl, validate, userAuthServiceImpl, deleteServiceExtendedImpl) teamRouterImpl := team2.NewTeamRouterImpl(teamRestHandlerImpl) roleGroupServiceImpl := user.NewRoleGroupServiceImpl(userAuthRepositoryImpl, sugaredLogger, userRepositoryImpl, roleGroupRepositoryImpl, userCommonServiceImpl) userRestHandlerImpl := user2.NewUserRestHandlerImpl(userServiceImpl, validate, sugaredLogger, enforcerImpl, roleGroupServiceImpl, userCommonServiceImpl) @@ -722,7 +719,7 @@ func InitializeApp() (*App, error) { chartRefRouterImpl := router.NewChartRefRouterImpl(chartRefRestHandlerImpl) configMapRestHandlerImpl := restHandler.NewConfigMapRestHandlerImpl(pipelineBuilderImpl, sugaredLogger, chartServiceImpl, userServiceImpl, teamServiceImpl, enforcerImpl, pipelineRepositoryImpl, enforcerUtilImpl, configMapServiceImpl) configMapRouterImpl := router.NewConfigMapRouterImpl(configMapRestHandlerImpl) - k8sResourceHistoryRepositoryImpl := repository18.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) + k8sResourceHistoryRepositoryImpl := repository17.NewK8sResourceHistoryRepositoryImpl(db, sugaredLogger) k8sResourceHistoryServiceImpl := kubernetesResourceAuditLogs.Newk8sResourceHistoryServiceImpl(k8sResourceHistoryRepositoryImpl, sugaredLogger, appRepositoryImpl, environmentRepositoryImpl) ephemeralContainersRepositoryImpl := repository5.NewEphemeralContainersRepositoryImpl(db, transactionUtilImpl) ephemeralContainerServiceImpl := cluster2.NewEphemeralContainerServiceImpl(ephemeralContainersRepositoryImpl, sugaredLogger) @@ -734,9 +731,9 @@ func InitializeApp() (*App, error) { } argoApplicationServiceExtendedImpl := argoApplication.NewArgoApplicationServiceExtendedServiceImpl(sugaredLogger, clusterRepositoryImpl, k8sServiceImpl, argoUserServiceImpl, helmAppClientImpl, helmAppServiceImpl, k8sApplicationServiceImpl, argoApplicationReadServiceImpl, applicationServiceClientImpl) installedAppResourceServiceImpl := resource.NewInstalledAppResourceServiceImpl(sugaredLogger, installedAppRepositoryImpl, appStoreApplicationVersionRepositoryImpl, applicationServiceClientImpl, acdAuthConfig, installedAppVersionHistoryRepositoryImpl, argoUserServiceImpl, helmAppClientImpl, helmAppServiceImpl, appStatusServiceImpl, k8sCommonServiceImpl, k8sApplicationServiceImpl, k8sServiceImpl, deploymentConfigServiceImpl, ociRegistryConfigRepositoryImpl, argoApplicationServiceExtendedImpl) - chartGroupEntriesRepositoryImpl := repository19.NewChartGroupEntriesRepositoryImpl(db, sugaredLogger) - chartGroupReposotoryImpl := repository19.NewChartGroupReposotoryImpl(db, sugaredLogger) - chartGroupDeploymentRepositoryImpl := repository19.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) + chartGroupEntriesRepositoryImpl := repository18.NewChartGroupEntriesRepositoryImpl(db, sugaredLogger) + chartGroupReposotoryImpl := repository18.NewChartGroupReposotoryImpl(db, sugaredLogger) + chartGroupDeploymentRepositoryImpl := repository18.NewChartGroupDeploymentRepositoryImpl(db, sugaredLogger) appStoreVersionValuesRepositoryImpl := appStoreValuesRepository.NewAppStoreVersionValuesRepositoryImpl(sugaredLogger, db) appStoreRepositoryImpl := appStoreDiscoverRepository.NewAppStoreRepositoryImpl(sugaredLogger, db) clusterInstalledAppsRepositoryImpl := repository3.NewClusterInstalledAppsRepositoryImpl(db, sugaredLogger) @@ -759,7 +756,7 @@ func InitializeApp() (*App, error) { return nil, err } cdApplicationStatusUpdateHandlerImpl := cron2.NewCdApplicationStatusUpdateHandlerImpl(sugaredLogger, appServiceImpl, workflowDagExecutorImpl, installedAppDBServiceImpl, appServiceConfig, pipelineStatusTimelineRepositoryImpl, eventRESTClientImpl, appListingRepositoryImpl, cdWorkflowRepositoryImpl, pipelineRepositoryImpl, installedAppVersionHistoryRepositoryImpl, installedAppRepositoryImpl, cronLoggerImpl, cdWorkflowCommonServiceImpl, workflowStatusServiceImpl) - clusterReadServiceImpl := read5.NewClusterReadServiceImpl(sugaredLogger, clusterRepositoryImpl) + clusterReadServiceImpl := read4.NewClusterReadServiceImpl(sugaredLogger, clusterRepositoryImpl) installedAppDeploymentTypeChangeServiceImpl := deploymentTypeChange.NewInstalledAppDeploymentTypeChangeServiceImpl(sugaredLogger, installedAppRepositoryImpl, installedAppVersionHistoryRepositoryImpl, appStatusRepositoryImpl, gitOpsConfigReadServiceImpl, environmentRepositoryImpl, applicationServiceClientImpl, k8sCommonServiceImpl, k8sServiceImpl, fullModeDeploymentServiceImpl, eaModeDeploymentServiceImpl, argoClientWrapperServiceImpl, chartGroupServiceImpl, helmAppServiceImpl, argoUserServiceImpl, clusterServiceImplExtended, clusterReadServiceImpl, appRepositoryImpl, deploymentConfigServiceImpl, argoApplicationServiceExtendedImpl) installedAppRestHandlerImpl := appStore.NewInstalledAppRestHandlerImpl(sugaredLogger, userServiceImpl, enforcerImpl, enforcerUtilImpl, enforcerUtilHelmImpl, installedAppDBExtendedServiceImpl, installedAppResourceServiceImpl, chartGroupServiceImpl, validate, clusterServiceImplExtended, applicationServiceClientImpl, appStoreDeploymentServiceImpl, appStoreDeploymentDBServiceImpl, helmAppClientImpl, argoUserServiceImpl, cdApplicationStatusUpdateHandlerImpl, installedAppRepositoryImpl, appCrudOperationServiceImpl, installedAppDeploymentTypeChangeServiceImpl) appStoreValuesRestHandlerImpl := appStoreValues.NewAppStoreValuesRestHandlerImpl(sugaredLogger, userServiceImpl, appStoreValuesServiceImpl) @@ -804,7 +801,7 @@ func InitializeApp() (*App, error) { policyRestHandlerImpl := restHandler.NewPolicyRestHandlerImpl(sugaredLogger, policyServiceImpl, userServiceImpl, userAuthServiceImpl, enforcerImpl, enforcerUtilImpl, environmentServiceImpl) policyRouterImpl := router.NewPolicyRouterImpl(policyRestHandlerImpl) certificateServiceClientImpl := certificate.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl, argoUserServiceImpl) - serviceClientImpl2 := repository20.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) + serviceClientImpl2 := repository19.NewServiceClientImpl(sugaredLogger, argoCDConnectionManagerImpl) gitOpsConfigServiceImpl := gitops.NewGitOpsConfigServiceImpl(sugaredLogger, gitOpsConfigRepositoryImpl, k8sServiceImpl, acdAuthConfig, clusterServiceImplExtended, argoUserServiceImpl, serviceClientImpl, gitOperationServiceImpl, gitOpsConfigReadServiceImpl, gitOpsValidationServiceImpl, certificateServiceClientImpl, repositoryServiceClientImpl, serviceClientImpl2) gitOpsConfigRestHandlerImpl := restHandler.NewGitOpsConfigRestHandlerImpl(sugaredLogger, gitOpsConfigServiceImpl, userServiceImpl, validate, enforcerImpl, teamServiceImpl) gitOpsConfigRouterImpl := router.NewGitOpsConfigRouterImpl(gitOpsConfigRestHandlerImpl) @@ -870,7 +867,7 @@ func InitializeApp() (*App, error) { pipelineTriggerRouterImpl := trigger2.NewPipelineTriggerRouter(pipelineTriggerRestHandlerImpl, sseSSE) webhookDataRestHandlerImpl := webhook.NewWebhookDataRestHandlerImpl(sugaredLogger, userServiceImpl, ciPipelineMaterialRepositoryImpl, enforcerUtilImpl, enforcerImpl, clientImpl, webhookEventDataConfigImpl) pipelineConfigRouterImpl := configure2.NewPipelineRouterImpl(pipelineConfigRestHandlerImpl, webhookDataRestHandlerImpl) - prePostCiScriptHistoryRepositoryImpl := repository14.NewPrePostCiScriptHistoryRepositoryImpl(sugaredLogger, db) + prePostCiScriptHistoryRepositoryImpl := repository13.NewPrePostCiScriptHistoryRepositoryImpl(sugaredLogger, db) prePostCiScriptHistoryServiceImpl := history.NewPrePostCiScriptHistoryServiceImpl(sugaredLogger, prePostCiScriptHistoryRepositoryImpl) pipelineHistoryRestHandlerImpl := history2.NewPipelineHistoryRestHandlerImpl(sugaredLogger, userServiceImpl, enforcerImpl, pipelineStrategyHistoryServiceImpl, deploymentTemplateHistoryServiceImpl, configMapHistoryServiceImpl, prePostCiScriptHistoryServiceImpl, prePostCdScriptHistoryServiceImpl, enforcerUtilImpl, deployedConfigurationHistoryServiceImpl) pipelineHistoryRouterImpl := history3.NewPipelineHistoryRouterImpl(pipelineHistoryRestHandlerImpl)