Constellation OverwatchConstellation Overwatch
Platform

Quick Start

Get up and running with Constellation Overwatch in minutes

This guide will help you get Constellation Overwatch up and running in just a few minutes.

Step 1: Start the Server

Once installed, start Constellation Overwatch:

# Basic start (development mode)
overwatch

# Custom port
overwatch -port 9090

# Production with secure tokens
overwatch -api-token $(openssl rand -hex 32) -nats-token $(openssl rand -hex 32)

The server will start with:

Default Credentials

For development, use these default credentials:

ServiceCredentialValue
Web UI PasswordPasswordreindustrialize
API TokenBearer Tokenreindustrialize-dev-token
NATS Auth TokenTokenreindustrialize-america

Production Warning: Always use custom tokens in production with the -api-token and -nats-token flags.

Step 2: Create Your Organization

Organizations group your entities (drones, robots, sensors) under a single management structure.

  1. Navigate to: http://localhost:8080/organizations
  2. Click "Create Organization"
  3. Fill in the form:
    • Name: Your organization name
    • Type: civilian, military, commercial, or ngo
    • Description: Brief description

Option B: API

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 operations"
  }'

Save the org_id from the response!

Step 3: Register an Entity

Entities represent your physical assets (drones, robots, sensors).

export TOKEN="reindustrialize-dev-token"
export ORG_ID="your-org-id-from-step-2"

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 namespace!

Step 4: Publish Telemetry Data

Now you can publish telemetry to the global state using your entity_id:

export ENTITY_ID="your-entity-id-from-step-3"

# Publish ontological telemetry to CONSTELLATION_GLOBAL_STATE KV bucket
nats kv put CONSTELLATION_GLOBAL_STATE "$ENTITY_ID" \
  '{
    "position": {
      "global": {"latitude": 37.7749, "longitude": -122.4194, "altitude_msl": 100.0, "altitude_relative": 50.0}
    },
    "attitude": {
      "euler": {"roll": 0.1, "pitch": -0.2, "yaw": 1.5}
    },
    "vehicle_status": {"armed": true, "mode": "AUTO", "landed_state": 2},
    "power": {"voltage": 22.4, "current": 15.2, "battery_remaining": 85},
    "vfr": {"groundspeed": 5.2, "heading": 163, "climb_rate": 0.5}
  }'

Step 5: View Your Data

Check your data in the web dashboard:

What's Next?

You now have a basic Constellation Overwatch setup! Explore these areas next:

On this page