prole/tmp/sim_installer_ns.sh
chrisfu 646745b4b0 chore(k3s): script and hostprobe updates, temp maintenance scripts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 14:47:27 -07:00

63 lines
2.3 KiB
Bash

#!/usr/bin/env bash
# Simulates EXACTLY what milestones.py + controller.run_script does
# when calling init_gitlab.sh — replicates the full env context.
set -euo pipefail
CFG="/Users/chrisfu/dev/knoe/conf/service/knoe.cfg"
KNOE_HOME="/Users/chrisfu/dev/knoe"
echo "=== Simulating installer env context ==="
# Replicate _get_script_env (milestone.py lines 81-87)
# base_env = os.environ.copy() + updates
export KNOE_HOME="$KNOE_HOME"
export KNOE_SERVICE="$KNOE_HOME/etc"
export KNOE_CONF="$KNOE_HOME/conf/service"
export PROLE_DATA="$KNOE_HOME/knoe-db/data"
export PROLE_LOGS="$KNOE_HOME/logs"
export KNOE_MODE="k3s"
export DEPLOYMENT_MODE="k3s"
export NAMESPACE="knoe-db" # milestone.py line 86: init_password.db_namespace
export PROLE_NAMESPACE="knoe-db"
export DATABASE_NAMESPACE="knoe-db"
export SERVICE_NAMESPACE="knoe-system"
export CLUSTER_NAME="knoe-db"
# Replicate milestones.py GitOpsMilestone.execute() lines 965-977
export GITLAB_NAMESPACE="gitlab" # line 971: env["GITLAB_NAMESPACE"] = ns (ns="gitlab")
export GITLAB_NODE_SELECTOR="gandalf.prole.org" # line 976
export NODE_SELECTOR="gandalf.prole.org" # line 977
echo " Pre-call env: NAMESPACE='$NAMESPACE' GITLAB_NAMESPACE='$GITLAB_NAMESPACE'"
echo ""
# Now call init_gitlab.sh with same args milestones.py builds:
# args = ["--mode", "k3s", "--namespace", ns, "-c", cfg_path]
echo "=== Calling init_gitlab.sh --trace-namespace (exits after namespace resolution) ==="
OUTPUT=$(bash "$KNOE_HOME/etc/init_gitlab.sh" \
--mode k3s \
--namespace gitlab \
-c "$CFG" \
--trace-namespace 2>&1 || true)
echo "$OUTPUT" | head -5
# Now test WITHOUT --namespace arg (worst-case: arg not passed)
echo ""
echo "=== Worst case: no --namespace arg (relies on env + default) ==="
OUTPUT2=$(bash "$KNOE_HOME/etc/init_gitlab.sh" \
--mode k3s \
-c "$CFG" \
--trace-namespace 2>&1 || true)
echo "$OUTPUT2" | head -5
# Also verify what knoe_cfg.sh does to NAMESPACE
echo ""
echo "=== Check: does knoe_cfg.sh overwrite NAMESPACE? ==="
(
export NAMESPACE="gitlab"
source "$KNOE_HOME/etc/knoe_cfg.sh" 2>/dev/null || true
echo " NAMESPACE after sourcing knoe_cfg.sh: '${NAMESPACE:-<unset>}'"
echo " GITOPS_NAMESPACE: '${GITOPS_NAMESPACE:-<unset>}'"
echo " GITLAB_NAMESPACE: '${GITLAB_NAMESPACE:-<unset>}'"
)