38 lines
1.3 KiB
Bash
38 lines
1.3 KiB
Bash
#!/bin/sh
|
|
# shellcheck disable=SC2154
|
|
|
|
export HOME=/plugin
|
|
|
|
env > /tmp/"${ARGOCD_APP_NAME}".env
|
|
|
|
echo "${ARGOCD_APP_PARAMETERS}" | jq '.[] | select(.name == "helm-parameters") | .map' | yq -P -oy > parameters.yaml
|
|
cp parameters.yaml /tmp/"${ARGOCD_APP_NAME}"-parameters.yaml
|
|
|
|
if [ -n "${PARAM_CHART}" ] && [ "${PARAM_CHART}" != "." ]; then
|
|
CHART=${PARAM_CHART}
|
|
elif [ -d chart ]; then
|
|
CHART=chart
|
|
elif [ -f chart ]; then
|
|
CHART=$(cat chart)
|
|
else
|
|
CHART="."
|
|
fi
|
|
|
|
[ -f chart/values.yaml ] && VALUES="-f chart/values.yaml"
|
|
[ -f values-chart.yaml ] && VALUES="${VALUES} -f values-chart.yaml"
|
|
[ -f values.yaml ] && VALUES="${VALUES} -f values.yaml"
|
|
[ -f values-"${PARAM_ENV}".yaml ] && VALUES="${VALUES} -f values-${PARAM_ENV}.yaml"
|
|
VALUES="${VALUES} -f parameters.yaml"
|
|
|
|
helm dependency update "${CHART}" >/tmp/"${ARGOCD_APP_NAME}"-helm-dependency-build.out
|
|
|
|
mkdir -p base
|
|
echo "helm template -n ${ARGOCD_APP_NAMESPACE} ${PARAM_FLAGS} ${VALUES} ${ARGOCD_APP_NAME} ${CHART}" > /tmp/"${ARGOCD_APP_NAME}"-helm.sh
|
|
helm template -n "${ARGOCD_APP_NAMESPACE}" "${PARAM_FLAGS}" "${VALUES}" "${ARGOCD_APP_NAME}" "${CHART}" > ./base/_manifest.yaml
|
|
|
|
cp ./base/_manifest.yaml /tmp/"${ARGOCD_APP_NAME}"-manifest.yaml
|
|
|
|
[ -d "${PARAM_ENV}" ] && kubectl kustomize "${PARAM_ENV}" > /tmp/"${ARGOCD_APP_NAME}"-manifest.yaml
|
|
|
|
cat /tmp/"${ARGOCD_APP_NAME}"-manifest.yaml
|