ODK

Local stack

Run the kit with Skylark

Skylark is the AMS GRA loadout orchestrator. One YAML describes the Hello World simulation stack, Sleet OWP bus, your mission services, PostMaster, and conformance. Messaging is OMS/UCI-only through Sleet.

Default loadout

Local Kubernetes (k3d)

Loadout id oms-local-k8s uses registry-pinned images. You do not need a monorepo checkout. Need Docker (Colima on macOS), k3d, kubectl, helm, python3, curl, and docker login registry.gitlab.com.

1

Doctor, then run.sh

./run.sh opens a service picker, creates a k3d cluster if needed, and deploys via Helm. Selections are per-deploy overrides; they do not edit the loadout file.

quick start
docker login registry.gitlab.com
./bin/skylark doctor --loadout-id oms-local-k8s --json
./run.sh
2

Stop without losing the cluster

teardown
./run.sh down
./run.sh down --delete-cluster

Cockpit

Endpoints on success

EndpointWhat
ws://127.0.0.1:31402/owpSleet OWP bus
http://127.0.0.1:31600PostMaster collector UI
http://127.0.0.1:31500Worldview
http://127.0.0.1:31323Grafana
http://127.0.0.1:31317Prometheus

Reprint URLs with ./bin/skylark status --json or read generated/cockpit.json. Hello-world-sk images are x86_64; Skylark starts Colima profile skylark-x86 when needed.

Loadouts

Other runtimes

  • oms-local-k8s — default local k3d
  • hello-world-compose — full sim via Docker Compose
  • sleet-only — bus only

Observe

PostMaster

PostMaster is a real-time UCI/OWP monitor: a source × topic matrix of message counts with payload drill-down. Rows come from MessageHeader.serviceID.descriptiveLabel; columns are OWP topics such as mission.entity. Skylark deploys the collector when the loadout enables it. Standalone collector listens on port 21600; under Skylark k8s the NodePort is 31600.

PostMaster collector showing a source by topic message-count matrix and a throughput graph on a live bus
PostMaster collector — source × topic matrix

Skylark · PostMaster · Write a service first