Skip to content

Commit 20cf32b

Browse files
authored
misc: Cluster, project, environment read and beans (#6067)
* separate out environment pkg * separate out environment pkg * refactor team/project pkg * more project beans to refactor * project, cluster, enviroment read service * revert team related changes * revert team refactoring references
1 parent 1a11904 commit 20cf32b

File tree

103 files changed

+943
-814
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+943
-814
lines changed

api/cluster/ClusterRestHandler.go

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ import (
2020
"context"
2121
"encoding/json"
2222
"errors"
23+
bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean"
24+
"github.com/devtron-labs/devtron/pkg/cluster/environment"
25+
"github.com/devtron-labs/devtron/pkg/cluster/rbac"
2326
"net/http"
2427
"strconv"
2528
"time"
@@ -69,8 +72,8 @@ type ClusterRestHandlerImpl struct {
6972
enforcer casbin.Enforcer
7073
deleteService delete2.DeleteService
7174
argoUserService argo.ArgoUserService
72-
environmentService cluster.EnvironmentService
73-
clusterRbacService cluster.ClusterRbacService
75+
environmentService environment.EnvironmentService
76+
clusterRbacService rbac.ClusterRbacService
7477
}
7578

7679
func NewClusterRestHandlerImpl(clusterService cluster.ClusterService,
@@ -82,8 +85,8 @@ func NewClusterRestHandlerImpl(clusterService cluster.ClusterService,
8285
enforcer casbin.Enforcer,
8386
deleteService delete2.DeleteService,
8487
argoUserService argo.ArgoUserService,
85-
environmentService cluster.EnvironmentService,
86-
clusterRbacService cluster.ClusterRbacService) *ClusterRestHandlerImpl {
88+
environmentService environment.EnvironmentService,
89+
clusterRbacService rbac.ClusterRbacService) *ClusterRestHandlerImpl {
8790
return &ClusterRestHandlerImpl{
8891
clusterService: clusterService,
8992
clusterNoteService: clusterNoteService,
@@ -107,7 +110,7 @@ func (impl ClusterRestHandlerImpl) SaveClusters(w http.ResponseWriter, r *http.R
107110
common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized)
108111
return
109112
}
110-
beans := []*cluster.ClusterBean{}
113+
beans := []*bean2.ClusterBean{}
111114
err = decoder.Decode(&beans)
112115
if err != nil {
113116
impl.logger.Errorw("request err, Save", "error", err, "payload", beans)
@@ -178,7 +181,7 @@ func (impl ClusterRestHandlerImpl) Save(w http.ResponseWriter, r *http.Request)
178181
common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized)
179182
return
180183
}
181-
bean := new(cluster.ClusterBean)
184+
bean := new(bean2.ClusterBean)
182185
err = decoder.Decode(bean)
183186
if err != nil {
184187
impl.logger.Errorw("request err, Save", "error", err, "payload", bean)
@@ -247,7 +250,7 @@ func (impl ClusterRestHandlerImpl) ValidateKubeconfig(w http.ResponseWriter, r *
247250
common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized)
248251
return
249252
}
250-
bean := &cluster.Kubeconfig{}
253+
bean := &bean2.Kubeconfig{}
251254
err = decoder.Decode(bean)
252255
if err != nil {
253256
impl.logger.Errorw("request err, Validate", "error", err, "payload", bean)
@@ -309,7 +312,7 @@ func (impl ClusterRestHandlerImpl) FindAll(w http.ResponseWriter, r *http.Reques
309312
}
310313

311314
// RBAC enforcer applying
312-
var result []*cluster.ClusterBean
315+
var result []*bean2.ClusterBean
313316
for _, item := range clusterList {
314317
if ok := impl.enforcer.Enforce(token, casbin.ResourceCluster, casbin.ActionGet, item.ClusterName); ok {
315318
result = append(result, item)
@@ -397,7 +400,7 @@ func (impl ClusterRestHandlerImpl) Update(w http.ResponseWriter, r *http.Request
397400
common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized)
398401
return
399402
}
400-
var bean cluster.ClusterBean
403+
var bean bean2.ClusterBean
401404
err = decoder.Decode(&bean)
402405
if err != nil {
403406
impl.logger.Errorw("request err, Update", "error", err, "payload", bean)
@@ -458,7 +461,7 @@ func (impl ClusterRestHandlerImpl) UpdateClusterDescription(w http.ResponseWrite
458461
common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized)
459462
return
460463
}
461-
var bean cluster.ClusterBean
464+
var bean bean2.ClusterBean
462465
err = decoder.Decode(&bean)
463466
if err != nil {
464467
impl.logger.Errorw("request err, UpdateClusterDescription", "error", err, "payload", bean)
@@ -544,7 +547,7 @@ func (impl ClusterRestHandlerImpl) FindAllForAutoComplete(w http.ResponseWriter,
544547
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
545548
return
546549
}
547-
var result []cluster.ClusterBean
550+
var result []bean2.ClusterBean
548551
v := r.URL.Query()
549552
authEnabled := true
550553
auth := v.Get("auth")
@@ -573,7 +576,7 @@ func (impl ClusterRestHandlerImpl) FindAllForAutoComplete(w http.ResponseWriter,
573576
//RBAC enforcer Ends
574577

575578
if len(result) == 0 {
576-
result = make([]cluster.ClusterBean, 0)
579+
result = make([]bean2.ClusterBean, 0)
577580
}
578581
common.WriteJsonResp(w, err, result, http.StatusOK)
579582
}
@@ -586,7 +589,7 @@ func (impl ClusterRestHandlerImpl) DeleteCluster(w http.ResponseWriter, r *http.
586589
common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized)
587590
return
588591
}
589-
var bean cluster.ClusterBean
592+
var bean bean2.ClusterBean
590593
err = decoder.Decode(&bean)
591594
if err != nil {
592595
impl.logger.Errorw("request err, Delete", "error", err, "payload", bean)
@@ -688,7 +691,7 @@ func (impl ClusterRestHandlerImpl) FindAllForClusterPermission(w http.ResponseWr
688691
if len(clusterList) == 0 {
689692
// assumption is that if list is empty, then it can happen only in case of Unauthorized (but not sending Unauthorized for super-admin user)
690693
if isActionUserSuperAdmin {
691-
clusterList = make([]cluster.ClusterBean, 0)
694+
clusterList = make([]bean2.ClusterBean, 0)
692695
} else {
693696
common.WriteJsonResp(w, errors.New("unauthorized"), nil, http.StatusForbidden)
694697
return

api/cluster/EnvironmentRestHandler.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ package cluster
1919
import (
2020
"context"
2121
"encoding/json"
22-
bean2 "github.com/devtron-labs/devtron/pkg/cluster/repository/bean"
22+
bean3 "github.com/devtron-labs/devtron/pkg/cluster/bean"
23+
request "github.com/devtron-labs/devtron/pkg/cluster/environment"
24+
bean2 "github.com/devtron-labs/devtron/pkg/cluster/environment/bean"
25+
"github.com/devtron-labs/devtron/pkg/cluster/environment/read"
2326
"net/http"
2427
"strconv"
2528
"strings"
@@ -35,7 +38,6 @@ import (
3538
"github.com/devtron-labs/devtron/api/bean"
3639

3740
"github.com/devtron-labs/devtron/api/restHandler/common"
38-
request "github.com/devtron-labs/devtron/pkg/cluster"
3941
delete2 "github.com/devtron-labs/devtron/pkg/delete"
4042
"github.com/gorilla/mux"
4143
"github.com/pkg/errors"
@@ -61,6 +63,7 @@ type EnvironmentRestHandler interface {
6163

6264
type EnvironmentRestHandlerImpl struct {
6365
environmentClusterMappingsService request.EnvironmentService
66+
environmentReadService read.EnvironmentReadService
6467
k8sCommonService k8s.K8sCommonService
6568
logger *zap.SugaredLogger
6669
userService user.UserService
@@ -76,7 +79,7 @@ type ClusterReachableResponse struct {
7679
ClusterName string `json:"clusterName"`
7780
}
7881

79-
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 {
82+
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 {
8083
cfg := &bean.Config{}
8184
err := env.Parse(cfg)
8285
if err != nil {
@@ -86,6 +89,7 @@ func NewEnvironmentRestHandlerImpl(svc request.EnvironmentService, logger *zap.S
8689
logger.Infow("evironment rest handler initialized", "ignoreAuthCheckValue", cfg.IgnoreAuthCheck)
8790
return &EnvironmentRestHandlerImpl{
8891
environmentClusterMappingsService: svc,
92+
environmentReadService: environmentReadService,
8993
logger: logger,
9094
userService: userService,
9195
validator: validator,
@@ -160,7 +164,7 @@ func (impl EnvironmentRestHandlerImpl) Get(w http.ResponseWriter, r *http.Reques
160164
}
161165

162166
func (impl EnvironmentRestHandlerImpl) GetAll(w http.ResponseWriter, r *http.Request) {
163-
environments, err := impl.environmentClusterMappingsService.GetAll()
167+
environments, err := impl.environmentReadService.GetAll()
164168
if err != nil {
165169
impl.logger.Errorw("service err, GetAll", "err", err)
166170
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
@@ -516,6 +520,6 @@ func (impl EnvironmentRestHandlerImpl) GetEnvironmentConnection(w http.ResponseW
516520
//updating the cluster connection error to db
517521
mapObj := &sync.Map{}
518522
mapObj.Store(clusterBean.Id, err)
519-
impl.environmentClusterMappingsService.HandleErrorInClusterConnections([]*request.ClusterBean{clusterBean}, mapObj, true)
523+
impl.environmentClusterMappingsService.HandleErrorInClusterConnections([]*bean3.ClusterBean{clusterBean}, mapObj, true)
520524
common.WriteJsonResp(w, nil, responseObj, http.StatusOK)
521525
}

api/cluster/wire_cluster.go

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ package cluster
1818

1919
import (
2020
"github.com/devtron-labs/devtron/pkg/cluster"
21+
"github.com/devtron-labs/devtron/pkg/cluster/environment"
22+
read2 "github.com/devtron-labs/devtron/pkg/cluster/environment/read"
23+
repository3 "github.com/devtron-labs/devtron/pkg/cluster/environment/repository"
24+
"github.com/devtron-labs/devtron/pkg/cluster/rbac"
25+
"github.com/devtron-labs/devtron/pkg/cluster/read"
2126
"github.com/devtron-labs/devtron/pkg/cluster/repository"
2227
"github.com/devtron-labs/devtron/pkg/genericNotes"
2328
repository2 "github.com/devtron-labs/devtron/pkg/genericNotes/repository"
@@ -32,9 +37,11 @@ var ClusterWireSet = wire.NewSet(
3237
cluster.NewClusterServiceImpl,
3338
cluster.NewClusterServiceImplExtended,
3439
wire.Bind(new(cluster.ClusterService), new(*cluster.ClusterServiceImplExtended)),
40+
read.NewClusterReadServiceImpl,
41+
wire.Bind(new(read.ClusterReadService), new(*read.ClusterReadServiceImpl)),
3542

36-
cluster.NewClusterRbacServiceImpl,
37-
wire.Bind(new(cluster.ClusterRbacService), new(*cluster.ClusterRbacServiceImpl)),
43+
rbac.NewClusterRbacServiceImpl,
44+
wire.Bind(new(rbac.ClusterRbacService), new(*rbac.ClusterRbacServiceImpl)),
3845

3946
repository.NewClusterDescriptionRepositoryImpl,
4047
wire.Bind(new(repository.ClusterDescriptionRepository), new(*repository.ClusterDescriptionRepositoryImpl)),
@@ -54,10 +61,12 @@ var ClusterWireSet = wire.NewSet(
5461
NewClusterRouterImpl,
5562
wire.Bind(new(ClusterRouter), new(*ClusterRouterImpl)),
5663

57-
repository.NewEnvironmentRepositoryImpl,
58-
wire.Bind(new(repository.EnvironmentRepository), new(*repository.EnvironmentRepositoryImpl)),
59-
cluster.NewEnvironmentServiceImpl,
60-
wire.Bind(new(cluster.EnvironmentService), new(*cluster.EnvironmentServiceImpl)),
64+
repository3.NewEnvironmentRepositoryImpl,
65+
wire.Bind(new(repository3.EnvironmentRepository), new(*repository3.EnvironmentRepositoryImpl)),
66+
environment.NewEnvironmentServiceImpl,
67+
wire.Bind(new(environment.EnvironmentService), new(*environment.EnvironmentServiceImpl)),
68+
read2.NewEnvironmentReadServiceImpl,
69+
wire.Bind(new(read2.EnvironmentReadService), new(*read2.EnvironmentReadServiceImpl)),
6170
NewEnvironmentRestHandlerImpl,
6271
wire.Bind(new(EnvironmentRestHandler), new(*EnvironmentRestHandlerImpl)),
6372
NewEnvironmentRouterImpl,
@@ -68,10 +77,12 @@ var ClusterWireSet = wire.NewSet(
6877
var ClusterWireSetEa = wire.NewSet(
6978
repository.NewClusterRepositoryImpl,
7079
wire.Bind(new(repository.ClusterRepository), new(*repository.ClusterRepositoryImpl)),
71-
cluster.NewClusterRbacServiceImpl,
72-
wire.Bind(new(cluster.ClusterRbacService), new(*cluster.ClusterRbacServiceImpl)),
80+
rbac.NewClusterRbacServiceImpl,
81+
wire.Bind(new(rbac.ClusterRbacService), new(*rbac.ClusterRbacServiceImpl)),
7382
cluster.NewClusterServiceImpl,
7483
wire.Bind(new(cluster.ClusterService), new(*cluster.ClusterServiceImpl)),
84+
read.NewClusterReadServiceImpl,
85+
wire.Bind(new(read.ClusterReadService), new(*read.ClusterReadServiceImpl)),
7586

7687
repository.NewClusterDescriptionRepositoryImpl,
7788
wire.Bind(new(repository.ClusterDescriptionRepository), new(*repository.ClusterDescriptionRepositoryImpl)),
@@ -90,10 +101,12 @@ var ClusterWireSetEa = wire.NewSet(
90101
wire.Bind(new(ClusterRestHandler), new(*ClusterRestHandlerImpl)),
91102
NewClusterRouterImpl,
92103
wire.Bind(new(ClusterRouter), new(*ClusterRouterImpl)),
93-
repository.NewEnvironmentRepositoryImpl,
94-
wire.Bind(new(repository.EnvironmentRepository), new(*repository.EnvironmentRepositoryImpl)),
95-
cluster.NewEnvironmentServiceImpl,
96-
wire.Bind(new(cluster.EnvironmentService), new(*cluster.EnvironmentServiceImpl)),
104+
repository3.NewEnvironmentRepositoryImpl,
105+
wire.Bind(new(repository3.EnvironmentRepository), new(*repository3.EnvironmentRepositoryImpl)),
106+
environment.NewEnvironmentServiceImpl,
107+
wire.Bind(new(environment.EnvironmentService), new(*environment.EnvironmentServiceImpl)),
108+
read2.NewEnvironmentReadServiceImpl,
109+
wire.Bind(new(read2.EnvironmentReadService), new(*read2.EnvironmentReadServiceImpl)),
97110
NewEnvironmentRestHandlerImpl,
98111
wire.Bind(new(EnvironmentRestHandler), new(*EnvironmentRestHandlerImpl)),
99112
NewEnvironmentRouterImpl,

api/helm-app/service/HelmAppService.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ import (
2929
"github.com/devtron-labs/devtron/api/helm-app/service/read"
3030
"github.com/devtron-labs/devtron/internal/constants"
3131
repository2 "github.com/devtron-labs/devtron/internal/sql/repository/dockerRegistry"
32+
bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean"
33+
"github.com/devtron-labs/devtron/pkg/cluster/environment"
3234
"github.com/go-pg/pg"
3335
"net/http"
3436
"reflect"
@@ -102,7 +104,7 @@ type HelmAppServiceImpl struct {
102104
serverDataStore *serverDataStore.ServerDataStore
103105
serverEnvConfig *serverEnvConfig.ServerEnvConfig
104106
appStoreApplicationVersionRepository appStoreDiscoverRepository.AppStoreApplicationVersionRepository
105-
environmentService cluster.EnvironmentService
107+
environmentService environment.EnvironmentService
106108
pipelineRepository pipelineConfig.PipelineRepository
107109
installedAppRepository repository.InstalledAppRepository
108110
appRepository app.AppRepository
@@ -116,7 +118,7 @@ func NewHelmAppServiceImpl(Logger *zap.SugaredLogger, clusterService cluster.Clu
116118
helmAppClient gRPC.HelmAppClient, pump connector.Pump, enforcerUtil rbac.EnforcerUtilHelm,
117119
serverDataStore *serverDataStore.ServerDataStore, serverEnvConfig *serverEnvConfig.ServerEnvConfig,
118120
appStoreApplicationVersionRepository appStoreDiscoverRepository.AppStoreApplicationVersionRepository,
119-
environmentService cluster.EnvironmentService, pipelineRepository pipelineConfig.PipelineRepository,
121+
environmentService environment.EnvironmentService, pipelineRepository pipelineConfig.PipelineRepository,
120122
installedAppRepository repository.InstalledAppRepository, appRepository app.AppRepository,
121123
clusterRepository clusterRepository.ClusterRepository, K8sUtil *k8s.K8sServiceImpl,
122124
helmReleaseConfig *HelmReleaseConfig,
@@ -584,7 +586,7 @@ func (impl *HelmAppServiceImpl) DeleteApplication(ctx context.Context, app *helm
584586
return response, nil
585587
}
586588

587-
func (impl *HelmAppServiceImpl) checkIfNsExists(namespace string, clusterBean *cluster.ClusterBean) (bool, error) {
589+
func (impl *HelmAppServiceImpl) checkIfNsExists(namespace string, clusterBean *bean2.ClusterBean) (bool, error) {
588590

589591
config := clusterBean.GetClusterConfig()
590592
v12Client, err := impl.K8sUtil.GetCoreV1Client(config)

api/k8s/capacity/k8sCapacityRestHandler.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ import (
2121
"errors"
2222
"fmt"
2323
"github.com/devtron-labs/common-lib/utils"
24+
bean2 "github.com/devtron-labs/devtron/pkg/cluster/bean"
25+
"github.com/devtron-labs/devtron/pkg/cluster/environment"
26+
"github.com/devtron-labs/devtron/pkg/cluster/rbac"
2427
"github.com/devtron-labs/devtron/pkg/k8s"
2528
"net/http"
2629
"strconv"
@@ -53,16 +56,16 @@ type K8sCapacityRestHandlerImpl struct {
5356
userService user.UserService
5457
enforcer casbin.Enforcer
5558
clusterService cluster.ClusterService
56-
environmentService cluster.EnvironmentService
57-
clusterRbacService cluster.ClusterRbacService
59+
environmentService environment.EnvironmentService
60+
clusterRbacService rbac.ClusterRbacService
5861
}
5962

6063
func NewK8sCapacityRestHandlerImpl(logger *zap.SugaredLogger,
6164
k8sCapacityService capacity.K8sCapacityService, userService user.UserService,
6265
enforcer casbin.Enforcer,
6366
clusterService cluster.ClusterService,
64-
environmentService cluster.EnvironmentService,
65-
clusterRbacService cluster.ClusterRbacService) *K8sCapacityRestHandlerImpl {
67+
environmentService environment.EnvironmentService,
68+
clusterRbacService rbac.ClusterRbacService) *K8sCapacityRestHandlerImpl {
6669
return &K8sCapacityRestHandlerImpl{
6770
logger: logger,
6871
k8sCapacityService: k8sCapacityService,
@@ -88,7 +91,7 @@ func (handler *K8sCapacityRestHandlerImpl) GetClusterListRaw(w http.ResponseWrit
8891
return
8992
}
9093
// RBAC enforcer applying
91-
var authenticatedClusters []*cluster.ClusterBean
94+
var authenticatedClusters []*bean2.ClusterBean
9295
var clusterDetailList []*bean.ClusterCapacityDetail
9396
for _, cluster := range clusters {
9497
authenticated, err := handler.clusterRbacService.CheckAuthorization(cluster.ClusterName, cluster.Id, token, userId, true)
@@ -130,7 +133,7 @@ func (handler *K8sCapacityRestHandlerImpl) GetClusterListWithDetail(w http.Respo
130133
return
131134
}
132135
// RBAC enforcer applying
133-
var authenticatedClusters []*cluster.ClusterBean
136+
var authenticatedClusters []*bean2.ClusterBean
134137
for _, cluster := range clusters {
135138
authenticated, err := handler.clusterRbacService.CheckAuthorization(cluster.ClusterName, cluster.Id, token, userId, true)
136139
if err != nil {

api/restHandler/BulkUpdateRestHandler.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"fmt"
2323
"github.com/devtron-labs/devtron/pkg/build/git/gitMaterial/repository"
2424
"github.com/devtron-labs/devtron/pkg/build/git/gitProvider"
25+
"github.com/devtron-labs/devtron/pkg/cluster/environment"
2526
"net/http"
2627
"strconv"
2728
"strings"
@@ -38,7 +39,6 @@ import (
3839
"github.com/devtron-labs/devtron/pkg/auth/user"
3940
"github.com/devtron-labs/devtron/pkg/bulkAction"
4041
"github.com/devtron-labs/devtron/pkg/chart"
41-
request "github.com/devtron-labs/devtron/pkg/cluster"
4242
"github.com/devtron-labs/devtron/pkg/pipeline"
4343
security2 "github.com/devtron-labs/devtron/pkg/security"
4444
"github.com/devtron-labs/devtron/pkg/team"
@@ -78,7 +78,7 @@ type BulkUpdateRestHandlerImpl struct {
7878
pipelineRepository pipelineConfig.PipelineRepository
7979
appWorkflowService appWorkflow.AppWorkflowService
8080
enforcerUtil rbac.EnforcerUtil
81-
envService request.EnvironmentService
81+
envService environment.EnvironmentService
8282
gitRegistryConfig gitProvider.GitRegistryConfig
8383
dockerRegistryConfig pipeline.DockerRegistryConfig
8484
cdHandelr pipeline.CdHandler
@@ -101,7 +101,7 @@ func NewBulkUpdateRestHandlerImpl(pipelineBuilder pipeline.PipelineBuilder, logg
101101
validator *validator.Validate,
102102
gitSensorClient gitSensor.Client,
103103
ciPipelineRepository pipelineConfig.CiPipelineRepository, pipelineRepository pipelineConfig.PipelineRepository,
104-
enforcerUtil rbac.EnforcerUtil, envService request.EnvironmentService,
104+
enforcerUtil rbac.EnforcerUtil, envService environment.EnvironmentService,
105105
gitRegistryConfig gitProvider.GitRegistryConfig, dockerRegistryConfig pipeline.DockerRegistryConfig,
106106
cdHandelr pipeline.CdHandler,
107107
appCloneService appClone.AppCloneService,

0 commit comments

Comments
 (0)