From c2ed155e667fad48c80593beb63543be636da958 Mon Sep 17 00:00:00 2001 From: Bryton Hall Date: Thu, 1 Dec 2022 20:41:18 -0500 Subject: [PATCH] helm: only upgrade when there are changes --- pkgs/kubenix.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/kubenix.nix b/pkgs/kubenix.nix index e7d6fdb..904fefd 100644 --- a/pkgs/kubenix.nix +++ b/pkgs/kubenix.nix @@ -31,11 +31,20 @@ writeShellScriptBin "kubenix" '' values=$(mktemp) echo "$release" | jq -r '.values' | ${vals}/bin/vals eval > $values - ${kubernetes-helm}/bin/helm $@ \ - -n $(echo "$release" | jq -r '.namespace // "default"') \ - $(echo "$release" | jq -r '.name') \ - $(echo "$release" | jq -r '.chart') \ - -f $values + name=$(echo "$release" | jq -r '.name') + chart=$(echo "$release" | jq -r '.chart') + namespace=$(echo "$release" | jq -r '.namespace // "default"') + + args="-n $namespace $name $chart -f $values" + + # only apply when there are changes + if [[ "$1" == "upgrade" ]]; then + if ${kubernetes-helm}/bin/helm diff upgrade $args --allow-unreleased --detailed-exitcode 2> /dev/null; then + continue + fi + fi + + ${kubernetes-helm}/bin/helm $@ $args done }