mirror of
https://github.com/dredx/prole.git
synced 2026-09-24 18:34:31 +00:00
65 lines
1.4 KiB
Bash
65 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
# Regression test: config keys containing hyphens must be normalized to
|
|
# shell-safe variable names instead of crashing with "invalid variable name".
|
|
|
|
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|
KNOE_HOME=$(cd "$SCRIPT_DIR/../.." && pwd)
|
|
|
|
TMP_DIR=$(mktemp -d)
|
|
trap 'rm -rf "$TMP_DIR"' EXIT
|
|
|
|
BIN_DIR="$TMP_DIR/bin"
|
|
mkdir -p "$BIN_DIR"
|
|
|
|
cat >"$BIN_DIR/kubectl" <<'EOF'
|
|
#!/usr/bin/env bash
|
|
exit 0
|
|
EOF
|
|
chmod +x "$BIN_DIR/kubectl"
|
|
|
|
cat >"$BIN_DIR/kubectx" <<'EOF'
|
|
#!/usr/bin/env bash
|
|
exit 0
|
|
EOF
|
|
chmod +x "$BIN_DIR/kubectx"
|
|
|
|
cat >"$BIN_DIR/kubens" <<'EOF'
|
|
#!/usr/bin/env bash
|
|
exit 0
|
|
EOF
|
|
chmod +x "$BIN_DIR/kubens"
|
|
|
|
export PATH="$BIN_DIR:$PATH"
|
|
|
|
CONF_DIR="$TMP_DIR/conf"
|
|
mkdir -p "$CONF_DIR/service"
|
|
|
|
cat >"$CONF_DIR/service/knoe.cfg" <<EOF
|
|
[Global]
|
|
DEPLOYMENT_MODE = local
|
|
NAMESPACE = test-ns
|
|
KNOE_HOME = $KNOE_HOME
|
|
KNOE_SERVICE = $TMP_DIR/service
|
|
dependencies_gke-gcloud-auth-plugin_install = 1
|
|
EOF
|
|
|
|
ln -snf "service/knoe.cfg" "$CONF_DIR/knoe.cfg"
|
|
|
|
export KNOE_CONF="$CONF_DIR"
|
|
export KNOE_HOME
|
|
export KNOE_SERVICE="$TMP_DIR/service"
|
|
|
|
# shellcheck disable=SC1090
|
|
source "$KNOE_HOME/etc/knoe_cfg.sh"
|
|
|
|
expected="1"
|
|
actual="${dependencies_gke_gcloud_auth_plugin_install:-}"
|
|
if [[ "$actual" != "$expected" ]]; then
|
|
echo "FAILURE: expected normalized key dependencies_gke_gcloud_auth_plugin_install=$expected, got '${actual:-<unset>}'" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "SUCCESS" |