Skip to content

Commit 6e56f9f

Browse files
committed
Merge remote-tracking branch 'origin/develop' into chore-refactoring-git-watcher
2 parents 378f008 + 874ee33 commit 6e56f9f

23 files changed

+213
-101
lines changed

client/argocdServer/ArgoClientWrapperService.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ func (impl *ArgoClientWrapperServiceImpl) RegisterGitOpsRepoInArgoWithRetry(ctx
348348
return nil
349349
}
350350

351-
callback := func() error {
351+
callback := func(int) error {
352352
return impl.createRepoInArgoCd(ctx, grpcConfig, gitOpsRepoUrl)
353353
}
354354
argoCdErr := retryFunc.Retry(callback,

env_gen.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

env_gen.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,11 @@
126126
| Key | Type | Default Value | Description | Example | Deprecated |
127127
|-------|----------|-------------------|-------------------|-----------------------|------------------|
128128
| - | | | | | false |
129+
| 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 |
129130
| APP_SYNC_IMAGE | string |quay.io/devtron/chart-sync:1227622d-132-3775 | | | false |
130131
| APP_SYNC_JOB_RESOURCES_OBJ | string | | | | false |
131132
| APP_SYNC_SERVICE_ACCOUNT | string |chart-sync | | | false |
133+
| APP_SYNC_SHUTDOWN_WAIT_DURATION | int |120 | | | false |
132134
| ARGO_AUTO_SYNC_ENABLED | bool |true | | | false |
133135
| ARGO_GIT_COMMIT_RETRY_COUNT_ON_CONFLICT | int |3 | | | false |
134136
| ARGO_GIT_COMMIT_RETRY_DELAY_ON_CONFLICT | int |1 | | | false |

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,8 +291,8 @@ require (
291291

292292
replace (
293293
github.com/argoproj/argo-workflows/v3 v3.5.13 => github.com/devtron-labs/argo-workflows/v3 v3.5.13
294-
github.com/devtron-labs/authenticator => github.com/devtron-labs/devtron-services/authenticator v0.0.0-20250313102545-75df8a5bec13
295-
github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250313102545-75df8a5bec13
294+
github.com/devtron-labs/authenticator => github.com/devtron-labs/devtron-services/authenticator v0.0.0-20250317062447-742cf1539ee2
295+
github.com/devtron-labs/common-lib => github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250317062447-742cf1539ee2
296296
github.com/go-check/check => github.com/go-check/check v0.0.0-20180628173108-788fd7840127
297297
github.com/googleapis/gnostic => github.com/googleapis/gnostic v0.5.5
298298
k8s.io/api => k8s.io/api v0.29.7

go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -792,10 +792,10 @@ github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc h1:VRRKCwnzq
792792
github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
793793
github.com/devtron-labs/argo-workflows/v3 v3.5.13 h1:3pINq0gXOSeTw2z/vYe+j80lRpSN5Rp/8mfQORh8SmU=
794794
github.com/devtron-labs/argo-workflows/v3 v3.5.13/go.mod h1:/vqxcovDPT4zqr4DjR5v7CF8ggpY1l3TSa2CIG3jmjA=
795-
github.com/devtron-labs/devtron-services/authenticator v0.0.0-20250313102545-75df8a5bec13 h1:lXA7TfjkWmExAEyk631Ajuo3+jduEGnufe0wmzbT+hc=
796-
github.com/devtron-labs/devtron-services/authenticator v0.0.0-20250313102545-75df8a5bec13/go.mod h1:5lv4Wfj5ERhhvDGXe2IeES6qxjvUVCcohaRwKnWBMNo=
797-
github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250313102545-75df8a5bec13 h1:oL8v0vMVzRouQAUDx+LlhfDgy8K1PbGKV8L4yOqyvGI=
798-
github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250313102545-75df8a5bec13/go.mod h1:1QJJLpgJSkb5Jm9xPeKAk+kXb0QgBOOOgJj0cgYhAVA=
795+
github.com/devtron-labs/devtron-services/authenticator v0.0.0-20250317062447-742cf1539ee2 h1:7jQYKn1eLMIn7QgV13bNhueU+CbbRaSBxkWp+Dp/GTo=
796+
github.com/devtron-labs/devtron-services/authenticator v0.0.0-20250317062447-742cf1539ee2/go.mod h1:5lv4Wfj5ERhhvDGXe2IeES6qxjvUVCcohaRwKnWBMNo=
797+
github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250317062447-742cf1539ee2 h1:blntkjXNtvA1AccbAcM6TKV+WcbXNyIstSnhDtAfuI8=
798+
github.com/devtron-labs/devtron-services/common-lib v0.0.0-20250317062447-742cf1539ee2/go.mod h1:1QJJLpgJSkb5Jm9xPeKAk+kXb0QgBOOOgJj0cgYhAVA=
799799
github.com/devtron-labs/go-bitbucket v0.9.60-beta h1:VEx1jvDgdtDPS6A1uUFoaEi0l1/oLhbr+90xOwr6sDU=
800800
github.com/devtron-labs/go-bitbucket v0.9.60-beta/go.mod h1:GnuiCesvh8xyHeMCb+twm8lBR/kQzJYSKL28ZfObp1Y=
801801
github.com/devtron-labs/protos v0.0.3-0.20250323220609-ecf8a0f7305e h1:U6UdYbW8a7xn5IzFPd8cywjVVPfutGJCudjePAfL/Hs=

pkg/chartRepo/ChartRepositoryService.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ func (impl *ChartRepositoryServiceImpl) TriggerChartSyncManual(chartProviderConf
509509

510510
defaultClusterConfig := defaultClusterBean.GetClusterConfig()
511511

512-
manualAppSyncJobByteArr := manualAppSyncJobByteArr(impl.serverEnvConfig.AppSyncImage, impl.serverEnvConfig.AppSyncJobResourcesObj, impl.serverEnvConfig.AppSyncServiceAccount, chartProviderConfig, impl.serverEnvConfig.ParallelismLimitForTagProcessing)
512+
manualAppSyncJobByteArr := manualAppSyncJobByteArr(impl.serverEnvConfig.AppSyncImage, impl.serverEnvConfig.AppSyncJobResourcesObj, impl.serverEnvConfig.AppSyncServiceAccount, chartProviderConfig, impl.serverEnvConfig.ParallelismLimitForTagProcessing, impl.serverEnvConfig.AppSyncJobShutDownWaitDuration)
513513
err = impl.K8sUtil.DeleteAndCreateJob(manualAppSyncJobByteArr, impl.aCDAuthConfig.ACDConfigMapNamespace, defaultClusterConfig)
514514
if err != nil {
515515
impl.logger.Errorw("DeleteAndCreateJob err, TriggerChartSyncManual", "err", err)

pkg/chartRepo/ManualAppSyncYaml.go

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,28 +23,30 @@ import (
2323
)
2424

2525
type AppSyncConfig struct {
26-
DbConfig sql.Config
27-
DockerImage string
28-
AppSyncJobResourcesObj string
29-
ChartProviderConfig *ChartProviderConfig
30-
AppSyncServiceAccount string
26+
DbConfig sql.Config
27+
DockerImage string
28+
AppSyncJobResourcesObj string
29+
ChartProviderConfig *ChartProviderConfig
30+
AppSyncServiceAccount string
3131
ParallelismLimitForTagProcessing int
32+
AppSyncJobShutDownWaitDuration int
3233
}
3334

3435
type ChartProviderConfig struct {
3536
ChartProviderId string
3637
IsOCIRegistry bool
3738
}
3839

39-
func manualAppSyncJobByteArr(dockerImage string, appSyncJobResourcesObj string, appSyncServiceAccount string, chartProviderConfig *ChartProviderConfig, ParallelismLimitForTagProcessing int) []byte {
40+
func manualAppSyncJobByteArr(dockerImage string, appSyncJobResourcesObj string, appSyncServiceAccount string, chartProviderConfig *ChartProviderConfig, ParallelismLimitForTagProcessing, AppSyncJobShutDownWaitDuration int) []byte {
4041
cfg, _ := sql.GetConfig()
4142
configValues := AppSyncConfig{
42-
DbConfig: sql.Config{Addr: cfg.Addr, Database: cfg.Database, User: cfg.User, Password: cfg.Password},
43-
DockerImage: dockerImage,
44-
AppSyncJobResourcesObj: appSyncJobResourcesObj,
45-
ChartProviderConfig: chartProviderConfig,
46-
AppSyncServiceAccount: appSyncServiceAccount,
43+
DbConfig: sql.Config{Addr: cfg.Addr, Database: cfg.Database, User: cfg.User, Password: cfg.Password},
44+
DockerImage: dockerImage,
45+
AppSyncJobResourcesObj: appSyncJobResourcesObj,
46+
ChartProviderConfig: chartProviderConfig,
47+
AppSyncServiceAccount: appSyncServiceAccount,
4748
ParallelismLimitForTagProcessing: ParallelismLimitForTagProcessing,
49+
AppSyncJobShutDownWaitDuration: AppSyncJobShutDownWaitDuration,
4850
}
4951
temp := template.New("manualAppSyncJobByteArr")
5052
temp, _ = temp.Parse(`{"apiVersion": "batch/v1",
@@ -71,6 +73,13 @@ func manualAppSyncJobByteArr(dockerImage string, appSyncJobResourcesObj string,
7173
{
7274
"name": "chart-sync",
7375
"image": "{{.DockerImage}}",
76+
"ports": [
77+
{
78+
"containerPort": 8080,
79+
"name": "metrics",
80+
"protocol": "TCP"
81+
}
82+
],
7483
{{if .AppSyncJobResourcesObj}}
7584
"resources": {{.AppSyncJobResourcesObj}},
7685
{{end}}
@@ -102,6 +111,10 @@ func manualAppSyncJobByteArr(dockerImage string, appSyncJobResourcesObj string,
102111
{
103112
"name": "PARALLELISM_LIMIT_FOR_TAG_PROCESSING",
104113
"value": "{{.ParallelismLimitForTagProcessing}}"
114+
},
115+
{
116+
"name": "APP_SYNC_SHUTDOWN_WAIT_DURATION",
117+
"value": "{{.AppSyncJobShutDownWaitDuration}}"
105118
}
106119
]
107120
}

pkg/cluster/ClusterServiceExtended.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,8 +293,10 @@ func (impl *ClusterServiceImplExtended) CreateGrafanaDataSource(clusterBean *bea
293293
grafanaDatasourceId := env.GrafanaDatasourceId
294294
if grafanaDatasourceId == 0 {
295295
//starts grafana creation
296+
// appending envId to ensure unique datasource name for each environment (ex- env got deleted and created with same name)
297+
DataSourceName := "Prometheus-" + env.Name + "-EnvId-" + fmt.Sprint(env.Id)
296298
createDatasourceReq := grafana.CreateDatasourceRequest{
297-
Name: "Prometheus-" + env.Name,
299+
Name: DataSourceName,
298300
Type: "prometheus",
299301
Url: clusterBean.PrometheusUrl,
300302
Access: "proxy",

pkg/deployment/gitOps/git/GitOperationService.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ func (impl *GitOperationServiceImpl) PushChartToGitRepo(ctx context.Context, git
169169
commit, err := impl.gitFactory.GitOpsHelper.CommitAndPushAllChanges(newCtx, clonedDir, targetRevision, "first commit", userName, userEmailId)
170170
if err != nil {
171171
impl.logger.Errorw("error in pushing git", "err", err)
172-
callback := func() error {
172+
callback := func(int) error {
173173
commit, err = impl.updateRepoAndPushAllChanges(newCtx, clonedDir, repoUrl, targetRevision,
174174
tempReferenceTemplateDir, dir, userName, userEmailId, impl.gitFactory.GitOpsHelper)
175175
return err
@@ -263,8 +263,12 @@ func (impl *GitOperationServiceImpl) CommitValues(ctx context.Context, chartGitA
263263
return commitHash, commitTime, err
264264
}
265265
gitOpsConfig := &apiBean.GitOpsConfigDto{BitBucketWorkspaceId: bitbucketMetadata.BitBucketWorkspaceId}
266-
callback := func() error {
267-
commitHash, commitTime, err = impl.gitFactory.Client.CommitValues(newCtx, chartGitAttr, gitOpsConfig)
266+
callback := func(retriesLeft int) error {
267+
publishStatusConflictError := false
268+
if retriesLeft <= 0 {
269+
publishStatusConflictError = true
270+
}
271+
commitHash, commitTime, err = impl.gitFactory.Client.CommitValues(newCtx, chartGitAttr, gitOpsConfig, publishStatusConflictError)
268272
return err
269273
}
270274
err = retryFunc.Retry(callback, impl.isRetryableGitCommitError,

pkg/deployment/gitOps/git/GitOpsClient.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import (
3030

3131
type GitOpsClient interface {
3232
CreateRepository(ctx context.Context, config *gitOps.GitOpsConfigDto) (url string, isNew bool, isEmpty bool, detailedErrorGitOpsConfigActions DetailedErrorGitOpsConfigActions)
33-
CommitValues(ctx context.Context, config *ChartConfig, gitOpsConfig *gitOps.GitOpsConfigDto) (commitHash string, commitTime time.Time, err error)
33+
CommitValues(ctx context.Context, config *ChartConfig, gitOpsConfig *gitOps.GitOpsConfigDto, publishStatusConflictError bool) (commitHash string, commitTime time.Time, err error)
3434
GetRepoUrl(config *gitOps.GitOpsConfigDto) (repoUrl string, isRepoEmpty bool, err error)
3535
DeleteRepository(config *gitOps.GitOpsConfigDto) error
3636
CreateReadme(ctx context.Context, config *gitOps.GitOpsConfigDto) (string, error)

0 commit comments

Comments
 (0)