25 lines
1.2 KiB
Bash
Executable File
25 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
remote_dir="${BOSS_REMOTE_DIR:-/home/ubuntu/boss}"
|
|
tail_lines="${1:-150}"
|
|
|
|
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
|
|
export AG_SERVER_SKILL="${AG_SERVER_SKILL:-$CODEX_HOME/skills/ai-glasses-server-debug}"
|
|
export AG_SERVER="${AG_SERVER:-$AG_SERVER_SKILL/scripts/server_ssh.sh}"
|
|
KEYCHAIN_SERVICE="${AI_GLASSES_KEYCHAIN_SERVICE:-ai-glasses-debug-ssh}"
|
|
|
|
resolve_server_password() {
|
|
if [[ -n "${AI_GLASSES_SERVER_PASS:-}" ]]; then
|
|
printf '%s' "${AI_GLASSES_SERVER_PASS}"
|
|
return 0
|
|
fi
|
|
if command -v security >/dev/null 2>&1; then
|
|
security find-generic-password -a "${AI_GLASSES_SERVER_USER:-ubuntu}" -s "${KEYCHAIN_SERVICE}" -w 2>/dev/null || true
|
|
fi
|
|
}
|
|
|
|
server_pass="$(resolve_server_password)"
|
|
|
|
"$AG_SERVER" exec "set -euo pipefail; SUDO_PASS=$(printf '%q' "$server_pass"); run_sudo(){ if [[ -n \"\$SUDO_PASS\" ]]; then printf '%s\n' \"\$SUDO_PASS\" | sudo -S \"\$@\"; else sudo \"\$@\"; fi; }; cd $(printf '%q' "$remote_dir"); if run_sudo docker ps --format '{{.Names}}' | grep -qx 'boss-control-plane'; then run_sudo docker compose -f compose.cloud.yaml -p boss logs --tail $(printf '%q' "$tail_lines"); else tail -n $(printf '%q' "$tail_lines") .boss-data/server.log; fi"
|