Files
gori-agent/install.sh
T

38 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
GORI_AGENT_ROOT="${GORI_AGENT_ROOT:-$HOME/.gori-agent}"
BIN_DIR="$GORI_AGENT_ROOT/bin"
INSTANCES_DIR="$GORI_AGENT_ROOT/instances"
PROFILE_FILE="${GORI_AGENT_PROFILE:-$HOME/.bashrc}"
umask 077
mkdir -p "$BIN_DIR" "$INSTANCES_DIR"
chmod 700 "$GORI_AGENT_ROOT" "$BIN_DIR" "$INSTANCES_DIR"
cat >"$BIN_DIR/gori-agent" <<EOF
#!/usr/bin/env bash
set -euo pipefail
export GORI_AGENT_ROOT="\${GORI_AGENT_ROOT:-$GORI_AGENT_ROOT}"
exec "$PROJECT_ROOT/gori-agent.sh" "\$@"
EOF
chmod 700 "$BIN_DIR/gori-agent"
PATH_BLOCK_START="# >>> gori-agent >>>"
PATH_BLOCK_END="# <<< gori-agent <<<"
if [[ -w "$PROFILE_FILE" ]] && ! grep -q "$PATH_BLOCK_START" "$PROFILE_FILE"; then
{
echo ""
echo "$PATH_BLOCK_START"
echo "export GORI_AGENT_ROOT=\"$GORI_AGENT_ROOT\""
echo "export PATH=\"$BIN_DIR:\$PATH\""
echo "$PATH_BLOCK_END"
} >>"$PROFILE_FILE"
fi
echo "Installed gori-agent to $BIN_DIR/gori-agent"
echo "Project root: $PROJECT_ROOT"
echo "Instances root: $INSTANCES_DIR"
echo "Run 'source $PROFILE_FILE' or open a new terminal, then use: gori-agent instance list"