Skip to content

Commit 58fbe74

Browse files
Merge pull request #6003 from devtron-labs/config-deployment-history-fix
fix: Config deployment history fix
2 parents 0bb4701 + 2201fdb commit 58fbe74

File tree

3 files changed

+52
-2
lines changed

3 files changed

+52
-2
lines changed

pkg/configDiff/DeploymentConfigurationService.go

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,12 @@ func (impl *DeploymentConfigurationServiceImpl) getCmCsConfigHistory(ctx context
327327
return nil, err
328328
}
329329
resolvedConfigDataReq := &bean.ConfigDataRequest{ConfigData: resolvedConfigDataList}
330-
resolvedConfigDataStringJson, err := utils.ConvertToJsonRawMessage(resolvedConfigDataReq)
330+
resolvedConfigDataString, err := utils.ConvertToString(resolvedConfigDataReq)
331+
if err != nil {
332+
impl.logger.Errorw("getCmCsPublishedConfigResponse, error in converting config data to json raw message", "pipelineId", configDataQueryParams.PipelineId, "wfrId", configDataQueryParams.WfrId, "err", err)
333+
return nil, err
334+
}
335+
resolvedConfigDataStringJson, err := utils.ConvertToJsonRawMessage(resolvedConfigDataString)
331336
if err != nil {
332337
impl.logger.Errorw("getCmCsPublishedConfigResponse, error in ConvertToJsonRawMessage for resolvedConfigDataString", "pipelineId", configDataQueryParams.PipelineId, "wfrId", configDataQueryParams.WfrId, "err", err)
333338
return nil, err
@@ -477,6 +482,13 @@ func (impl *DeploymentConfigurationServiceImpl) getConfigDataForAppConfiguration
477482
configDataDto := &bean2.DeploymentAndCmCsConfigDto{}
478483
var err error
479484
switch configDataQueryParams.ConfigType {
485+
case bean2.DefaultVersion.ToString():
486+
configDataDto, err = impl.getDeploymentAndCmCsConfigDataForDefaultVersion(ctx, configDataQueryParams)
487+
if err != nil {
488+
impl.logger.Errorw("GetAllConfigData, error in config data for Default version", "configDataQueryParams", configDataQueryParams, "err", err)
489+
return nil, err
490+
}
491+
//no cm or cs to send for default versions
480492
case bean2.PreviousDeployments.ToString():
481493
configDataDto, err = impl.getDeploymentAndCmCsConfigDataForPreviousDeployments(ctx, configDataQueryParams, appId, envId, userHasAdminAccess)
482494
if err != nil {
@@ -493,6 +505,38 @@ func (impl *DeploymentConfigurationServiceImpl) getConfigDataForAppConfiguration
493505
return configDataDto, nil
494506
}
495507

508+
func (impl *DeploymentConfigurationServiceImpl) getDeploymentsConfigForDefaultVersion(ctx context.Context, chartRefId int) (json.RawMessage, error) {
509+
deploymentTemplateRequest := generateManifest.DeploymentTemplateRequest{
510+
ChartRefId: chartRefId,
511+
RequestDataMode: generateManifest.Values,
512+
Type: repository2.DefaultVersions,
513+
}
514+
deploymentTemplateResponse, err := impl.deploymentTemplateService.GetDeploymentTemplate(ctx, deploymentTemplateRequest)
515+
if err != nil {
516+
impl.logger.Errorw("getDeploymentTemplateForEnvLevel, error in getting deployment template for ", "deploymentTemplateRequest", deploymentTemplateRequest, "err", err)
517+
return nil, err
518+
}
519+
deploymentJson := json.RawMessage{}
520+
err = deploymentJson.UnmarshalJSON([]byte(deploymentTemplateResponse.Data))
521+
if err != nil {
522+
impl.logger.Errorw("getDeploymentTemplateForEnvLevel, error in unmarshalling string deploymentTemplateResponse data into json Raw message", "data", deploymentTemplateResponse.Data, "err", err)
523+
return nil, err
524+
}
525+
return deploymentJson, nil
526+
}
527+
528+
func (impl *DeploymentConfigurationServiceImpl) getDeploymentAndCmCsConfigDataForDefaultVersion(ctx context.Context, configDataQueryParams *bean2.ConfigDataQueryParams) (*bean2.DeploymentAndCmCsConfigDto, error) {
529+
configData := &bean2.DeploymentAndCmCsConfigDto{}
530+
deploymentTemplateJsonData, err := impl.getDeploymentsConfigForDefaultVersion(ctx, configDataQueryParams.IdentifierId)
531+
if err != nil {
532+
impl.logger.Errorw("GetAllConfigData, error in getting deployment config for default version", "chartRefId", configDataQueryParams.IdentifierId, "err", err)
533+
return nil, err
534+
}
535+
deploymentConfig := bean2.NewDeploymentAndCmCsConfig().WithConfigData(deploymentTemplateJsonData).WithResourceType(bean.DeploymentTemplate)
536+
configData.WithDeploymentTemplateData(deploymentConfig)
537+
return configData, nil
538+
}
539+
496540
func (impl *DeploymentConfigurationServiceImpl) getCmCsEditDataForPublishedOnly(ctx context.Context, configDataQueryParams *bean2.ConfigDataQueryParams, envId,
497541
appId int, clusterId int, userHasAdminAccess bool, systemMetadata *resourceQualifiers.SystemMetadata) (*bean2.DeploymentAndCmCsConfigDto, error) {
498542
configDataDto := &bean2.DeploymentAndCmCsConfigDto{}

pkg/configDiff/bean/bean.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ type ConfigState string
1414
const (
1515
PublishedConfigState ConfigState = "PublishedOnly"
1616
PreviousDeployments ConfigState = "PreviousDeployments"
17+
DefaultVersion ConfigState = "DefaultVersion"
1718
)
1819

1920
func (r ConfigState) ToString() string {

pkg/pipeline/history/ConfigMapHistoryService.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,12 @@ func (impl *ConfigMapHistoryServiceImpl) getResolvedConfigData(ctx context.Conte
763763
return nil, err
764764
}
765765
resolvedConfigDataReq := &bean3.ConfigDataRequest{ConfigData: resolvedConfigDataList}
766-
resolvedConfigDataStringJson, err := utils.ConvertToJsonRawMessage(resolvedConfigDataReq)
766+
resolvedConfigDataString, err := utils.ConvertToString(resolvedConfigDataReq)
767+
if err != nil {
768+
impl.logger.Errorw("getCmCsPublishedConfigResponse, error in converting config data to json raw message", "pipelineId", pipelineId, "deployedOn", deployedOn, "err", err)
769+
return nil, err
770+
}
771+
resolvedConfigDataStringJson, err := utils.ConvertToJsonRawMessage(resolvedConfigDataString)
767772
if err != nil {
768773
impl.logger.Errorw("getCmCsPublishedConfigResponse, error in ConvertToJsonRawMessage for resolvedJson", "resolvedJson", resolvedConfigDataStringJson, "err", err)
769774
return nil, err

0 commit comments

Comments
 (0)