Skip to content

fix(nativeHelm): support OCI repoUrl override for ORG_CHART deploys#128

Merged
vigneshrajsb merged 2 commits intomainfrom
fix/native-helm-oci-support
Mar 11, 2026
Merged

fix(nativeHelm): support OCI repoUrl override for ORG_CHART deploys#128
vigneshrajsb merged 2 commits intomainfrom
fix/native-helm-oci-support

Conversation

@vigneshrajsb
Copy link
Contributor

Problem

When a service config specifies a custom helm.chart.repoUrl (e.g., an OCI ECR registry), the generated helm upgrade command was ignoring it for services that use the org chart (helm-app). The command would use just the bare chart name with no repo reference:

helm upgrade --install lifecycle-docs-<uuid> helm-app --namespace ... --version 2.2.1 ...

Root Cause

determineChartType returns ChartType.ORG_CHART when chartName === orgChartName && helm.docker is set. In constructHelmCommand, the else branch (which handles ORG_CHART) unconditionally used the bare chartPath and never checked chartRepoUrl:

} else {
  command += ` ${chartPath}`;  // always "helm-app", repoUrl ignored
}

The generateHelmInstallScript function also only ran helm repo add for ChartType.PUBLIC, skipping ORG_CHART entirely.

Note: mergeChartConfig correctly gives service-level repoUrl priority over global config — the value was properly resolved, just never used.

Fix

constructHelmCommand — add OCI detection to the ORG_CHART branch:

} else {
  const isOciChart = chartRepoUrl?.startsWith('oci://');
  if (isOciChart) {
    command += ` ${chartRepoUrl}`;
  } else {
    command += ` ${chartPath}`;
  }
}

generateHelmInstallScript — extend helm repo add to also cover ORG_CHART with a non-OCI custom repoUrl:

if (chartType === ChartType.PUBLIC || chartType === ChartType.ORG_CHART) {

After this fix, the generated command correctly uses the OCI URL as the chart reference:

helm upgrade --install lifecycle-docs-<uuid> oci://123456789.dkr.ecr.us-west-2.amazonaws.com/helm-app --namespace ... --version 2.2.1 ...

vigneshrajsb and others added 2 commits March 11, 2026 15:14
- Support OCI repoUrl override for ORG_CHART deploys
- Add HELM_EXPERIMENTAL_OCI=1 to enable OCI support on helm 3.7.x
- Add ECR auth init container support for OCI Helm chart deploys

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vigneshrajsb vigneshrajsb requested a review from a team as a code owner March 11, 2026 22:29
@vigneshrajsb vigneshrajsb merged commit ec1d450 into main Mar 11, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants