Open Source C4ISR
Tactical Data Fabric for Autonomous Systems
Binary size: 30.3MB
curl -LsSf https://constellation-overwatch.github.io/overwatch/install.sh | sh
Lightweight industrial data stack designed with ontological data primitives.
entity_id
namespacing for UAVs, robotics, sensors, and real-time video intelligence at the edge and under your
security control.
Low-latency pub/sub communication powered by NATS JetStream
Efficient handling of high-frequency sensor data from edge devices
Manage drones, robots, sensors, and autonomous systems
RESTful API with bearer token authentication
Server-sent events powered UI with Datastar framework
Self-contained messaging with rapid global super-clustering capabilities
Full security perimeter isolation, network-agnostic operation for data residency and air-gapped environments
Portable deployment, proximity-based processing to minimize latency and maximize data locality for field operations
curl -LsSf https://constellation-overwatch.github.io/overwatch/install.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://constellation-overwatch.github.io/overwatch/install.ps1 | iex"
# Rapid start - just run it!
overwatch
# Custom port
overwatch -port 9090
# Production with secure tokens
overwatch -api-token $(openssl rand -hex 32) -nats-token $(openssl rand -hex 32)
Server starts on http://localhost:8080 (API & Web UI)
NATS messaging on port 4222
reindustrializereindustrialize-dev-tokenreindustrialize-america
Production: Use custom tokens with -api-token and -nats-token flags
OPTIONS:
-port <PORT> Web UI and API port (default: 8080)
-host <HOST> Bind address (default: 0.0.0.0)
-nats-port <PORT> NATS server port (default: 4222)
-api-token <TOKEN> API bearer token
-nats-token <TOKEN> NATS auth token
-data-dir <PATH> Data directory (default: ./data)
-env <PATH> Path to .env file (default: .env)
-version Print version and exit
-help Show this help message
Priority Order: CLI flags > environment variables > .env file > defaults
git clone https://github.com/Constellation-Overwatch/constellation-overwatch.git
cd constellation-overwatch
brew install go-task/tap/go-task
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
scoop install task
Requires Scoop package manager
# Development mode with auto-reload
task dev
# OR run directly
go run ./cmd/microlith/main.go
Server starts on http://localhost:8080 (API & Web UI)
NATS messaging on port 4222
reindustrializereindustrialize-dev-tokenreindustrialize-america
Production: Use custom tokens with CLI flags or environment variables
Follow the organization setup steps below (same for both installation methods).
Recommended: Use the web interface for easy setup
1. Navigate to: http://localhost:8080/organizations
2. Click "Create Organization"
3. Fill form: Name, Type (civilian/military/commercial), Description
4. Navigate to: http://localhost:8080/fleet
5. Register entities to your organization
For programmatic integration
export TOKEN="reindustrialize-dev-token"
curl -X POST http://localhost:8080/api/v1/organizations \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My Fleet",
"org_type": "civilian",
"description": "My drone fleet"
}'
Save the org_id from the response!
Constellation uses ontological data primitives. Structure all telemetry as signal
trees under your entity_id namespace.
Each signal should represent a discrete semantic concept (e.g., position.lat,
sensors.temperature, state.battery).
Clients publish structured telemetry to the global state using their registered entity_id as the signal namespace root.
export TOKEN="reindustrialize-dev-token"
export ORG_ID='your-org-id-here'
curl -X POST "http://localhost:8080/api/v1/entities?org_id=$ORG_ID" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Drone-001",
"entity_type": "aircraft_multirotor",
"description": "Primary inspection drone",
"metadata": {
"model": "DJI-M300",
"serial": "ABC123456"
}
}'
Extract the entity_id from the response - this is your unique identifier!
Your client publishes telemetry to the CONSTELLATION_GLOBAL_STATE KV bucket using your entity_id as the key:
# KV bucket for global state
CONSTELLATION_GLOBAL_STATE
# Key format: your entity_id
# Value: ontological telemetry data
# Commands can still use subjects for real-time messaging:
constellation.commands.{org_id}.{entity_id}
Publish structured data to the KV store using your entity_id as the key:
export ENTITY_ID='your-entity-id-here'
# Publish ontological telemetry to CONSTELLATION_GLOBAL_STATE KV bucket
# Key: entity_id, Value: ontological signal structure
nats kv put CONSTELLATION_GLOBAL_STATE "$ENTITY_ID" \
'{
"position": {"lat": 37.7749, "lon": -122.4194, "alt": 100},
"orientation": {"roll": 0.1, "pitch": -0.2, "yaw": 1.5},
"sensors": {"temperature": 22.5, "humidity": 65, "pressure": 1013.25},
"state": {"battery": 85, "mode": "autonomous", "armed": true},
"performance": {"velocity": 5.2, "thrust": 0.7, "efficiency": 0.92}
}'
Entity state now stored in CONSTELLATION_GLOBAL_STATE KV with entity_id as key
High-performance MAVLink to NATS JetStream bridge and telemetry router. Ingest MAVLink telemetry from drones/robotic fleets, parse in real-time, and bridge to Constellation mesh.
Repo: github.com/Constellation-Overwatch/mavlink2constellation
Real-time video edge inference system with modular ML detection for the Constellation Overwatch Fabric.
Models: YOLOE C4ISR threat detection, RT-DETR, SAM2 segmentation, Moondream vision-language
Features: Multi-model detection, NATS JetStream bridge, video frame streaming, device fingerprinting, C4ISR threat intelligence
Repo: github.com/Constellation-Overwatch/vision2constellation
Stay tuned! Follow us for updates:
Deploy Constellation Overwatch to production cloud infrastructure with automated provisioning, security hardening, and container orchestration.
# Clone and deploy
git clone https://github.com/Constellation-Overwatch/toolbelt.git
cd toolbelt
task setup-config
# Edit .env with your Linode API token and SSH keys
# Then deploy everything:
task deploy
Access your production deployment at your server IP or configured domain
"We want an industrial economy built around productivity rather than exploitation. Innovation drives productivity, which raises wages—in a virtuous cycle underpinned by manufacturing."
— Jamieson Greer
http://localhost:8080 (after starting server)
Connect with developers and users
Help grow and strengthen open source assets for advanced engineering in drones, robotics, and sensor deployments