deliverybot / helm

GitHub action for deploying Helm charts.

Home Page:https://deliverybot.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Image build fails because of Helm having removed the stable repo

galexrt opened this issue · comments

See https://helm.sh/blog/new-location-stable-incubator-charts/ and https://kubernetes-charts.storage.googleapis.com/ returns 403.

A "quick" fix is probably to update Helm to a newer version and / or removing Helm 2.

Log from failed GitHub Actions run:

[...]
Adding stable repo with URL: kubernetes-charts.storage.googleapis.com 
  Error: error initializing: Looks like "kubernetes-charts.storage.googleapis.com" is not a valid chart repository or cannot be reached: Failed to fetch kubernetes-charts.storage.googleapis.com/index.yaml : 403 Forbidden
[...]

Having the same issue here, did you manage to get the action working again?

For people like me that aren't able to deploy, I manged to find a temporary solution that fixes it quick and dirty by downloading the source and put it in my project repo under '.github/actions/helm-delivery'.
After that I changed the dockerfile to use helm 3.4.2 and removed helm 2 installation.
And use the local action to deploy.

New Dockerfile:


ENV BASE_URL="https://get.helm.sh"

ENV HELM_2_FILE="helm-v2.16.1-linux-amd64.tar.gz"
ENV HELM_3_FILE="helm-v3.4.2-linux-amd64.tar.gz"

RUN apk add --no-cache ca-certificates \
    --repository http://dl-3.alpinelinux.org/alpine/edge/community/ \
    jq curl bash nodejs aws-cli && \
    # Install helm version 3:
    curl -L ${BASE_URL}/${HELM_3_FILE} |tar xvz && \
    mv linux-amd64/helm /usr/bin/helm3 && \
    chmod +x /usr/bin/helm3 && \
    rm -rf linux-amd64

ENV PYTHONPATH "/usr/lib/python3.8/site-packages/"

COPY . /usr/src/
ENTRYPOINT ["node", "/usr/src/index.js"]

Use local action:

# Deploy helm to kubernetes
- name: Deploy to Kubernetes
  uses: './.github/actions/helm-delivery'
  with:

The right fix is to bump version of Helm2 to 2.17.0 https://github.com/deliverybot/helm/blob/master/Dockerfile#L5

@JeroenBoesten
Thank you for your solution, is it work for you?
I'm trying to do same steps, but every time catch some errors, like:

internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module 'is-mergeable-object'

Can you share workaround solution if you have successfully launch it ?

Another solution:

        # uses: 'deliverybot/helm@v1'  #TODO: Replace after fix https://github.com/deliverybot/helm/issues/49
        uses: elseu/sdu-helm-deploy-action@0.0.5

Works for me

Merged #50 please let me know if that resolves the issue.

Merged #50 please let me know if that resolves the issue.

Can confirm that this resolves the issue, thank you.