24 lines
828 B
Bash
Executable File
24 lines
828 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# metrics-server — makes `kubectl top` work (patched with --kubelet-insecure-tls for kind).
|
|
# Notes: docs/notes/addons.md
|
|
set -euo pipefail
|
|
cd "${RIG_CTRL:-$(dirname "$0")/..}"
|
|
|
|
source ./lib/config.sh
|
|
load_config
|
|
|
|
K="kubectl --context ${KUBECONTEXT}"
|
|
|
|
if ! $K get deployment -n kube-system metrics-server >/dev/null 2>&1; then
|
|
# The pinned manifest, verified on disk — never a URL applied directly.
|
|
manifest=$(bash ./deps.sh manifest METRICS_SERVER)
|
|
$K apply -f "$manifest"
|
|
fi
|
|
|
|
$K patch deployment metrics-server -n kube-system --type=json \
|
|
-p '[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--kubelet-insecure-tls"}]' \
|
|
>/dev/null 2>&1 || true
|
|
|
|
echo " waiting for metrics-server..."
|
|
$K rollout status deployment/metrics-server -n kube-system --timeout=180s
|