74 lines
1.6 KiB
Bash
Executable File
74 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# AtlasOS - Calypso API Service Restart Script
|
|
# Restarts the API server using systemd service
|
|
#
|
|
|
|
set -euo pipefail
|
|
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
|
|
log_info() {
|
|
echo -e "${GREEN}[INFO]${NC} $1"
|
|
}
|
|
|
|
log_warn() {
|
|
echo -e "${YELLOW}[WARN]${NC} $1"
|
|
}
|
|
|
|
log_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# Check if running as root
|
|
if [ "$EUID" -ne 0 ]; then
|
|
log_error "Please run as root (use sudo)"
|
|
exit 1
|
|
fi
|
|
|
|
cd "$(dirname "$0")/../backend" || exit 1
|
|
|
|
log_info "Building Calypso API..."
|
|
|
|
# Build the application
|
|
if go build -o bin/calypso-api ./cmd/calypso-api; then
|
|
log_info "✓ Build successful"
|
|
else
|
|
log_error "✗ Build failed"
|
|
exit 1
|
|
fi
|
|
|
|
# Restart the service
|
|
log_info "Restarting calypso-api service..."
|
|
if systemctl restart calypso-api; then
|
|
log_info "✓ Service restarted successfully"
|
|
sleep 2
|
|
|
|
# Check service status
|
|
if systemctl is-active --quiet calypso-api; then
|
|
log_info "✓ Service is running"
|
|
log_info ""
|
|
log_info "Service Status:"
|
|
systemctl status calypso-api --no-pager -l | head -15
|
|
log_info ""
|
|
log_info "Recent logs:"
|
|
journalctl -u calypso-api --no-pager -n 10 | tail -5
|
|
else
|
|
log_error "✗ Service failed to start"
|
|
log_error "Check logs with: sudo journalctl -u calypso-api -n 50"
|
|
exit 1
|
|
fi
|
|
else
|
|
log_error "✗ Failed to restart service"
|
|
exit 1
|
|
fi
|
|
|
|
log_info ""
|
|
log_info "✅ API server restarted successfully!"
|
|
log_info " Health check: curl http://localhost:8080/api/v1/health"
|
|
log_info " View logs: sudo journalctl -u calypso-api -f"
|
|
|