- Get the release from Kubernetes
$ kubectl get secret sh.helm.release.v1.<release>.v<version> -o yaml > release.yaml
- Open the
release.yaml
file in an editor and copydata.release
value (or use Bash skills) - Extract the release payload
$ echo <release value> | base64 -D | base64 -D | gunzip > release
- Open release file and change status from pending-rollback to deployed
- Compress and encode the release payload
$ cat release | gzip | base64 | base64
- Edit
release.yaml
and replace the release payload with the new encoded payload - Update the status label too
- Update the secret on K8s
$ kubectl apply -f release.yaml
Last active
October 19, 2022 17:01
-
-
Save siavashs/7e3715879c0e946167749fa9a358380a to your computer and use it in GitHub Desktop.
Fix Helm release stuck in a pending status
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Works for me too, thanks! Here is a shortened version for the impatient:
kubectl -n <NAMESPACE> get secret <HELM-SECRET> -o json | jq -r .data.release | base64 -d | base64 -d | gunzip | sed -r 's/pending\-(install|upgrade|rollback)/deployed/' | gzip | base64 | base64 -w0 >release.b64