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
Admin LUKMANLAB, DevOps Engineer, Site Reliability Engineer, System Administrator.
Game Center
Game News
Review Film
Rumus Matematika
Anime Batch
Berita Terkini
Berita Terkini
Berita Terkini
Berita Terkini
review anime
Comments are closed, but trackbacks and pingbacks are open.