Skip to content

Commit 89656bf

Browse files
committed
pipeline strategy in published data req
1 parent 6f7bc6e commit 89656bf

File tree

3 files changed

+40
-2
lines changed

3 files changed

+40
-2
lines changed

pkg/configDiff/DeploymentConfigurationService.go

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
repository2 "github.com/devtron-labs/devtron/internal/sql/repository"
77
appRepository "github.com/devtron-labs/devtron/internal/sql/repository/app"
88
"github.com/devtron-labs/devtron/internal/sql/repository/chartConfig"
9+
"github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig"
910
bean3 "github.com/devtron-labs/devtron/pkg/bean"
1011
chartService "github.com/devtron-labs/devtron/pkg/chart"
1112
"github.com/devtron-labs/devtron/pkg/cluster/repository"
@@ -47,6 +48,7 @@ type DeploymentConfigurationServiceImpl struct {
4748
configMapRepository chartConfig.ConfigMapRepository
4849
deploymentConfigService pipeline.PipelineDeploymentConfigService
4950
chartRefService chartRef.ChartRefService
51+
pipelineRepository pipelineConfig.PipelineRepository
5052
}
5153

5254
func NewDeploymentConfigurationServiceImpl(logger *zap.SugaredLogger,
@@ -62,6 +64,7 @@ func NewDeploymentConfigurationServiceImpl(logger *zap.SugaredLogger,
6264
configMapRepository chartConfig.ConfigMapRepository,
6365
deploymentConfigService pipeline.PipelineDeploymentConfigService,
6466
chartRefService chartRef.ChartRefService,
67+
pipelineRepository pipelineConfig.PipelineRepository,
6568
) (*DeploymentConfigurationServiceImpl, error) {
6669
deploymentConfigurationService := &DeploymentConfigurationServiceImpl{
6770
logger: logger,
@@ -77,6 +80,7 @@ func NewDeploymentConfigurationServiceImpl(logger *zap.SugaredLogger,
7780
configMapRepository: configMapRepository,
7881
deploymentConfigService: deploymentConfigService,
7982
chartRefService: chartRefService,
83+
pipelineRepository: pipelineRepository,
8084
}
8185

8286
return deploymentConfigurationService, nil
@@ -631,11 +635,44 @@ func (impl *DeploymentConfigurationServiceImpl) getPublishedConfigData(ctx conte
631635
impl.logger.Errorw("getPublishedConfigData, error in getting publishedOnly deployment config ", "configDataQueryParams", configDataQueryParams, "err", err)
632636
return nil, err
633637
}
634-
635638
configData.WithDeploymentTemplateData(deploymentTemplateData)
639+
640+
pipelineConfigData, err := impl.getPublishedPipelineStrategyConfig(ctx, appId, envId)
641+
if err != nil {
642+
impl.logger.Errorw("getPublishedConfigData, error in getting publishedOnly pipeline strategy ", "configDataQueryParams", configDataQueryParams, "err", err)
643+
return nil, err
644+
}
645+
configData.WithPipelineConfigData(pipelineConfigData)
636646
return configData, nil
637647
}
638648

649+
func (impl *DeploymentConfigurationServiceImpl) getPublishedPipelineStrategyConfig(ctx context.Context, appId int, envId int) (*bean2.DeploymentAndCmCsConfig, error) {
650+
pipelineStrategyJson := json.RawMessage{}
651+
pipelineConfig := bean2.NewDeploymentAndCmCsConfig()
652+
if envId == 0 {
653+
return pipelineConfig, nil
654+
}
655+
pipeline, err := impl.pipelineRepository.FindActiveByAppIdAndEnvId(appId, envId)
656+
if err != nil {
657+
impl.logger.Errorw("error in FindActiveByAppIdAndEnvId", "appId", appId, "envId", envId, "err", err)
658+
return nil, err
659+
}
660+
pipelineStrategy, err := impl.deploymentConfigService.GetLatestPipelineStrategyConfig(pipeline)
661+
if err != nil {
662+
impl.logger.Errorw("error in GetLatestPipelineStrategyConfig", "pipelineId", pipeline.Id, "err", err)
663+
return nil, err
664+
}
665+
err = pipelineStrategyJson.UnmarshalJSON([]byte(pipelineStrategy.CodeEditorValue.Value))
666+
if err != nil {
667+
impl.logger.Errorw("getDeploymentTemplateForEnvLevel, error in unmarshalling string pipelineStrategyHistory data into json Raw message", "err", err)
668+
return nil, err
669+
}
670+
pipelineConfig.WithConfigData(pipelineStrategyJson).
671+
WithResourceType(bean.PipelineStrategy).
672+
WithPipelineStrategyMetadata(pipelineStrategy.PipelineTriggerType, string(pipelineStrategy.Strategy))
673+
return pipelineConfig, nil
674+
}
675+
639676
func (impl *DeploymentConfigurationServiceImpl) getBaseDeploymentTemplate(appId int) (*bean2.DeploymentTemplateMetadata, error) {
640677
deploymentTemplateData, err := impl.chartService.FindLatestChartForAppByAppId(appId)
641678
if err != nil {

pkg/pipeline/DeploymentConfigService.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import (
3939
type PipelineDeploymentConfigService interface {
4040
GetLatestDeploymentConfigurationByPipelineId(ctx context.Context, pipelineId int, userHasAdminAccess bool) (*history.AllDeploymentConfigurationDetail, error)
4141
GetMergedCMCSConfigMap(appLevelConfig, envLevelConfig string, configType repository2.ConfigType) (map[string]*bean.ConfigData, error)
42+
GetLatestPipelineStrategyConfig(pipeline *pipelineConfig.Pipeline) (*history.HistoryDetailDto, error)
4243
}
4344

4445
type PipelineDeploymentConfigServiceImpl struct {

wire_gen.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)