mirror of
https://github.com/theniceboy/.config.git
synced 2026-01-16 20:58:24 +08:00
codex agent tracker
This commit is contained in:
parent
20eddd1600
commit
b08d63e4a5
96 changed files with 3057 additions and 3055 deletions
83
agent-tracker/scripts/install_brew_service.sh
Executable file
83
agent-tracker/scripts/install_brew_service.sh
Executable file
|
|
@ -0,0 +1,83 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if ! command -v brew >/dev/null 2>&1; then
|
||||
echo "Error: Homebrew is required but not found in PATH" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! brew services list >/dev/null 2>&1; then
|
||||
echo "Error: brew services command is unavailable; install the homebrew/services tap" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
SERVER_BIN="$ROOT_DIR/bin/tracker-server"
|
||||
|
||||
if [[ ! -x "$SERVER_BIN" ]]; then
|
||||
echo "Error: tracker-server binary not found at $SERVER_BIN" >&2
|
||||
echo "Build it with: (cd $ROOT_DIR && ./install.sh)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BREW_REPO="$(brew --repository)"
|
||||
TAP_PATH="$BREW_REPO/Library/Taps/agenttracker/homebrew-agent-tracker"
|
||||
FORMULA_DIR="$TAP_PATH/Formula"
|
||||
FORMULA_PATH="$FORMULA_DIR/agent-tracker-server.rb"
|
||||
mkdir -p "$FORMULA_DIR"
|
||||
|
||||
TMP_DIR="$(mktemp -d)"
|
||||
cleanup() {
|
||||
rm -rf "$TMP_DIR"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
cp "$SERVER_BIN" "$TMP_DIR/tracker-server"
|
||||
TARBALL="$TMP_DIR/tracker-server.tar.gz"
|
||||
tar -czf "$TARBALL" -C "$TMP_DIR" tracker-server
|
||||
SHA256="$(shasum -a 256 "$TARBALL" | awk '{print $1}')"
|
||||
VERSION="local-$(date +%Y%m%d%H%M%S)"
|
||||
|
||||
cat >"$FORMULA_PATH" <<EOF
|
||||
class AgentTrackerServer < Formula
|
||||
desc "Tmux-aware agent tracker server"
|
||||
homepage "https://github.com/david/agent-tracker"
|
||||
url "file://$TARBALL"
|
||||
sha256 "$SHA256"
|
||||
version "$VERSION"
|
||||
|
||||
def install
|
||||
bin.install "tracker-server"
|
||||
end
|
||||
|
||||
service do
|
||||
run [opt_bin/"tracker-server"]
|
||||
keep_alive true
|
||||
working_dir var/"agent-tracker"
|
||||
log_path var/"log/agent-tracker-server.log"
|
||||
error_log_path var/"log/agent-tracker-server.log"
|
||||
end
|
||||
end
|
||||
EOF
|
||||
|
||||
if brew list --formula agent-tracker-server >/dev/null 2>&1; then
|
||||
brew reinstall --formula "$FORMULA_PATH" >/dev/null
|
||||
else
|
||||
brew install --formula "$FORMULA_PATH" >/dev/null
|
||||
fi
|
||||
|
||||
mkdir -p "$(brew --prefix)/var/agent-tracker"
|
||||
|
||||
if brew services list | awk '{print $1}' | grep -qx "agent-tracker-server"; then
|
||||
brew services restart agent-tracker-server >/dev/null
|
||||
else
|
||||
brew services start agent-tracker-server >/dev/null
|
||||
fi
|
||||
|
||||
SERVICE_STATE="$(brew services list | awk '$1=="agent-tracker-server" {print $2}')"
|
||||
if [[ "$SERVICE_STATE" != "started" ]]; then
|
||||
echo "Error: brew reports agent-tracker-server service in state '$SERVICE_STATE'" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Agent tracker server managed by brew services (state: $SERVICE_STATE)." >&2
|
||||
Loading…
Add table
Add a link
Reference in a new issue