Skip to content

Operations

TamTunnel edited this page Jan 4, 2026 · 1 revision

Operations Guide

This guide covers deployment, monitoring, and troubleshooting for SpaceComms nodes.

Deployment

Prerequisites

  • Rust 1.75+ or pre-built binary
  • TLS certificates (for production)
  • Network connectivity to peers

Production Deployment (Docker)

# Build image
docker build -t spacecomms:latest .

# Run with mounted config
docker run -d \
  --name spacecomms \
  -p 8080:8080 \
  -v /etc/spacecomms:/etc/spacecomms:ro \
  -v /var/lib/spacecomms:/var/lib/spacecomms \
  spacecomms:latest \
  start --config /etc/spacecomms/config.yaml

Configuration

/etc/spacecomms/config.yaml example:

node:
  id: "node-prod-01"
  name: "Production Node 01"

server:
  host: "0.0.0.0"
  port: 8080
  tls:
    enabled: true
    cert_path: "/etc/spacecomms/certs/server.crt"
    key_path: "/etc/spacecomms/certs/server.key"

peers:
  - id: "peer-operator-a"
    address: "https://operator-a.example.com:8443"
    policies:
      accept_cdm: true

Monitoring

Health Check

curl http://localhost:8080/health

Key Metrics to Watch

Metric Normal Range Alert If
active_peers > 0 Drops to 0
errors < 1% > 5%
cdm_processing_time_ms < 100ms > 1000ms

Troubleshooting

Node won't start

  • Check if port 8080 is already used.
  • Validate config YAML syntax.
  • Ensure TLS certs match and are readable.

Peer won't connect

  • Verify network connectivity (ping, curl).
  • Check TLS certificate validity.
  • Ensure authentication tokens match.

For more detailed tested failure scenarios, see the Resilience Tests.

Clone this wiki locally