Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmd/external-app/wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion env_gen.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions env_gen.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@
| DEX_CSTOREKEY | string | | | | false |
| DEX_JWTKEY | string | | | | false |
| DEX_RURL | string |http://127.0.0.1:8080/callback | | | false |
| DEX_SCOPES | | | | | false |
| DEX_SECRET | string | | | | false |
| DEX_URL | string | | | | false |
| ECR_REPO_NAME_PREFIX | string |test/ | | | false |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,11 @@ type EnvConfigOverrideRepository interface {
UpdateWithTxn(envConfigOverride *EnvConfigOverride, tx *pg.Tx) (*EnvConfigOverride, error)

GetByAppIdEnvIdAndChartRefId(appId, envId int, chartRefId int) (*EnvConfigOverride, error)
GetAllOverridesForApp(appId int) ([]EnvConfigOverride, error)
// GetAllOverridesForApp will return all overrides []*EnvConfigOverride for an app by appId
// Note:
// EnvConfigOverride.Chart is not populated,
// as the chartRepoRepository.Chart contains the reference chart(in bytes).
GetAllOverridesForApp(appId int) ([]*EnvConfigOverride, error)
}

type EnvConfigOverrideRepositoryImpl struct {
Expand Down Expand Up @@ -360,13 +364,19 @@ func (r EnvConfigOverrideRepositoryImpl) GetByAppIdEnvIdAndChartRefId(appId, env
return eco, err
}

func (r EnvConfigOverrideRepositoryImpl) GetAllOverridesForApp(appId int) ([]EnvConfigOverride, error) {
var eco []EnvConfigOverride
// GetAllOverridesForApp will return all overrides EnvConfigOverride for an app by appId
// Note:
// EnvConfigOverride.Chart is not populated,
// as the chartRepoRepository.Chart contains the reference chart(in bytes).
func (r EnvConfigOverrideRepositoryImpl) GetAllOverridesForApp(appId int) ([]*EnvConfigOverride, error) {
var eco []*EnvConfigOverride
err := r.dbConnection.
Model(&eco).
Column("env_config_override.*", "Chart").
Column("env_config_override.*").
Join("INNER JOIN charts").
JoinOn("charts.id = env_config_override.chart_id").
Where("env_config_override.active = ?", true).
Where("Chart.app_id =? ", appId).
Where("charts.app_id = ?", appId).
Select()
return eco, err
}
10 changes: 6 additions & 4 deletions pkg/chart/ChartService.go
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ func (impl *ChartServiceImpl) Create(templateRequest bean3.TemplateRequest, ctx
return nil, err
}

err = impl.UpdateChartLocationForEnvironmentConfigs(templateRequest.AppId, chart.ChartRefId, templateRequest.UserId, version)
err = impl.updateChartLocationForEnvironmentConfigs(newCtx, templateRequest.AppId, chart.ChartRefId, templateRequest.UserId, version)
if err != nil {
impl.logger.Errorw("error in updating chart location in env overrides", "appId", templateRequest.AppId, "err", err)
return nil, err
Expand Down Expand Up @@ -350,8 +350,10 @@ func (impl *ChartServiceImpl) Create(templateRequest bean3.TemplateRequest, ctx
return chartVal, err
}

func (impl *ChartServiceImpl) UpdateChartLocationForEnvironmentConfigs(appId, chartRefId int, userId int32, version string) error {
envOverrides, err := impl.envConfigOverrideReadService.GetAllOverridesForApp(appId)
func (impl *ChartServiceImpl) updateChartLocationForEnvironmentConfigs(ctx context.Context, appId, chartRefId int, userId int32, version string) error {
newCtx, span := otel.Tracer("orchestrator").Start(ctx, "ChartServiceImpl.updateChartLocationForEnvironmentConfigs")
defer span.End()
envOverrides, err := impl.envConfigOverrideReadService.GetAllOverridesForApp(newCtx, appId)
if err != nil {
impl.logger.Errorw("error in getting all overrides for app", "appId", appId, "err", err)
return err
Expand Down Expand Up @@ -661,7 +663,7 @@ func (impl *ChartServiceImpl) UpdateAppOverride(ctx context.Context, templateReq
return nil, err
}

err = impl.UpdateChartLocationForEnvironmentConfigs(templateRequest.AppId, templateRequest.ChartRefId, templateRequest.UserId, template.ChartVersion)
err = impl.updateChartLocationForEnvironmentConfigs(newCtx, templateRequest.AppId, templateRequest.ChartRefId, templateRequest.UserId, template.ChartVersion)
if err != nil {
impl.logger.Errorw("error in updating chart location in env overrides", "appId", templateRequest.AppId, "err", err)
return nil, err
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package read

import (
"context"
"github.com/devtron-labs/devtron/internal/sql/repository/chartConfig"
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/adapter"
"github.com/devtron-labs/devtron/pkg/deployment/manifest/deploymentTemplate/bean"
"go.opentelemetry.io/otel"
"go.uber.org/zap"
)

Expand All @@ -18,7 +20,11 @@ type EnvConfigOverrideService interface {
FindChartByAppIdAndEnvIdAndChartRefId(appId, targetEnvironmentId int, chartRefId int) (*bean.EnvConfigOverride, error)
FindChartForAppByAppIdAndEnvId(appId, targetEnvironmentId int) (*bean.EnvConfigOverride, error)
GetByAppIdEnvIdAndChartRefId(appId, envId int, chartRefId int) (*bean.EnvConfigOverride, error)
GetAllOverridesForApp(appId int) ([]*bean.EnvConfigOverride, error)
// GetAllOverridesForApp will return all overrides []*bean.EnvConfigOverride for an app by appId
// Note:
// EnvConfigOverride.Chart is not populated,
// as the chartRepoRepository.Chart contains the reference chart(in bytes).
GetAllOverridesForApp(ctx context.Context, appId int) ([]*bean.EnvConfigOverride, error)
}

type EnvConfigOverrideReadServiceImpl struct {
Expand Down Expand Up @@ -132,15 +138,20 @@ func (impl EnvConfigOverrideReadServiceImpl) GetByAppIdEnvIdAndChartRefId(appId,
return adapter.EnvOverrideDBToDTO(overrideDBObj), nil
}

func (impl EnvConfigOverrideReadServiceImpl) GetAllOverridesForApp(appId int) ([]*bean.EnvConfigOverride, error) {
func (impl EnvConfigOverrideReadServiceImpl) GetAllOverridesForApp(ctx context.Context, appId int) ([]*bean.EnvConfigOverride, error) {
_, span := otel.Tracer("orchestrator").Start(ctx, "EnvConfigOverrideReadServiceImpl.GetAllOverridesForApp")
defer span.End()
overrideDBObjs, err := impl.envConfigOverrideRepository.GetAllOverridesForApp(appId)
if err != nil {
impl.logger.Errorw("error in getting chart env config override", "appId", appId, "envId", "err", err)
return nil, err
}
envConfigOverrides := make([]*bean.EnvConfigOverride, 0, len(overrideDBObjs))
for _, dbObj := range overrideDBObjs {
envConfigOverrides = append(envConfigOverrides, adapter.EnvOverrideDBToDTO(&dbObj))
if dbObj == nil {
continue // nil pointer handling
}
envConfigOverrides = append(envConfigOverrides, adapter.EnvOverrideDBToDTO(dbObj))
}
return envConfigOverrides, nil
}
2 changes: 1 addition & 1 deletion wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.