- CLI with notification, activity, and escalation commands - SQLite database with schema - Datasette + static HTML dashboard - Systemd service for background operation - Install/uninstall scripts - SKILL.md and procedures for sub-agent usage
80 lines
2.2 KiB
Bash
Executable file
80 lines
2.2 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# Argus Installation Script
|
|
#
|
|
set -e
|
|
|
|
INSTALL_DIR="/opt/argus"
|
|
SKILL_LINK="/olymp/shared/skills/argus"
|
|
|
|
echo "╔════════════════════════════════════════╗"
|
|
echo "║ Argus Installation ║"
|
|
echo "╚════════════════════════════════════════╝"
|
|
echo
|
|
|
|
# Check dependencies
|
|
echo "Checking dependencies..."
|
|
|
|
if ! command -v python3 &> /dev/null; then
|
|
echo "Error: python3 is required but not installed."
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v gh &> /dev/null; then
|
|
echo "Warning: gh CLI not found. 'argus notif pull' will not work."
|
|
fi
|
|
|
|
# Install datasette if not present
|
|
if ! command -v datasette &> /dev/null; then
|
|
echo "Installing datasette..."
|
|
pip3 install datasette --quiet
|
|
fi
|
|
|
|
# Clone or update repo
|
|
if [ -d "$INSTALL_DIR" ]; then
|
|
echo "Updating existing installation..."
|
|
cd "$INSTALL_DIR"
|
|
git pull --quiet
|
|
else
|
|
echo "Installing to $INSTALL_DIR..."
|
|
# If running from repo directory
|
|
if [ -f "bin/argus" ]; then
|
|
cp -r . "$INSTALL_DIR"
|
|
else
|
|
echo "Error: Run this script from the argus repository directory."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Create symlink for CLI
|
|
echo "Creating CLI symlink..."
|
|
ln -sf "$INSTALL_DIR/bin/argus" /usr/local/bin/argus
|
|
|
|
# Install systemd service
|
|
echo "Installing systemd service..."
|
|
cp "$INSTALL_DIR/systemd/argus.service" /etc/systemd/system/
|
|
systemctl daemon-reload
|
|
|
|
# Create skill symlink if /olymp/shared/skills exists
|
|
if [ -d "/olymp/shared/skills" ]; then
|
|
echo "Creating skill symlink..."
|
|
ln -sf "$INSTALL_DIR/docs" "$SKILL_LINK"
|
|
fi
|
|
|
|
# Initialize database if not exists
|
|
if [ ! -f "$HOME/.argus/argus.db" ]; then
|
|
echo "Initializing database..."
|
|
argus init
|
|
fi
|
|
|
|
echo
|
|
echo "✓ Installation complete!"
|
|
echo
|
|
echo "Next steps:"
|
|
echo " 1. Set up GitHub token: export GH_TOKEN=your_token"
|
|
echo " 2. Pull notifications: argus notif pull"
|
|
echo " 3. Start dashboard: systemctl start argus"
|
|
echo
|
|
echo "Dashboard will be available at:"
|
|
echo " - Datasette API: http://localhost:8100"
|
|
echo " - Dashboard: http://localhost:8101"
|