Files
feedc0de 1daf39f4fc
Validate and deploy Kubernetes Dashboard / validate (push) Successful in 17s
Validate and deploy Kubernetes Dashboard / deploy (push) Failing after 10m20s
Introduce CI/CD
2026-09-05 17:56:41 +02:00

28 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
project_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
version=${DASHBOARD_CHART_VERSION:-7.14.0}
digest=${DASHBOARD_CHART_SHA256:-37be462a39258fda57a2a5e5d81082d8d28a8083c7977f4f4632fa374b1a616d}
output=${1:?Usage: render.sh OUTPUT_FILE}
chart=$(mktemp)
raw=$(mktemp)
helm_cache=$(mktemp --directory)
trap 'rm -f "${chart}" "${raw}"; rm -rf "${helm_cache}"' EXIT
curl --fail --silent --show-error --location --output "${chart}" \
"https://github.com/kubernetes-retired/dashboard/releases/download/kubernetes-dashboard-${version}/kubernetes-dashboard-${version}.tgz"
printf '%s %s\n' "${digest}" "${chart}" | sha256sum --check >&2
HELM_CACHE_HOME="${helm_cache}" HELM_PLUGINS="${project_dir}/helm-plugins" \
helm template kubernetes-dashboard "${chart}" \
--namespace kubernetes-dashboard \
--values "${project_dir}/kubernetes-dashboard-values.yaml" \
--set-string app.security.csrfKey=ci-render-only-not-used \
--post-renderer pin-images > "${raw}"
# The chart always renders a random CSRF Secret. It is created and retained by
# the bootstrap Helm installation; restricted CI never receives Secret access.
awk -f "${project_dir}/filter-secrets.awk" "${raw}" > "${output}"