Helmfile Postsync Hook for Handling Rollout Status


In this article, I wanna share about Helmfile postsync Hook. The problem is when I use Helmfile with Kustomization, the result of deployment always throws success. I don’t know the exact rollout status for the new deployment. So, to handle this case, a Hook can be applied to the helmfile.yaml.

...
releases:
- name: example-release
chart: ./backend
jsonPatches:
- ./backend/deployment.yaml.gotmpl
hooks:
- events: ["postsync"]
showlogs: true
command: "sh"
args: ["-c", "./script.sh {{`{{`}} .Release.Name {{`}}`}} {{`{{`}} .Release.Namespace {{`}}`}}"]

script.sh

#!/bin/sh
RELEASE_NAME=$1
NAMESPACE=$2
DEPLOYMENT_NAME=$(kubectl get deployment -n $NAMESPACE -l "app=$RELEASE_NAME" -o jsonpath="{.items[0].metadata.name}")
kubectl rollout status deployment/$DEPLOYMENT_NAME -n $NAMESPACE --timeout=60s
if [ $? -ne 0 ]; then
echo "Deployment $DEPLOYMENT_NAME failed."
exit 1
else
echo "Deployment succeeded."
fi



Card
Berita Olahraga

News

Berita Terkini

Berita Terbaru

Berita Teknologi

Seputar Teknologi

Drama Korea

Resep Masakan

Pendidikan

Berita Terbaru

Berita Terbaru

Berita Terbaru

Lifestyle

Leave a Reply

Your email address will not be published. Required fields are marked *