mirror of
https://github.com/dredx/prole.git
synced 2026-09-24 19:14:33 +00:00
- detect local k3s node kubeconfig and skip kubectx/use-context mutation when already targeting local API\n- add configurable KUBE_CONTEXT_NAME resolution with compatibility fallbacks and switch only when required\n- update init scripts to use ensure_kube_context helper naming\n- broaden monitoring eligibility to discovered /synology/d### mounts so /synology/d004 qualifies\n- add focused kube-context and topology tests covering local/remote and read-only kubeconfig cases Co-authored-by: Junie <junie@jetbrains.com>
77 lines
1.6 KiB
Bash
77 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|
PROLE_HOME=$(cd "$SCRIPT_DIR/../.." && pwd)
|
|
|
|
TMP_DIR=$(mktemp -d)
|
|
trap 'rm -rf "$TMP_DIR"' EXIT
|
|
export TMP_DIR
|
|
|
|
BIN_DIR="$TMP_DIR/bin"
|
|
mkdir -p "$BIN_DIR"
|
|
|
|
cat <<'K_EOF' >"$BIN_DIR/kubectl"
|
|
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
args="$*"
|
|
|
|
if [[ "$args" == "config current-context"* ]]; then
|
|
echo "k3d-knoe-dev-cluster"
|
|
exit 0
|
|
fi
|
|
|
|
if [[ "$args" == "config get-contexts -o name"* ]]; then
|
|
echo "docker-desktop"
|
|
echo "k3d-knoe-dev-cluster"
|
|
echo "k3d-knoe-system"
|
|
exit 0
|
|
fi
|
|
|
|
if [[ "$args" == "config get-contexts --no-headers"* ]]; then
|
|
# Format: CURRENT NAME CLUSTER AUTHINFO NAMESPACE
|
|
echo "* k3d-knoe-dev-cluster k3d-knoe-dev-cluster user "
|
|
echo " k3d-knoe-system k3d-knoe-system user "
|
|
exit 0
|
|
fi
|
|
|
|
if [[ "$args" == "config use-context "* ]]; then
|
|
# shellcheck disable=SC2129
|
|
echo "${args#config use-context }" >"${TMP_DIR}/used_context"
|
|
exit 0
|
|
fi
|
|
|
|
exit 0
|
|
K_EOF
|
|
chmod +x "$BIN_DIR/kubectl"
|
|
|
|
mkdir -p "$TMP_DIR/conf"
|
|
cat <<C_EOF >"$TMP_DIR/conf/prole.cfg"
|
|
[Global]
|
|
DEPLOYMENT_MODE = k3d
|
|
KUBECONTEXT = knoe-system
|
|
C_EOF
|
|
|
|
export PATH="$BIN_DIR:$PATH"
|
|
export HOME="$TMP_DIR/home"
|
|
mkdir -p "$HOME"
|
|
|
|
export PROLE_HOME="$PROLE_HOME"
|
|
export PROLE_CONF="$TMP_DIR/conf"
|
|
export PROLE_MODE="k3d"
|
|
export KUBECONTEXT="knoe-system"
|
|
|
|
# shellcheck disable=SC1090
|
|
source "$PROLE_HOME/etc/prole_cfg.sh"
|
|
|
|
ensure_kube_context
|
|
|
|
if [[ "$(cat "$TMP_DIR/used_context")" != "k3d-knoe-system" ]]; then
|
|
echo "FAILURE: expected context 'k3d-knoe-system' but got '$(cat "$TMP_DIR/used_context")'" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "SUCCESS"
|