@@ -13,6 +13,7 @@ import (
13
13
bean2 "github.com/devtron-labs/devtron/pkg/configDiff/bean"
14
14
"github.com/devtron-labs/devtron/pkg/configDiff/helper"
15
15
"github.com/devtron-labs/devtron/pkg/configDiff/utils"
16
+ "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef"
16
17
"github.com/devtron-labs/devtron/pkg/generateManifest"
17
18
"github.com/devtron-labs/devtron/pkg/pipeline"
18
19
"github.com/devtron-labs/devtron/pkg/pipeline/adapter"
@@ -45,6 +46,7 @@ type DeploymentConfigurationServiceImpl struct {
45
46
scopedVariableManager variables.ScopedVariableCMCSManager
46
47
configMapRepository chartConfig.ConfigMapRepository
47
48
deploymentConfigService pipeline.PipelineDeploymentConfigService
49
+ chartRefService chartRef.ChartRefService
48
50
}
49
51
50
52
func NewDeploymentConfigurationServiceImpl (logger * zap.SugaredLogger ,
@@ -59,6 +61,7 @@ func NewDeploymentConfigurationServiceImpl(logger *zap.SugaredLogger,
59
61
scopedVariableManager variables.ScopedVariableCMCSManager ,
60
62
configMapRepository chartConfig.ConfigMapRepository ,
61
63
deploymentConfigService pipeline.PipelineDeploymentConfigService ,
64
+ chartRefService chartRef.ChartRefService ,
62
65
) (* DeploymentConfigurationServiceImpl , error ) {
63
66
deploymentConfigurationService := & DeploymentConfigurationServiceImpl {
64
67
logger : logger ,
@@ -73,6 +76,7 @@ func NewDeploymentConfigurationServiceImpl(logger *zap.SugaredLogger,
73
76
scopedVariableManager : scopedVariableManager ,
74
77
configMapRepository : configMapRepository ,
75
78
deploymentConfigService : deploymentConfigService ,
79
+ chartRefService : chartRefService ,
76
80
}
77
81
78
82
return deploymentConfigurationService , nil
@@ -193,7 +197,8 @@ func (impl *DeploymentConfigurationServiceImpl) getDeploymentHistoryConfig(ctx c
193
197
WithConfigData (deploymentJson ).
194
198
WithResourceType (bean .DeploymentTemplate ).
195
199
WithVariableSnapshot (map [string ]map [string ]string {bean .DeploymentTemplate .ToString (): variableSnapshotMap }).
196
- WithResolvedValue (json .RawMessage (resolvedTemplate ))
200
+ WithResolvedValue (json .RawMessage (resolvedTemplate )).
201
+ WithDeploymentConfigMetadata (deploymentHistory .TemplateVersion , deploymentHistory .IsAppMetricsEnabled )
197
202
return deploymentConfig , nil
198
203
}
199
204
@@ -209,7 +214,10 @@ func (impl *DeploymentConfigurationServiceImpl) getPipelineStrategyConfigHistory
209
214
impl .logger .Errorw ("getDeploymentTemplateForEnvLevel, error in unmarshalling string pipelineStrategyHistory data into json Raw message" , "pipelineStrategyHistoryConfig" , pipelineStrategyHistory .Config , "err" , err )
210
215
return nil , err
211
216
}
212
- pipelineConfig := bean2 .NewDeploymentAndCmCsConfig ().WithConfigData (pipelineStrategyJson ).WithResourceType (bean .PipelineStrategy )
217
+ pipelineConfig := bean2 .NewDeploymentAndCmCsConfig ().
218
+ WithConfigData (pipelineStrategyJson ).
219
+ WithResourceType (bean .PipelineStrategy ).
220
+ WithPipelineStrategyMetadata (pipelineStrategyHistory .PipelineTriggerType , string (pipelineStrategyHistory .Strategy ))
213
221
return pipelineConfig , nil
214
222
}
215
223
@@ -582,9 +590,10 @@ func (impl *DeploymentConfigurationServiceImpl) getPublishedDeploymentConfig(ctx
582
590
variableSnapShotMap [bean .DeploymentTemplate .ToString ()] = deplTemplateResp .VariableSnapshot
583
591
584
592
return bean2 .NewDeploymentAndCmCsConfig ().WithConfigData (deploymentJson ).WithResourceType (bean .DeploymentTemplate ).
585
- WithResolvedValue (json .RawMessage (deplTemplateResp .ResolvedData )).WithVariableSnapshot (variableSnapShotMap ), nil
593
+ WithResolvedValue (json .RawMessage (deplTemplateResp .ResolvedData )).WithVariableSnapshot (variableSnapShotMap ).
594
+ WithDeploymentConfigMetadata (deplTemplateResp .TemplateVersion , deplTemplateResp .IsAppMetricsEnabled ), nil
586
595
}
587
- deplJson , err := impl .getBaseDeploymentTemplate (appId )
596
+ deplMetadata , err := impl .getBaseDeploymentTemplate (appId )
588
597
if err != nil {
589
598
impl .logger .Errorw ("getting base depl. template" , "appid" , appId , "err" , err )
590
599
return nil , err
@@ -593,15 +602,16 @@ func (impl *DeploymentConfigurationServiceImpl) getPublishedDeploymentConfig(ctx
593
602
AppId : appId ,
594
603
RequestDataMode : generateManifest .Values ,
595
604
}
596
- resolvedTemplate , variableSnapshot , err := impl .deploymentTemplateService .ResolveTemplateVariables (ctx , string (deplJson ), deploymentTemplateRequest )
605
+ resolvedTemplate , variableSnapshot , err := impl .deploymentTemplateService .ResolveTemplateVariables (ctx , string (deplMetadata . DeploymentTemplateJson ), deploymentTemplateRequest )
597
606
if err != nil {
598
607
impl .logger .Errorw ("error in getting resolved data for base deployment template" , "appid" , appId , "err" , err )
599
608
return nil , err
600
609
}
601
610
602
611
variableSnapShotMap := map [string ]map [string ]string {bean .DeploymentTemplate .ToString (): variableSnapshot }
603
- return bean2 .NewDeploymentAndCmCsConfig ().WithConfigData (deplJson ).WithResourceType (bean .DeploymentTemplate ).
604
- WithResolvedValue (json .RawMessage (resolvedTemplate )).WithVariableSnapshot (variableSnapShotMap ), nil
612
+ return bean2 .NewDeploymentAndCmCsConfig ().WithConfigData (deplMetadata .DeploymentTemplateJson ).WithResourceType (bean .DeploymentTemplate ).
613
+ WithResolvedValue (json .RawMessage (resolvedTemplate )).WithVariableSnapshot (variableSnapShotMap ).
614
+ WithDeploymentConfigMetadata (deplMetadata .TemplateVersion , deplMetadata .IsAppMetricsEnabled ), nil
605
615
}
606
616
607
617
func (impl * DeploymentConfigurationServiceImpl ) getPublishedConfigData (ctx context.Context , configDataQueryParams * bean2.ConfigDataQueryParams ,
@@ -626,14 +636,22 @@ func (impl *DeploymentConfigurationServiceImpl) getPublishedConfigData(ctx conte
626
636
return configData , nil
627
637
}
628
638
629
- func (impl * DeploymentConfigurationServiceImpl ) getBaseDeploymentTemplate (appId int ) (json. RawMessage , error ) {
639
+ func (impl * DeploymentConfigurationServiceImpl ) getBaseDeploymentTemplate (appId int ) (* bean2. DeploymentTemplateMetadata , error ) {
630
640
deploymentTemplateData , err := impl .chartService .FindLatestChartForAppByAppId (appId )
631
641
if err != nil {
632
642
impl .logger .Errorw ("error in getting base deployment template for appId" , "appId" , appId , "err" , err )
633
643
return nil , err
634
644
}
635
-
636
- return deploymentTemplateData .DefaultAppOverride , nil
645
+ _ , _ , version , _ , err := impl .chartRefService .GetRefChart (deploymentTemplateData .ChartRefId )
646
+ if err != nil {
647
+ impl .logger .Errorw ("error in getting chart ref by chartRefId " , "chartRefId" , deploymentTemplateData .ChartRefId , "err" , err )
648
+ return nil , err
649
+ }
650
+ return & bean2.DeploymentTemplateMetadata {
651
+ DeploymentTemplateJson : deploymentTemplateData .DefaultAppOverride ,
652
+ IsAppMetricsEnabled : deploymentTemplateData .IsAppMetricsEnabled ,
653
+ TemplateVersion : version ,
654
+ }, nil
637
655
}
638
656
639
657
func (impl * DeploymentConfigurationServiceImpl ) getDeploymentTemplateForEnvLevel (ctx context.Context , appId , envId int ) (generateManifest.DeploymentTemplateResponse , error ) {
0 commit comments