chore: bootstrap lean sysadmin-chronicles repo
Import the runnable game code, content, docs, scripts, and repo guidance while leaving local agent state, dependency installs, build output, and backup copies out of the published tree.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
# install-guest-helper.sh — Install the advisory guest helper onto a VM.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
DRY_RUN=false
|
||||
DOMAIN="${1:-}"
|
||||
|
||||
if [ -z "$DOMAIN" ]; then
|
||||
echo "Usage: bash tools/vm/install-guest-helper.sh <domain> [--dry-run]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "${2:-}" == "--dry-run" ]]; then
|
||||
DRY_RUN=true
|
||||
fi
|
||||
|
||||
source "$SCRIPT_DIR/lib/common.sh"
|
||||
|
||||
helper_name=""
|
||||
case "$DOMAIN" in
|
||||
sc-workstation) helper_name="atlas-index" ;;
|
||||
sc-web-server) helper_name="yardd" ;;
|
||||
sc-build-machine) helper_name="ops-telemetry-cache" ;;
|
||||
*) echo "Unknown domain: $DOMAIN"; exit 1 ;;
|
||||
esac
|
||||
|
||||
ensure_vm_tooling
|
||||
|
||||
tmp_script="$(mktemp)"
|
||||
cat > "$tmp_script" <<EOF
|
||||
cat > /usr/local/bin/${helper_name} <<'HELPER'
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
printf '{"helper":"%s","hostname":"%s","timestamp":"%s"}\n' \
|
||||
"${helper_name}" \
|
||||
"\$(hostname)" \
|
||||
"\$(date -Iseconds)"
|
||||
HELPER
|
||||
chmod 755 /usr/local/bin/${helper_name}
|
||||
EOF
|
||||
|
||||
info "Installing guest helper ${helper_name} on ${DOMAIN}"
|
||||
guest_run_sudo_script "$DOMAIN" "$tmp_script"
|
||||
rm -f "$tmp_script"
|
||||
ok "${DOMAIN}: helper ${helper_name} installed"
|
||||
Reference in New Issue
Block a user