Skip to content

sync: Release candidate v0.32.0 #6479

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 44 commits into from
Mar 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
f53b58a
ci pipeline get change
kartik-579 Feb 6, 2025
bf2b3c5
ci pipeline get change
kartik-579 Feb 6, 2025
08570eb
GetCiPipelineByIdWithDefaultTag change
kartik-579 Feb 7, 2025
cd26b82
deployment template get response
kartik-579 Feb 8, 2025
b0342db
cd pipeline get response change
kartik-579 Feb 8, 2025
cc2481c
oss etn change
kartik-579 Mar 6, 2025
f9e40a2
oss ent change
kartik-579 Mar 7, 2025
20e44d1
prom client in chart-sync
prkhrkat Mar 11, 2025
e048bd6
fix in yaml
prkhrkat Mar 12, 2025
ee3565f
APP_SYNC_SHUTDOWN_WAIT_DURATION env
prkhrkat Mar 16, 2025
b8e164a
APP_SYNC_SHUTDOWN_WAIT_DURATION env
prkhrkat Mar 16, 2025
dae4efc
vendor update in develop
vikramdevtron Mar 17, 2025
81e2abf
Merge pull request #6450 from devtron-labs/main-sync-develop-17mar
vikramdevtron Mar 17, 2025
a2b6047
fix: incorrect gitops metrics (#6444)
iamayushm Mar 17, 2025
eb92019
Merge branch 'develop' into app-template-oss-ent
kartik-579 Mar 17, 2025
04e5177
oss ent change
kartik-579 Mar 17, 2025
f87ac78
Merge branch 'develop' into prom-chart-sync
prkhrkat Mar 18, 2025
04c62d0
code cleaning
prkhrkat Mar 18, 2025
ec4eb2c
Merge remote-tracking branch 'origin/prom-chart-sync' into prom-chart…
prkhrkat Mar 18, 2025
f1559dd
Merge pull request #6442 from devtron-labs/prom-chart-sync
prkhrkat Mar 18, 2025
36cf273
name suggestion util
kartik-579 Mar 19, 2025
619006e
added supoort for preserve mode in update repo api
Ash-exp Mar 20, 2025
6e2047e
fix in CreateGrafanaDataSource
prkhrkat Mar 21, 2025
45fc38c
fix in CreateGrafanaDataSource
prkhrkat Mar 21, 2025
1e411fe
feat: Made ng labels env driven (#6438)
abhibhaw Mar 21, 2025
2493f2e
Merge branch 'develop' into grafana-fix
prkhrkat Mar 21, 2025
eb7868a
Merge pull request #6463 from devtron-labs/grafana-fix
prkhrkat Mar 21, 2025
d4d5fdb
updated timeout for git material save/update
Ash-exp Mar 23, 2025
bfe1ec7
fix: compile issue
Ash-exp Mar 23, 2025
378f008
updated protos version
Ash-exp Mar 23, 2025
8625d14
misc: Merge remote-tracking branch 'main' into develop
Ash-exp Mar 24, 2025
874ee33
Merge pull request #6467 from devtron-labs/develop-main-sync-24-mar
Ash-exp Mar 24, 2025
6e56f9f
Merge remote-tracking branch 'origin/develop' into chore-refactoring-…
Ash-exp Mar 24, 2025
1c29859
Merge pull request #6462 from devtron-labs/chore-refactoring-git-watcher
Ash-exp Mar 24, 2025
12e06dd
Merge branch 'develop' into app-template-oss-ent
kartik-579 Mar 24, 2025
28a659e
Merge pull request #6369 from devtron-labs/app-template-oss-ent
kartik-579 Mar 24, 2025
486e30d
added sql scripts
kartik-579 Mar 24, 2025
26c7555
Merge pull request #6469 from devtron-labs/sql-no-update-24mar
kartik-579 Mar 24, 2025
f33304b
main sync and vendor update
vikramdevtron Mar 24, 2025
952a12d
Merge pull request #6471 from devtron-labs/main-sync-develop-24mar
vikramdevtron Mar 24, 2025
934a351
sql no update
kartik-579 Mar 24, 2025
ccd40b3
Merge pull request #6472 from devtron-labs/sql-update-v32
kartik-579 Mar 24, 2025
83c1f82
main sync rc
vikramdevtron Mar 27, 2025
5f69340
Merge pull request #6478 from devtron-labs/main-sync-rc32
vikramdevtron Mar 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -565,15 +565,12 @@ func (handler *PipelineConfigRestHandlerImpl) GetCiPipeline(w http.ResponseWrite
common.WriteJsonResp(w, fmt.Errorf("unauthorized user"), "Unauthorized User", http.StatusForbidden)
return
}
ciConf, err := handler.pipelineBuilder.GetCiPipeline(appId)
ciConf, err := handler.pipelineBuilder.GetCiPipelineRespResolved(appId)
if err != nil {
handler.Logger.Errorw("service err, GetCiPipeline", "err", err, "appId", appId)
handler.Logger.Errorw("service err, GetCiPipelineRespResolved", "appId", appId, "err", err)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
if ciConf == nil || ciConf.Id == 0 {
err = &util.ApiError{Code: "404", HttpStatusCode: 200, UserMessage: "no data found"}
}
common.WriteJsonResp(w, err, ciConf, http.StatusOK)
}

Expand Down Expand Up @@ -1286,13 +1283,12 @@ func (handler *PipelineConfigRestHandlerImpl) GetCIPipelineById(w http.ResponseW
}
}

ciPipeline, err := handler.pipelineBuilder.GetCiPipelineById(pipelineId)
ciPipeline, err := handler.pipelineBuilder.GetCiPipelineByIdWithDefaultTag(pipelineId)
if err != nil {
handler.Logger.Infow("service error, GetCIPipelineById", "err", err, "appId", appId, "pipelineId", pipelineId)
handler.Logger.Infow("service error, GetCiPipelineByIdWithDefaultTag", "err", err, "appId", appId, "pipelineId", pipelineId)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
ciPipeline.DefaultTag = []string{"{git_hash}", "{ci_pipeline_id}", "{global_counter}"}
common.WriteJsonResp(w, err, ciPipeline, http.StatusOK)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ import (
"github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin"
"github.com/devtron-labs/devtron/pkg/bean"
"github.com/devtron-labs/devtron/pkg/generateManifest"
"github.com/devtron-labs/devtron/pkg/pipeline"
pipelineBean "github.com/devtron-labs/devtron/pkg/pipeline/bean"
resourceGroup2 "github.com/devtron-labs/devtron/pkg/resourceGroup"
"github.com/devtron-labs/devtron/pkg/resourceQualifiers"
Expand Down Expand Up @@ -718,48 +717,22 @@ func (handler *PipelineConfigRestHandlerImpl) EnvConfigOverrideCreate(w http.Res
return
}

createResp, err := handler.propertiesConfigService.CreateEnvironmentProperties(appId, &envConfigProperties)
if err != nil {
if err.Error() == bean4.NOCHARTEXIST {
ctx, cancel := context.WithCancel(r.Context())
if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) {
select {
case <-done:
case <-closed:
cancel()
}
}(ctx.Done(), cn.CloseNotify())
}
appMetrics := false
if envConfigProperties.AppMetrics != nil {
appMetrics = *envConfigProperties.AppMetrics
}
templateRequest := bean3.TemplateRequest{
AppId: appId,
ChartRefId: envConfigProperties.ChartRefId,
ValuesOverride: []byte("{}"),
UserId: userId,
IsAppMetricsEnabled: appMetrics,
ctx, cancel := context.WithCancel(r.Context())
if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) {
select {
case <-done:
case <-closed:
cancel()
}
}(ctx.Done(), cn.CloseNotify())
}

_, err = handler.chartService.CreateChartFromEnvOverride(templateRequest, ctx)
if err != nil {
handler.Logger.Errorw("service err, EnvConfigOverrideCreate", "err", err, "payload", envConfigProperties)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
createResp, err = handler.propertiesConfigService.CreateEnvironmentProperties(appId, &envConfigProperties)
if err != nil {
handler.Logger.Errorw("service err, EnvConfigOverrideCreate", "err", err, "payload", envConfigProperties)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
} else {
handler.Logger.Errorw("service err, EnvConfigOverrideCreate", "err", err, "payload", envConfigProperties)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
createResp, err := handler.propertiesConfigService.CreateEnvironmentPropertiesAndBaseIfNeeded(ctx, appId, &envConfigProperties)
if err != nil {
handler.Logger.Errorw("service err, CreateEnvironmentPropertiesAndBaseIfNeeded", "payload", envConfigProperties, "err", err)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
common.WriteJsonResp(w, err, createResp, http.StatusOK)
}
Expand Down Expand Up @@ -1037,77 +1010,12 @@ func (handler *PipelineConfigRestHandlerImpl) GetDeploymentTemplate(w http.Respo
common.WriteJsonResp(w, fmt.Errorf("unauthorized user"), "Unauthorized User", http.StatusForbidden)
return
}

appConfigResponse := make(map[string]interface{})
appConfigResponse["globalConfig"] = nil

err = handler.chartRefService.CheckChartExists(chartRefId)
appConfigResponse, err := handler.chartService.GetDeploymentTemplateDataByAppIdAndCharRefId(appId, chartRefId)
if err != nil {
handler.Logger.Errorw("refChartDir Not Found err, JsonSchemaExtractFromFile", err)
common.WriteJsonResp(w, err, nil, http.StatusForbidden)
return
}

schema, readme, err := handler.chartRefService.GetSchemaAndReadmeForTemplateByChartRefId(chartRefId)
if err != nil {
handler.Logger.Errorw("err in getting schema and readme, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
}

template, err := handler.chartReadService.FindLatestChartForAppByAppId(appId)
if err != nil && pg.ErrNoRows != err {
handler.Logger.Errorw("service err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}

if pg.ErrNoRows == err {
appOverride, _, err := handler.chartRefService.GetAppOverrideForDefaultTemplate(chartRefId)
if err != nil {
handler.Logger.Errorw("service err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
appOverride["schema"] = json.RawMessage(schema)
appOverride["readme"] = string(readme)
mapB, err := json.Marshal(appOverride)
if err != nil {
handler.Logger.Errorw("marshal err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
return
}
appConfigResponse["globalConfig"] = json.RawMessage(mapB)
} else {
if template.ChartRefId != chartRefId {
templateRequested, err := handler.chartService.GetByAppIdAndChartRefId(appId, chartRefId)
if err != nil && err != pg.ErrNoRows {
handler.Logger.Errorw("service err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}

if pg.ErrNoRows == err {
template.ChartRefId = chartRefId
template.Id = 0
template.Latest = false
} else {
template.ChartRefId = templateRequested.ChartRefId
template.Id = templateRequested.Id
template.ChartRepositoryId = templateRequested.ChartRepositoryId
template.RefChartTemplate = templateRequested.RefChartTemplate
template.RefChartTemplateVersion = templateRequested.RefChartTemplateVersion
template.Latest = templateRequested.Latest
}
}
template.Schema = schema
template.Readme = string(readme)
bytes, err := json.Marshal(template)
if err != nil {
handler.Logger.Errorw("marshal err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
return
}
appOverride := json.RawMessage(bytes)
appConfigResponse["globalConfig"] = appOverride
}

common.WriteJsonResp(w, nil, appConfigResponse, http.StatusOK)
}

Expand Down Expand Up @@ -1992,15 +1900,9 @@ func (handler *PipelineConfigRestHandlerImpl) GetCdPipelineById(w http.ResponseW
return
}

cdPipeline, err := handler.pipelineBuilder.GetCdPipelineById(pipelineId)
if err != nil {
handler.Logger.Errorw("service err, GetCdPipelineById", "err", err, "appId", appId, "pipelineId", pipelineId)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
cdResp, err := pipeline.CreatePreAndPostStageResponse(cdPipeline, version)
cdResp, err := handler.pipelineBuilder.GetCdPipelineByIdResolved(pipelineId, version)
if err != nil {
handler.Logger.Errorw("service err, CheckForVersionAndCreatePreAndPostStagePayload", "err", err, "appId", appId, "pipelineId", pipelineId)
handler.Logger.Errorw("service err, GetCdPipelineByIdResolved", "appId", appId, "pipelineId", pipelineId, "err", err)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import (
security2 "github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning"
"github.com/devtron-labs/devtron/pkg/policyGovernance/security/imageScanning/read"
read3 "github.com/devtron-labs/devtron/pkg/team/read"
"github.com/devtron-labs/devtron/util/beHelper"
"io"
"net/http"
"strconv"
Expand All @@ -60,7 +61,6 @@ import (
"github.com/devtron-labs/devtron/pkg/bean"
"github.com/devtron-labs/devtron/pkg/pipeline"
"github.com/devtron-labs/devtron/pkg/team"
util2 "github.com/devtron-labs/devtron/util"
"github.com/devtron-labs/devtron/util/rbac"
"github.com/gorilla/mux"
"go.uber.org/zap"
Expand Down Expand Up @@ -663,7 +663,7 @@ func (handler *PipelineConfigRestHandlerImpl) PipelineNameSuggestion(w http.Resp
common.WriteJsonResp(w, err, nil, http.StatusBadRequest)
return
}
suggestedName := fmt.Sprintf("%s-%d-%s", pType, appId, util2.Generate(4))
suggestedName := beHelper.GetPipelineNameByPipelineType(pType, appId)
resourceName := handler.enforcerUtil.GetAppRBACName(app.AppName)
ok := handler.enforcerUtil.CheckAppRbacForAppOrJob(token, resourceName, casbin.ActionGet)
if !ok {
Expand Down
40 changes: 9 additions & 31 deletions api/restHandler/app/workflow/AppWorkflowRestHandler.go
Original file line number Diff line number Diff line change
Expand Up @@ -188,13 +188,6 @@ func (impl AppWorkflowRestHandlerImpl) FindAppWorkflow(w http.ResponseWriter, r
return
}
token := r.Header.Get("token")
app, err := impl.pipelineBuilder.GetApp(appId)
if err != nil {
impl.Logger.Errorw("bad request", "err", err)
common.WriteJsonResp(w, err, nil, http.StatusBadRequest)
return
}

v := r.URL.Query()
envIdsString := v.Get("envIds")
envIds := make([]int, 0)
Expand All @@ -207,16 +200,15 @@ func (impl AppWorkflowRestHandlerImpl) FindAppWorkflow(w http.ResponseWriter, r
}

// RBAC enforcer applying
object := impl.enforcerUtil.GetAppRBACName(app.AppName)
object := impl.enforcerUtil.GetAppRBACNameByAppId(appId)
impl.Logger.Debugw("rbac object for other environment list", "object", object)
ok := impl.enforcerUtil.CheckAppRbacForAppOrJob(token, object, casbin.ActionGet)
if !ok {
common.WriteJsonResp(w, err, "unauthorized user", http.StatusForbidden)
return
}
// RBAC enforcer Ends
workflows := make(map[string]interface{})
workflowsList, err := impl.appWorkflowService.FindAppWorkflows(appId)
//RBAC enforcer Ends
workflowsListResp, appType, err := impl.appWorkflowService.FindAppWorkflowsListResolvedResp(appId)
if err != nil {
impl.Logger.Errorw("error in fetching workflows for app", "err", err)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
Expand All @@ -231,7 +223,7 @@ func (impl AppWorkflowRestHandlerImpl) FindAppWorkflow(w http.ResponseWriter, r
return
}
triggerViewPayload := &bean2.TriggerViewWorkflowConfig{
Workflows: workflowsList,
Workflows: workflowsListResp.Workflows,
CdPipelines: cdPipelineWfData,
}
queryParam := bean2.NewWorkflowsFilterQuery().WithEnvIds(envIds)
Expand All @@ -242,12 +234,10 @@ func (impl AppWorkflowRestHandlerImpl) FindAppWorkflow(w http.ResponseWriter, r
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
workflowsList = response.Workflows
workflowsListResp.Workflows = response.Workflows
}

workflows["appId"] = app.Id
workflows["appName"] = app.AppName
if len(workflowsList) > 0 && app.AppType == helper.Job {
if len(workflowsListResp.Workflows) > 0 && appType == helper.Job {
// RBAC

var workflowNames []string
Expand All @@ -256,15 +246,15 @@ func (impl AppWorkflowRestHandlerImpl) FindAppWorkflow(w http.ResponseWriter, r
var rbacObjects []string
workNameObjectMap := make(map[string]bean2.AppWorkflowDto)

for _, workflow := range workflowsList {
for _, workflow := range workflowsListResp.Workflows {
workflowNames = append(workflowNames, workflow.Name)
workflowIds = append(workflowIds, workflow.Id)
}
workflowIdToObjectMap := impl.enforcerUtil.GetAllWorkflowRBACObjectsByAppId(appId, workflowNames, workflowIds)
itr := 0
for _, val := range workflowIdToObjectMap {
rbacObjects = append(rbacObjects, val)
workNameObjectMap[val] = workflowsList[itr]
workNameObjectMap[val] = workflowsListResp.Workflows[itr]
itr++
}

Expand All @@ -277,20 +267,8 @@ func (impl AppWorkflowRestHandlerImpl) FindAppWorkflow(w http.ResponseWriter, r
if len(updatedWorkflowList) == 0 {
updatedWorkflowList = []bean2.AppWorkflowDto{}
}
workflows[bean3.Workflows] = updatedWorkflowList
} else if len(workflowsList) > 0 {
workflows[bean3.Workflows] = workflowsList
} else {
workflows[bean3.Workflows] = []bean2.AppWorkflowDto{}
}
isAppLevelGitOpsConfigured, err := impl.chartService.IsGitOpsRepoConfiguredForDevtronApp(appId)
if err != nil && !util.IsErrNoRows(err) {
impl.Logger.Errorw("service err, IsGitOpsRepoConfiguredForDevtronApp", "appId", appId, "envIds", envIds, "err", err)
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
return
}
workflows["isGitOpsRepoNotConfigured"] = !isAppLevelGitOpsConfigured
common.WriteJsonResp(w, nil, workflows, http.StatusOK)
common.WriteJsonResp(w, nil, workflowsListResp, http.StatusOK)
}

func (impl AppWorkflowRestHandlerImpl) FindAllWorkflows(w http.ResponseWriter, r *http.Request) {
Expand Down
2 changes: 1 addition & 1 deletion client/argocdServer/ArgoClientWrapperService.go
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ func (impl *ArgoClientWrapperServiceImpl) RegisterGitOpsRepoInArgoWithRetry(ctx
return nil
}

callback := func() error {
callback := func(int) error {
return impl.createRepoInArgoCd(ctx, grpcConfig, gitOpsRepoUrl)
}
argoCdErr := retryFunc.Retry(callback,
Expand Down
2 changes: 2 additions & 0 deletions client/gitSensor/GitSensorGrpcClient.go
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ func (client *GrpcApiClientImpl) AddRepo(ctx context.Context, materials []*GitMa
Deleted: item.Deleted,
FilterPattern: item.FilterPattern,
CloningMode: item.CloningMode,
CreateBackup: item.CreateBackup,
})
}
}
Expand Down Expand Up @@ -191,6 +192,7 @@ func (client *GrpcApiClientImpl) UpdateRepo(ctx context.Context, material *GitMa
Deleted: material.Deleted,
FilterPattern: material.FilterPattern,
CloningMode: material.CloningMode,
CreateBackup: material.CreateBackup,
}

_, err = serviceClient.UpdateRepo(ctx, mappedMaterial)
Expand Down
1 change: 1 addition & 0 deletions client/gitSensor/GitSensorRestClient.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ type GitMaterial struct {
FetchSubmodules bool
FilterPattern []string
CloningMode string
CreateBackup bool
}
type GitProvider struct {
Id int
Expand Down
2 changes: 1 addition & 1 deletion cmd/external-app/wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion env_gen.json

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions env_gen.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,9 +126,11 @@
| Key | Type | Default Value | Description | Example | Deprecated |
|-------|----------|-------------------|-------------------|-----------------------|------------------|
| - | | | | | false |
| ADDITIONAL_NODE_GROUP_LABELS | | | Add comma separated list of additional node group labels to default labels | karpenter.sh/nodepool,cloud.google.com/gke-nodepool | false |
| APP_SYNC_IMAGE | string |quay.io/devtron/chart-sync:1227622d-132-3775 | | | false |
| APP_SYNC_JOB_RESOURCES_OBJ | string | | | | false |
| APP_SYNC_SERVICE_ACCOUNT | string |chart-sync | | | false |
| APP_SYNC_SHUTDOWN_WAIT_DURATION | int |120 | | | false |
| ARGO_AUTO_SYNC_ENABLED | bool |true | | | false |
| ARGO_GIT_COMMIT_RETRY_COUNT_ON_CONFLICT | int |3 | | | false |
| ARGO_GIT_COMMIT_RETRY_DELAY_ON_CONFLICT | int |1 | | | false |
Expand Down
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ require (
github.com/devtron-labs/authenticator v0.4.35-0.20240809073103-6e11da8083f8
github.com/devtron-labs/common-lib v0.18.1-0.20241001061923-eda545dc839e
github.com/devtron-labs/go-bitbucket v0.9.60-beta
github.com/devtron-labs/protos v0.0.3-0.20240802105333-92ee9bb85d80
github.com/devtron-labs/protos v0.0.3-0.20250323220609-ecf8a0f7305e
github.com/evanphx/json-patch v5.9.0+incompatible
github.com/gammazero/workerpool v1.1.3
github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32
Expand Down Expand Up @@ -291,8 +291,8 @@ require (

replace (
github.com/argoproj/argo-workflows/v3 v3.5.13 => github.com/devtron-labs/argo-workflows/v3 v3.5.13
github.com/devtron-labs/authenticator => github.com/devtron-labs/devtron-services/authenticator v0.0.0-20250313102545-75df8a5bec13
github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250313102545-75df8a5bec13
github.com/devtron-labs/authenticator => github.com/devtron-labs/devtron-services/authenticator v0.0.0-20250324113450-bdbee9063174
github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250324113450-bdbee9063174
github.com/go-check/check => github.com/go-check/check v0.0.0-20180628173108-788fd7840127
github.com/googleapis/gnostic => github.com/googleapis/gnostic v0.5.5
k8s.io/api => k8s.io/api v0.29.7
Expand Down
Loading