38 lines
1.1 KiB
Bash
Executable File
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 list"
|