32 lines
942 B
Bash
Executable File
32 lines
942 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
project_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
|
|
namespace=${NAMESPACE:-default}
|
|
release_name=${RELEASE_NAME:-traefik-error-pages}
|
|
values_file=${VALUES_FILE:-values-brunner-ninja.yaml}
|
|
deployment_name=${DEPLOYMENT_NAME:-traefik-error-pages}
|
|
|
|
case "${values_file}" in
|
|
/*) ;;
|
|
*) values_file="${project_dir}/${values_file}" ;;
|
|
esac
|
|
|
|
rendered=$(mktemp)
|
|
trap 'rm -f "${rendered}"' EXIT
|
|
|
|
kubectl get crd middlewares.traefik.io >/dev/null
|
|
helm lint "${project_dir}" --values "${values_file}"
|
|
helm template "${release_name}" "${project_dir}" \
|
|
--namespace "${namespace}" \
|
|
--values "${values_file}" > "${rendered}"
|
|
|
|
kubectl apply --dry-run=server --filename "${rendered}"
|
|
kubectl apply --filename "${rendered}"
|
|
kubectl --namespace "${namespace}" rollout status \
|
|
"deployment/${deployment_name}" --timeout=120s
|
|
|
|
printf 'Installed %s in namespace %s\n' "${release_name}" "${namespace}"
|
|
|