Skip to content

Commit 1dbb0ed

Browse files
committed
refactor: improve chart metadata handling and error logging in GitOps operations
1 parent 2428b40 commit 1dbb0ed

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

pkg/appStore/installedApp/service/FullMode/deployment/InstalledAppGitOpsService.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,16 @@ func (impl *FullModeDeploymentServiceImpl) GenerateManifest(installAppVersionReq
8787
impl.Logger.Errorw("Error in building chart while generating manifest", "err", err)
8888
return manifestResponse, err
8989
}
90-
if chartCreateResponse != nil && chartCreateResponse.ChartMetaData == nil {
91-
chartCreateResponse.ChartMetaData.Dependencies = dependencies
90+
var chartMetaData *chart.Metadata
91+
if chartCreateResponse != nil {
92+
if chartCreateResponse.ChartMetaData != nil {
93+
chartCreateResponse.ChartMetaData.Dependencies = dependencies
94+
}
95+
chartMetaData = chartCreateResponse.ChartMetaData
9296
}
9397
// valuesConfig and chartMetaDataConfig's ChartConfig object contains ChartRepoName which is extracted from gitOpsRepoUrl
9498
// that resides in the db and not from the current orchestrator cm prefix and appName.
95-
valuesConfig, chartMetaDataConfig, err := impl.getValuesAndChartMetaDataForGitConfig(installAppVersionRequest, values, chartCreateResponse.ChartMetaData)
99+
valuesConfig, chartMetaDataConfig, err := impl.getValuesAndChartMetaDataForGitConfig(installAppVersionRequest, values, chartMetaData)
96100
if err != nil {
97101
impl.Logger.Errorw("error in getting values and requirements config for git commit", "err", err)
98102
return manifestResponse, err
@@ -357,6 +361,11 @@ func (impl *FullModeDeploymentServiceImpl) getValuesAndRequirement(installAppVer
357361
// getValuesAndChartMetaDataForGitConfig will return chart values(*git.ChartConfig) and requirements(*git.ChartConfig) for git commit
358362
func (impl *FullModeDeploymentServiceImpl) getValuesAndChartMetaDataForGitConfig(installAppVersionRequest *appStoreBean.InstallAppVersionDTO,
359363
values map[string]map[string]any, chartMetaData *chart.Metadata) (*git.ChartConfig, *git.ChartConfig, error) {
364+
if chartMetaData == nil || values == nil {
365+
err := fmt.Errorf("chartMetaData or values cannot be nil")
366+
impl.Logger.Errorw("error in getting chartMetaData or values for git commit", "err", err)
367+
return nil, nil, err
368+
}
360369
valuesContent, err := json.Marshal(values)
361370
if err != nil {
362371
impl.Logger.Errorw("error in marshalling values content", "err", err)

0 commit comments

Comments
 (0)