prole/tmp/sim_installer_ns.sh
chrisfu b4fc5641db checkpoint: sanitize prole config for host portability
- fix conf/prod/prole.cfg by replacing hardcoded /Users/chrisfu paths with /Users/chrisfu

- remove injected [update.sh] log lines and stray password artifacts so config is executable

- include latest pending updates across deployment config, UI/core flow, vault/network artifacts, and helper scripts
2026-04-10 05:58:40 -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/prole/conf/service/prole.cfg"
PROLE_HOME="/Users/chrisfu/dev/prole"
echo "=== Simulating installer env context ==="
# Replicate _get_script_env (milestone.py lines 81-87)
# base_env = os.environ.copy() + updates
export PROLE_HOME="$PROLE_HOME"
export PROLE_SERVICE="$PROLE_HOME/etc"
export PROLE_CONF="$PROLE_HOME/conf/service"
export PROLE_DATA="$PROLE_HOME/knoe-db/data"
export PROLE_LOGS="$PROLE_HOME/logs"
export PROLE_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 "$PROLE_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 "$PROLE_HOME/etc/init_gitlab.sh" \
--mode k3s \
-c "$CFG" \
--trace-namespace 2>&1 || true)
echo "$OUTPUT2" | head -5
# Also verify what prole_cfg.sh does to NAMESPACE
echo ""
echo "=== Check: does prole_cfg.sh overwrite NAMESPACE? ==="
(
export NAMESPACE="gitlab"
source "$PROLE_HOME/etc/prole_cfg.sh" 2>/dev/null || true
echo " NAMESPACE after sourcing prole_cfg.sh: '${NAMESPACE:-<unset>}'"
echo " GITOPS_NAMESPACE: '${GITOPS_NAMESPACE:-<unset>}'"
echo " GITLAB_NAMESPACE: '${GITLAB_NAMESPACE:-<unset>}'"
)