Skip to content

Commit 55b424e

Browse files
authored
feat: patch merge strategy for cm cs and dt (#6115)
* read service cherry pick * cherry pick envConfigRepository dependency removed * merge strategy changes * grouping override create request * merge strategy in internal request * fix envOverrideDBObj values assignment * migration fixes * main merge * fix deployment strategy * fix * fix merge strategy * adding is deletable flag in oss * fix empty merge strategy * migration synced with enterprise
1 parent d9d90ba commit 55b424e

36 files changed

+1138
-203
lines changed

api/restHandler/CoreAppRestHandler.go

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1871,8 +1871,22 @@ func (handler CoreAppRestHandlerImpl) createEnvDeploymentTemplate(appId int, use
18711871
appMetrics = *envConfigProperties.AppMetrics
18721872
}
18731873
chartEntry.GlobalOverride = string(envConfigProperties.EnvOverrideValues)
1874-
_, updatedAppMetrics, err := handler.propertiesConfigService.CreateIfRequired(chartEntry, envId, userId, envConfigProperties.ManualReviewed, models.CHARTSTATUS_SUCCESS,
1875-
true, appMetrics, envConfigProperties.Namespace, envConfigProperties.IsBasicViewLocked, envConfigProperties.CurrentViewEditor, nil)
1874+
1875+
overrideCreateRequest := &bean2.EnvironmentOverrideCreateInternalDTO{
1876+
Chart: chartEntry,
1877+
EnvironmentId: envConfigProperties.EnvironmentId,
1878+
UserId: envConfigProperties.UserId,
1879+
ManualReviewed: envConfigProperties.ManualReviewed,
1880+
ChartStatus: models.CHARTSTATUS_SUCCESS,
1881+
IsOverride: true,
1882+
IsAppMetricsEnabled: appMetrics,
1883+
IsBasicViewLocked: envConfigProperties.IsBasicViewLocked,
1884+
Namespace: envConfigProperties.Namespace,
1885+
CurrentViewEditor: envConfigProperties.CurrentViewEditor,
1886+
MergeStrategy: envConfigProperties.MergeStrategy,
1887+
}
1888+
1889+
_, updatedAppMetrics, err := handler.propertiesConfigService.CreateIfRequired(overrideCreateRequest, nil)
18761890
if err != nil {
18771891
handler.logger.Errorw("service err, CreateIfRequired", "err", err, "appId", appId, "envId", envId, "chartRefId", chartRefId)
18781892
return err

api/restHandler/app/configDiff/DeploymentConfigurationRestHandler.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ type DeploymentConfigurationRestHandler interface {
2323
ConfigAutoComplete(w http.ResponseWriter, r *http.Request)
2424
GetConfigData(w http.ResponseWriter, r *http.Request)
2525
CompareCategoryWiseConfigData(w http.ResponseWriter, r *http.Request)
26+
GetManifest(w http.ResponseWriter, r *http.Request)
2627
}
2728
type DeploymentConfigurationRestHandlerImpl struct {
2829
logger *zap.SugaredLogger
@@ -120,6 +121,48 @@ func (handler *DeploymentConfigurationRestHandlerImpl) GetConfigData(w http.Resp
120121
common.WriteJsonResp(w, nil, res, http.StatusOK)
121122
}
122123

124+
func (handler *DeploymentConfigurationRestHandlerImpl) GetManifest(w http.ResponseWriter, r *http.Request) {
125+
userId, err := handler.userAuthService.GetLoggedInUser(r)
126+
if userId == 0 || err != nil {
127+
common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized)
128+
return
129+
}
130+
131+
decoder := json.NewDecoder(r.Body)
132+
var request bean.ManifestRequest
133+
err = decoder.Decode(&request)
134+
if err != nil {
135+
handler.logger.Errorw("request err, HandleGitWebhook", "err", err, "payload", request)
136+
common.WriteJsonResp(w, err, nil, http.StatusBadRequest)
137+
return
138+
}
139+
140+
//RBAC START
141+
token := r.Header.Get(common.TokenHeaderKey)
142+
//RBAC START
143+
object := handler.enforcerUtil.GetAppRBACNameByAppId(request.AppId)
144+
ok := handler.enforcerUtil.CheckAppRbacForAppOrJob(token, object, casbin.ActionGet)
145+
if !ok {
146+
common.WriteJsonResp(w, fmt.Errorf("unauthorized user"), nil, http.StatusForbidden)
147+
return
148+
}
149+
isSuperAdmin := handler.enforcer.Enforce(token, casbin.ResourceGlobal, casbin.ActionGet, "*")
150+
151+
ctx, cancel := context.WithTimeout(r.Context(), 60*time.Second)
152+
defer cancel()
153+
ctx = util2.SetSuperAdminInContext(ctx, isSuperAdmin)
154+
155+
request.UserHasAdminAccess = handler.enforcer.Enforce(token, casbin.ResourceApplications, casbin.ActionUpdate, object)
156+
157+
res, err := handler.deploymentConfigurationService.GetManifest(ctx, &request)
158+
if err != nil {
159+
handler.logger.Errorw("service err, GetMergedValues ", "err", err)
160+
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
161+
return
162+
}
163+
common.WriteJsonResp(w, nil, res, http.StatusOK)
164+
}
165+
123166
func (handler *DeploymentConfigurationRestHandlerImpl) enforceForAppAndEnv(appName, envName string, token string, action string) bool {
124167
object := handler.enforcerUtil.GetAppRBACNameByAppName(appName)
125168
if ok := handler.enforcer.Enforce(token, casbin.ResourceApplications, action, object); !ok {

api/router/app/configDiff/DeploymentConfigRouter.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,7 @@ func (router DeploymentConfigurationRouterImpl) InitDeploymentConfigurationRoute
3131
HandlerFunc(router.deploymentGroupRestHandler.CompareCategoryWiseConfigData).
3232
Methods("GET")
3333

34+
configRouter.Path("/manifest").
35+
HandlerFunc(router.deploymentGroupRestHandler.GetManifest).
36+
Methods("POST")
3437
}

internal/sql/models/Enums.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,9 @@ const (
5353
//default value
5454
EDITOR_TYPE_UNDEFINED ChartsViewEditorType = "UNDEFINED"
5555
)
56+
57+
type MergeStrategy string
58+
59+
const (
60+
MERGE_STRATEGY_REPLACE MergeStrategy = "replace"
61+
)

internal/sql/repository/chartConfig/EnvConfigOverrideRepository.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ type EnvConfigOverride struct {
4242
IsOverride bool `sql:"is_override,notnull"`
4343
IsBasicViewLocked bool `sql:"is_basic_view_locked,notnull"`
4444
CurrentViewEditor models.ChartsViewEditorType `sql:"current_view_editor"`
45+
MergeStrategy models.MergeStrategy `sql:"merge_strategy"`
4546
sql.AuditLog
4647
ResolvedEnvOverrideValues string `sql:"-"`
4748
VariableSnapshot map[string]string `sql:"-"`
@@ -213,6 +214,7 @@ func (r EnvConfigOverrideRepositoryImpl) UpdateProperties(config *EnvConfigOverr
213214
Set("latest =?", config.Latest).
214215
Set("is_basic_view_locked = ?", config.IsBasicViewLocked).
215216
Set("current_view_editor = ?", config.CurrentViewEditor).
217+
Set("merge_strategy = ?", config.MergeStrategy).
216218
//Set("app_metrics_override =?", config.AppMetricsOverride).
217219
WherePK().
218220
Update()

pkg/app/AppListingService.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
"strconv"
2929
"strings"
3030
"time"
31-
31+
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/read"
3232
"github.com/devtron-labs/common-lib/utils/k8s/health"
3333
"github.com/devtron-labs/devtron/internal/middleware"
3434
"github.com/devtron-labs/devtron/internal/sql/repository/app"
@@ -138,24 +138,25 @@ type AppListingServiceImpl struct {
138138
pipelineOverrideRepository chartConfig.PipelineOverrideRepository
139139
environmentRepository repository2.EnvironmentRepository
140140
argoUserService argo.ArgoUserService
141-
envOverrideRepository chartConfig.EnvConfigOverrideRepository
142141
chartRepository chartRepoRepository.ChartRepository
143142
ciPipelineRepository pipelineConfig.CiPipelineRepository
144143
dockerRegistryIpsConfigService dockerRegistry.DockerRegistryIpsConfigService
145144
userRepository userrepository.UserRepository
146145
deployedAppMetricsService deployedAppMetrics.DeployedAppMetricsService
147146
ciArtifactRepository repository.CiArtifactRepository
147+
envConfigOverrideReadService read.EnvConfigOverrideService
148148
}
149149

150150
func NewAppListingServiceImpl(Logger *zap.SugaredLogger, appListingRepository repository.AppListingRepository,
151151
application application2.ServiceClient, appRepository app.AppRepository,
152152
appListingViewBuilder AppListingViewBuilder, pipelineRepository pipelineConfig.PipelineRepository,
153153
linkoutsRepository repository.LinkoutsRepository, cdWorkflowRepository pipelineConfig.CdWorkflowRepository,
154154
pipelineOverrideRepository chartConfig.PipelineOverrideRepository, environmentRepository repository2.EnvironmentRepository,
155-
argoUserService argo.ArgoUserService, envOverrideRepository chartConfig.EnvConfigOverrideRepository,
155+
argoUserService argo.ArgoUserService,
156156
chartRepository chartRepoRepository.ChartRepository, ciPipelineRepository pipelineConfig.CiPipelineRepository,
157157
dockerRegistryIpsConfigService dockerRegistry.DockerRegistryIpsConfigService, userRepository userrepository.UserRepository,
158-
deployedAppMetricsService deployedAppMetrics.DeployedAppMetricsService, ciArtifactRepository repository.CiArtifactRepository) *AppListingServiceImpl {
158+
deployedAppMetricsService deployedAppMetrics.DeployedAppMetricsService, ciArtifactRepository repository.CiArtifactRepository,
159+
envConfigOverrideReadService read.EnvConfigOverrideService) *AppListingServiceImpl {
159160
serviceImpl := &AppListingServiceImpl{
160161
Logger: Logger,
161162
appListingRepository: appListingRepository,
@@ -168,13 +169,13 @@ func NewAppListingServiceImpl(Logger *zap.SugaredLogger, appListingRepository re
168169
pipelineOverrideRepository: pipelineOverrideRepository,
169170
environmentRepository: environmentRepository,
170171
argoUserService: argoUserService,
171-
envOverrideRepository: envOverrideRepository,
172172
chartRepository: chartRepository,
173173
ciPipelineRepository: ciPipelineRepository,
174174
dockerRegistryIpsConfigService: dockerRegistryIpsConfigService,
175175
userRepository: userRepository,
176176
deployedAppMetricsService: deployedAppMetricsService,
177177
ciArtifactRepository: ciArtifactRepository,
178+
envConfigOverrideReadService: envConfigOverrideReadService,
178179
}
179180
return serviceImpl
180181
}
@@ -888,7 +889,7 @@ func (impl AppListingServiceImpl) FetchOtherEnvironment(ctx context.Context, app
888889
}
889890
for _, env := range envs {
890891
newCtx, span = otel.Tracer("envOverrideRepository").Start(newCtx, "FindLatestChartForAppByAppIdAndEnvId")
891-
envOverride, err := impl.envOverrideRepository.FindLatestChartForAppByAppIdAndEnvId(appId, env.EnvironmentId)
892+
envOverride, err := impl.envConfigOverrideReadService.FindLatestChartForAppByAppIdAndEnvId(appId, env.EnvironmentId)
892893
span.End()
893894
if err != nil && !errors2.IsNotFound(err) {
894895
impl.Logger.Errorw("error in fetching latest chart by appId and envId", "err", err, "appId", appId, "envId", env.EnvironmentId)
@@ -939,7 +940,7 @@ func (impl AppListingServiceImpl) FetchMinDetailOtherEnvironment(appId int) ([]*
939940
impl.Logger.Infow("No environments found for appId", "appId", appId)
940941
return envs, nil
941942
}
942-
overrideChartRefIds, err := impl.envOverrideRepository.FindChartRefIdsForLatestChartForAppByAppIdAndEnvIds(appId, envIds)
943+
overrideChartRefIds, err := impl.envConfigOverrideReadService.FindChartRefIdsForLatestChartForAppByAppIdAndEnvIds(appId, envIds)
943944
if err != nil && !errors2.IsNotFound(err) {
944945
impl.Logger.Errorw("error in fetching latest chartRefIds id by appId and envIds", "err", err, "appId", appId, "envId", envIds)
945946
return envs, err

pkg/app/AppService.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ import (
3535
"github.com/devtron-labs/devtron/pkg/deployment/gitOps/config"
3636
"github.com/devtron-labs/devtron/pkg/deployment/gitOps/git"
3737
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate"
38+
bean6 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/bean"
39+
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/read"
3840
bean4 "github.com/devtron-labs/devtron/pkg/deployment/trigger/devtronApps/bean"
3941
"io/ioutil"
4042
"net/url"
@@ -97,7 +99,6 @@ func GetAppServiceConfig() (*AppServiceConfig, error) {
9799
}
98100

99101
type AppServiceImpl struct {
100-
environmentConfigRepository chartConfig.EnvConfigOverrideRepository
101102
pipelineOverrideRepository chartConfig.PipelineOverrideRepository
102103
mergeUtil *MergeUtil
103104
logger *zap.SugaredLogger
@@ -127,6 +128,7 @@ type AppServiceImpl struct {
127128
deploymentTemplateService deploymentTemplate.DeploymentTemplateService
128129
appListingService AppListingService
129130
deploymentConfigService common2.DeploymentConfigService
131+
envConfigOverrideReadService read.EnvConfigOverrideService
130132
}
131133

132134
type AppService interface {
@@ -145,7 +147,6 @@ type AppService interface {
145147
}
146148

147149
func NewAppService(
148-
environmentConfigRepository chartConfig.EnvConfigOverrideRepository,
149150
pipelineOverrideRepository chartConfig.PipelineOverrideRepository,
150151
mergeUtil *MergeUtil, logger *zap.SugaredLogger,
151152
pipelineRepository pipelineConfig.PipelineRepository,
@@ -167,9 +168,9 @@ func NewAppService(
167168
gitOpsConfigReadService config.GitOpsConfigReadService, gitOperationService git.GitOperationService,
168169
deploymentTemplateService deploymentTemplate.DeploymentTemplateService,
169170
appListingService AppListingService,
170-
deploymentConfigService common2.DeploymentConfigService) *AppServiceImpl {
171+
deploymentConfigService common2.DeploymentConfigService,
172+
envConfigOverrideReadService read.EnvConfigOverrideService) *AppServiceImpl {
171173
appServiceImpl := &AppServiceImpl{
172-
environmentConfigRepository: environmentConfigRepository,
173174
mergeUtil: mergeUtil,
174175
pipelineOverrideRepository: pipelineOverrideRepository,
175176
logger: logger,
@@ -199,6 +200,7 @@ func NewAppService(
199200
deploymentTemplateService: deploymentTemplateService,
200201
appListingService: appListingService,
201202
deploymentConfigService: deploymentConfigService,
203+
envConfigOverrideReadService: envConfigOverrideReadService,
202204
}
203205
return appServiceImpl
204206
}
@@ -775,7 +777,7 @@ func (impl *AppServiceImpl) BuildCDSuccessPayload(appName string, environmentNam
775777
type ValuesOverrideResponse struct {
776778
MergedValues string
777779
ReleaseOverrideJSON string
778-
EnvOverride *chartConfig.EnvConfigOverride
780+
EnvOverride *bean6.EnvConfigOverride
779781
PipelineStrategy *chartConfig.PipelineStrategy
780782
PipelineOverride *chartConfig.PipelineOverride
781783
Artifact *repository.CiArtifact
@@ -811,7 +813,7 @@ func (impl *AppServiceImpl) GetDeployedManifestByPipelineIdAndCDWorkflowId(appId
811813
return manifestByteArray, err
812814
}
813815

814-
envConfigOverride, err := impl.environmentConfigRepository.GetByIdIncludingInactive(pipelineOverride.EnvConfigOverrideId)
816+
envConfigOverride, err := impl.envConfigOverrideReadService.GetByIdIncludingInactive(pipelineOverride.EnvConfigOverrideId)
815817
if err != nil {
816818
impl.logger.Errorw("error in fetching env config repository by appId and envId", "appId", appId, "envId", envId, "err", err)
817819
}

pkg/appClone/AppCloneService.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,7 @@ func (impl *AppCloneServiceImpl) configDataClone(cfData []*bean3.ConfigData) []*
559559
FilePermission: refdata.FilePermission,
560560
SubPath: refdata.SubPath,
561561
ESOSubPath: refdata.ESOSubPath,
562+
MergeStrategy: refdata.MergeStrategy,
562563
}
563564
copiedData = append(copiedData, data)
564565
}

pkg/bulkAction/BulkUpdateService.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import (
4141
bean5 "github.com/devtron-labs/devtron/pkg/deployment/deployedApp/bean"
4242
"github.com/devtron-labs/devtron/pkg/deployment/manifest/configMapAndSecret"
4343
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics"
44+
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/adapter"
4445
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate"
4546
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef"
4647
bean3 "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef/bean"
@@ -506,7 +507,8 @@ func (impl BulkUpdateServiceImpl) BulkUpdateDeploymentTemplate(bulkUpdatePayload
506507
return nil
507508
}
508509
chartEnv.EnvOverrideValues = modified
509-
err = impl.deploymentTemplateHistoryService.CreateDeploymentTemplateHistoryFromEnvOverrideTemplate(chartEnv, nil, isAppMetricsEnabled, 0)
510+
chartEnvDTO := adapter.EnvOverrideDBToDTO(chartEnv)
511+
err = impl.deploymentTemplateHistoryService.CreateDeploymentTemplateHistoryFromEnvOverrideTemplate(chartEnvDTO, nil, isAppMetricsEnabled, 0)
510512
if err != nil {
511513
impl.logger.Errorw("error in creating entry for env deployment template history", "err", err, "envOverride", chartEnv)
512514
}

pkg/chart/ChartService.go

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@ import (
3434
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics"
3535
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deployedAppMetrics/bean"
3636
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate"
37+
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/adapter"
3738
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef"
3839
chartRefBean "github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/chartRef/bean"
40+
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/read"
3941
"github.com/devtron-labs/devtron/pkg/sql"
4042
"github.com/devtron-labs/devtron/pkg/variables"
4143
variablesRepository "github.com/devtron-labs/devtron/pkg/variables/repository"
@@ -88,6 +90,7 @@ type ChartServiceImpl struct {
8890
chartRefService chartRef.ChartRefService
8991
gitOpsConfigReadService config.GitOpsConfigReadService
9092
deploymentConfigService common.DeploymentConfigService
93+
envConfigOverrideReadService read.EnvConfigOverrideService
9194
}
9295

9396
func NewChartServiceImpl(chartRepository chartRepoRepository.ChartRepository,
@@ -104,7 +107,8 @@ func NewChartServiceImpl(chartRepository chartRepoRepository.ChartRepository,
104107
deployedAppMetricsService deployedAppMetrics.DeployedAppMetricsService,
105108
chartRefService chartRef.ChartRefService,
106109
gitOpsConfigReadService config.GitOpsConfigReadService,
107-
deploymentConfigService common.DeploymentConfigService) *ChartServiceImpl {
110+
deploymentConfigService common.DeploymentConfigService,
111+
envConfigOverrideReadService read.EnvConfigOverrideService) *ChartServiceImpl {
108112
return &ChartServiceImpl{
109113
chartRepository: chartRepository,
110114
logger: logger,
@@ -121,6 +125,7 @@ func NewChartServiceImpl(chartRepository chartRepoRepository.ChartRepository,
121125
chartRefService: chartRefService,
122126
gitOpsConfigReadService: gitOpsConfigReadService,
123127
deploymentConfigService: deploymentConfigService,
128+
envConfigOverrideReadService: envConfigOverrideReadService,
124129
}
125130
}
126131

@@ -777,7 +782,7 @@ type IsReady struct {
777782

778783
func (impl *ChartServiceImpl) IsReadyToTrigger(appId int, envId int, pipelineId int) (IsReady, error) {
779784
isReady := IsReady{Flag: false}
780-
envOverride, err := impl.envOverrideRepository.ActiveEnvConfigOverride(appId, envId)
785+
envOverride, err := impl.envConfigOverrideReadService.ActiveEnvConfigOverride(appId, envId)
781786
if err != nil {
782787
impl.logger.Errorf("invalid state", "err", err, "envId", envId)
783788
isReady.Message = "Something went wrong"
@@ -844,7 +849,7 @@ func (impl *ChartServiceImpl) ChartRefAutocompleteForAppOrEnv(appId int, envId i
844849
}
845850

846851
if envId > 0 {
847-
envOverride, err := impl.envOverrideRepository.FindLatestChartForAppByAppIdAndEnvId(appId, envId)
852+
envOverride, err := impl.envConfigOverrideReadService.FindLatestChartForAppByAppIdAndEnvId(appId, envId)
848853
if err != nil && !errors.IsNotFound(err) {
849854
impl.logger.Errorw("error in fetching latest chart", "err", err)
850855
return chartRefResponse, err
@@ -913,7 +918,7 @@ func (impl *ChartServiceImpl) UpgradeForApp(appId int, chartRefId int, newAppOve
913918
//STEP 2 - env upgrade
914919
impl.logger.Debugw("creating env and pipeline config for app", "appId", appId)
915920
//step 1
916-
envOverrides, err := impl.envOverrideRepository.GetEnvConfigByChartId(currentChart.Id)
921+
envOverrides, err := impl.envConfigOverrideReadService.GetEnvConfigByChartId(currentChart.Id)
917922
if err != nil && envOverrides == nil {
918923
return false, err
919924
}
@@ -949,12 +954,14 @@ func (impl *ChartServiceImpl) UpgradeForApp(appId int, chartRefId int, newAppOve
949954
impl.logger.Errorw("error, GetMetricsFlagForAPipelineByAppIdAndEnvId", "err", err, "appId", appId, "envId", envOverrideNew.TargetEnvironment)
950955
return false, err
951956
}
952-
err = impl.deploymentTemplateHistoryService.CreateDeploymentTemplateHistoryFromEnvOverrideTemplate(envOverrideNew, nil, isAppMetricsEnabled, 0)
957+
envOverrideNewDTO := adapter.EnvOverrideDBToDTO(envOverrideNew)
958+
err = impl.deploymentTemplateHistoryService.CreateDeploymentTemplateHistoryFromEnvOverrideTemplate(envOverrideNewDTO, nil, isAppMetricsEnabled, 0)
953959
if err != nil {
954-
impl.logger.Errorw("error in creating entry for env deployment template history", "err", err, "envOverride", envOverrideNew)
960+
impl.logger.Errorw("error in creating entry for env deployment template history", "err", err, "envOverride", envOverrideNewDTO)
955961
return false, err
956962
}
957963
//VARIABLE_MAPPING_UPDATE
964+
//TODO ayush, check if this is needed
958965
err = impl.scopedVariableManager.ExtractAndMapVariables(envOverrideNew.EnvOverrideValues, envOverrideNew.Id, variablesRepository.EntityTypeDeploymentTemplateEnvLevel, envOverrideNew.CreatedBy, nil)
959966
if err != nil {
960967
return false, err

0 commit comments

Comments
 (0)