@@ -39,6 +39,7 @@ import (
39
39
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/bean"
40
40
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate"
41
41
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/adapter"
42
+ bean4 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/bean"
42
43
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef"
43
44
chartRefBean "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef/bean"
44
45
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/read"
@@ -370,20 +371,30 @@ func (impl *ChartServiceImpl) updateChartLocationForEnvironmentConfigs(ctx conte
370
371
impl .logger .Errorw ("error in getting all overrides for app" , "appId" , appId , "err" , err )
371
372
return err
372
373
}
373
- uniqueEnvMap := make ( map [ int ] bool )
374
- for _ , override := range envOverrides {
375
- if _ , ok := uniqueEnvMap [ override . TargetEnvironment ]; ! ok && ! override . IsOverride && override . Latest {
376
- uniqueEnvMap [ override . TargetEnvironment ] = true
377
- err := impl .deploymentConfigService .UpdateChartLocationInDeploymentConfig (tx , appId , override . TargetEnvironment , chartRefId , userId , version )
374
+
375
+ envOverriddenMap := impl . getEnvOverriddenMap ( envOverrides )
376
+ for envId , override := range envOverriddenMap {
377
+ if ! override {
378
+ err := impl .deploymentConfigService .UpdateChartLocationInDeploymentConfig (tx , appId , envId , chartRefId , userId , version )
378
379
if err != nil {
379
- impl .logger .Errorw ("error in updating chart location for env level deployment configs" , "appId" , appId , "envId" , override . TargetEnvironment , "err" , err )
380
+ impl .logger .Errorw ("error in updating chart location for env level deployment configs" , "appId" , appId , "envId" , envId , "err" , err )
380
381
return err
381
382
}
382
383
}
383
384
}
384
385
return nil
385
386
}
386
387
388
+ func (impl * ChartServiceImpl ) getEnvOverriddenMap (overrides []* bean4.EnvConfigOverride ) map [int ]bool {
389
+ envMap := make (map [int ]bool )
390
+ for _ , override := range overrides {
391
+ if override .IsOverride && override .Latest {
392
+ envMap [override .TargetEnvironment ] = true
393
+ }
394
+ }
395
+ return envMap
396
+ }
397
+
387
398
func (impl * ChartServiceImpl ) CreateChartFromEnvOverride (ctx context.Context , templateRequest bean3.TemplateRequest ) (* bean3.TemplateRequest , error ) {
388
399
_ , span := otel .Tracer ("orchestrator" ).Start (ctx , "ChartServiceImpl.CreateChartFromEnvOverride" )
389
400
defer span .End ()
0 commit comments