Linux Deployment
Deploy Radar Agent as a systemd service.
Installation
1. Create User and Directories
sudo useradd --system --no-create-home --shell /usr/sbin/nologin radar-agent
sudo mkdir -p /opt/radar-agent /etc/radar-agent
sudo chown radar-agent:radar-agent /opt/radar-agent
2. Install Binary
sudo cp target/release/radar-agent /opt/radar-agent/
sudo chmod +x /opt/radar-agent/radar-agent
sudo chown radar-agent:radar-agent /opt/radar-agent/radar-agent
3. Create Configuration
sudo vi /etc/radar-agent/config.yml
agent:
id: radar-agent-001
server:
grpc_url: ${RADAR_SERVER_URL}
api_key: ${RADAR_API_KEY}
deployments:
- id: redis-prod
name: Production Redis
type: standalone
redis_url: ${REDIS_URL}
4. Create Environment File
sudo vi /etc/radar-agent/environment
RADAR_SERVER_URL=http://localhost:50051
RADAR_API_KEY=your-api-key
REDIS_URL=redis://localhost:6379
RUST_LOG=info
Set permissions:
sudo chmod 600 /etc/radar-agent/environment
sudo chmod 640 /etc/radar-agent/config.yml
5. Create Systemd Service
sudo vi /etc/systemd/system/radar-agent.service
[Unit]
Description=Radar Agent
After=network.target
[Service]
Type=simple
User=radar-agent
Group=radar-agent
WorkingDirectory=/opt/radar-agent
ExecStart=/opt/radar-agent/radar-agent --config /etc/radar-agent/config.yml
Restart=always
RestartSec=10
EnvironmentFile=/etc/radar-agent/environment
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
6. Start Service
sudo systemctl daemon-reload
sudo systemctl enable radar-agent
sudo systemctl start radar-agent
sudo systemctl status radar-agent
Service Management
# View logs
sudo journalctl -u radar-agent -f
# Restart after config changes
sudo systemctl restart radar-agent
# Stop service
sudo systemctl stop radar-agent