FLAGS=${@:3}
CHART_REPO="$(cut -d'/' -f1 <<<"$CHART_URL")"
CHART_NAME="$(cut -d'/' -f2 <<<"$CHART_URL")"
- CACHE_DIR=~/.helm/plugins/deploy/cache
+ if [[ $HELM_VER == "v3."* ]]; then
+ CACHE_DIR=~/.local/share/helm/plugins/deploy/cache
+ else
+ CACHE_DIR=~/.helm/plugins/deploy/cache
+ fi
+ echo "Use cache dir: $CACHE_DIR"
CHART_DIR=$CACHE_DIR/$CHART_NAME
CACHE_SUBCHART_DIR=$CHART_DIR-subcharts
LOG_DIR=$CHART_DIR/logs
if [[ $FLAGS = *"--delay"* ]]; then
FLAGS="$(echo $FLAGS| sed -n 's/--delay//p')"
DELAY="true"
- fi
+ fi
# determine if set-last-applied flag is enabled
SET_LAST_APPLIED="false"
if [[ $FLAGS = *"--set-last-applied"* ]]; then
# actual upgrade/install of parent and subcharts.
DEPLOY_FLAGS=$(resolve_deploy_flags "$FLAGS")
- # determine if upgrading individual subchart or entire parent + subcharts
+ # determine if upgrading individual subchart or entire parent + subcharts
SUBCHART_RELEASE="$(cut -d'-' -f2 <<<"$RELEASE")"
- if [[ ! -d "$CACHE_SUBCHART_DIR/$SUBCHART_RELEASE" ]]; then
+ # update specified subchart without parent
+ RELEASE="$(cut -d'-' -f1 <<<"$RELEASE")"
+ if [[ $SUBCHART_RELEASE == $RELEASE ]]; then
SUBCHART_RELEASE=
- else
- # update specified subchart without parent
- RELEASE="$(cut -d'-' -f1 <<<"$RELEASE")"
fi
# clear previously cached charts
rm -rf $CACHE_DIR
- # create log driectory
- mkdir -p $LOG_DIR
-
# fetch umbrella chart (parent chart containing subcharts)
if [[ -d "$CHART_URL" ]]; then
mkdir -p $CHART_DIR
helm fetch $CHART_URL --untar --untardir $CACHE_DIR $VERSION
fi
+ # create log driectory
+ mkdir -p $LOG_DIR
+
# move out subcharts to process separately
mkdir -p $CACHE_SUBCHART_DIR
mv $CHART_DIR/charts/* $CACHE_SUBCHART_DIR/
if [[ $DELAY == "true" ]]; then
echo sleep 3m
sleep 3m
- fi
+ fi
else
array=($(echo "$ALL_HELM_RELEASES" | grep "${RELEASE}-${subchart}"))
n=${#array[*]}
for (( i = n-1; i >= 0; i-- )); do
- helm del "${array[i]}" --purge
+ if [[ $HELM_VER == "v3."* ]]; then
+ helm del "${array[i]}"
+ else
+ helm del "${array[i]}" --purge
+ fi
done
fi
done
# report on success/failures of installs/upgrades
helm ls | grep FAILED | grep $RELEASE
}
+HELM_VER=$(helm version --template "{{.Version}}")
+echo $HELM_VER
case "${1:-"help"}" in
"help")