mirror of
https://github.com/mulgadc/spinifex.git
synced 2026-10-23 04:36:40 +00:00
5d93786995
- Update scripts/: start-dev, stop-dev, dev-setup, setup, setup-ovn, etc. - Update tests/e2e/: all E2E test scripts - Update scripts/iac/: rename hive-test.sh → spinifex-test.sh, update TF files - Update config/: rename hive.service and install script - Binary refs use spx, env vars use SPINIFEX_, paths use spinifex
74 lines
1.9 KiB
Bash
Executable File
74 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Spinifex Service Installation Script
|
|
# This script installs the spinifex systemd service on Ubuntu/Debian systems
|
|
|
|
set -e
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Function to print colored output
|
|
print_status() {
|
|
echo -e "${GREEN}[INFO]${NC} $1"
|
|
}
|
|
|
|
print_warning() {
|
|
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
}
|
|
|
|
print_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# Check if running as root
|
|
if [[ $EUID -ne 0 ]]; then
|
|
print_error "This script must be run as root (use sudo)"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if systemd is available
|
|
if ! command -v systemctl &> /dev/null; then
|
|
print_error "systemd is not available on this system"
|
|
exit 1
|
|
fi
|
|
|
|
# Get the directory where this script is located
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
SERVICE_FILE="$SCRIPT_DIR/spinifex.service"
|
|
|
|
# Check if service file exists
|
|
if [[ ! -f "$SERVICE_FILE" ]]; then
|
|
print_error "Service file not found at $SERVICE_FILE"
|
|
exit 1
|
|
fi
|
|
|
|
print_status "Installing Spinifex systemd service..."
|
|
|
|
# Copy service file to systemd directory
|
|
cp "$SERVICE_FILE" /etc/systemd/system/
|
|
|
|
# Reload systemd to recognize the new service
|
|
systemctl daemon-reload
|
|
|
|
# Enable the service to start on boot
|
|
systemctl enable spinifex.service
|
|
|
|
print_status "Service installed successfully!"
|
|
print_status "You can now use the following commands:"
|
|
echo " systemctl start spinifex # Start the service"
|
|
echo " systemctl stop spinifex # Stop the service"
|
|
echo " systemctl status spinifex # Check service status"
|
|
echo " systemctl restart spinifex # Restart the service"
|
|
echo " journalctl -u spinifex -f # View service logs"
|
|
|
|
# Check if spinifex binary exists
|
|
if [[ ! -f "/opt/spinifex/bin/spinifex" ]]; then
|
|
print_warning "Spinifex binary not found at /opt/spinifex/bin/spinifex"
|
|
print_warning "Please ensure spinifex is installed in /opt/spinifex before starting the service"
|
|
fi
|
|
|
|
print_status "Installation complete!" |