Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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