#!/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}"