diff --git a/dev/dockerfiles/kotsadm/Dockerfile.local b/dev/dockerfiles/kotsadm/Dockerfile.local index db1f505a51..e4d90dac26 100644 --- a/dev/dockerfiles/kotsadm/Dockerfile.local +++ b/dev/dockerfiles/kotsadm/Dockerfile.local @@ -27,9 +27,9 @@ RUN curl -fsSL -o kustomize.tar.gz "${KUSTOMIZE5_URL}" \ && mv kustomize /usr/local/bin/kustomize # Install helm v3 -ENV HELM3_VERSION=3.16.2 +ENV HELM3_VERSION=3.17.0 ENV HELM3_URL=https://get.helm.sh/helm-v${HELM3_VERSION}-linux-arm64.tar.gz -ENV HELM3_SHA256SUM=1888301aeb7d08a03b6d9f4d2b73dcd09b89c41577e80e3455c113629fc657a4 +ENV HELM3_SHA256SUM=c4d4be8e80082b7eaa411e3e231d62cf05d01cddfef59b0d01006a7901e11ee4 RUN cd /tmp && curl -fsSL -o helm.tar.gz "${HELM3_URL}" \ && echo "${HELM3_SHA256SUM} helm.tar.gz" | sha256sum -c - \ && tar -xzvf helm.tar.gz \ diff --git a/pkg/pull/pull.go b/pkg/pull/pull.go index 0962bee32b..b166dd69c4 100644 --- a/pkg/pull/pull.go +++ b/pkg/pull/pull.go @@ -8,6 +8,7 @@ import ( "net/url" "os" "path/filepath" + "slices" "github.com/pkg/errors" reportingtypes "github.com/replicatedhq/kots/pkg/api/reporting/types" @@ -416,8 +417,8 @@ func Pull(upstreamURI string, pullOptions PullOptions) (string, error) { if prevChart.GetReleaseName() != newChart.GetReleaseName() { continue } - if !prevChart.Spec.UseHelmInstall { - return "", errors.Errorf("cannot upgrade chart release %s to v1beta2 because useHelmInstall is false", newChart.GetReleaseName()) + if !prevChart.Spec.UseHelmInstall && !slices.Contains(newChart.GetUpgradeFlags(), "--take-ownership") { + return "", errors.Errorf("cannot upgrade chart release %s to v1beta2 because useHelmInstall is false and Helm --take-ownership is not set", newChart.GetReleaseName()) } } }