How open-arsenal/ams-gra-hello-world-sk-infra-sleet works
Sleet is a Rust OMS LA-CAL server. Its main workflow accepts OWP WebSocket connections, authorizes and negotiates services, validates published OMS JSON against a loaded UCI schema, and routes messages to matching subscriptions; clients can subscribe, unsubscribe, and receive routed messages. Separate admin endpoints expose health, readiness, status, and metrics, while tracing can optionally export telemetry. The graph reflects README capabilities and sampled source; some subsystem wiring is documented but its implementation was not fully sampled.
Main entry points: server.rs WebSocket server · main.rs Runtime entry · validator.rs OMS validator · mod.rs Schema loader
Components 18
Server runtime
- Runtime entry
sleet/src/main.rs - Server config
sleet/src/config.rs - Service authorization
config/services.d
Schema validation
- Schema loader
sleet/src/schema/mod.rs - XSD parser
sleet/src/schema/parser.rs - Schema model
sleet/src/schema/model.rs - OMS validator
sleet/src/validator.rs - Facet evaluation
sleet/src/facets.rs
Messaging protocol
- WebSocket server
sleet/src/server.rs - OWP frames
sleet-types/src/owp.rs - OWP client library
sleet-client/src/lib.rs - Topic router
sleet/src/router.rs
Operations
- Admin endpoints
sleet/src/admin.rs - Tracing and metrics
sleet/src/telemetry.rs
Other components
- OWP clients
- UCI XSD files
- Operators and Prometheus
- OTLP collector
Connections 21
- OWP clients → OWP client library: uses client
- OWP client library → WebSocket server: OWP WebSocket
- Runtime entry → Server config: loads settings
- Runtime entry → Schema loader: loads schema
- Runtime entry → WebSocket server: starts listener
- Runtime entry → Admin endpoints: starts endpoints
- Runtime entry → Tracing and metrics: initializes
- Server config → Service authorization: loads services
- UCI XSD files → Schema loader: loaded at startup
- Schema loader → XSD parser: parses XSD
- XSD parser → Schema model: builds model
- WebSocket server → OWP frames: parses frames
- WebSocket server → OMS validator: validates PUB
- OMS validator → Schema model: reads schema
- OMS validator → Facet evaluation: checks facets
- WebSocket server → Topic router: dispatches publish and subscriptions
- Topic router → WebSocket server: queues deliveries
- WebSocket server → OWP clients: sends OWP replies
- Operators and Prometheus → Admin endpoints: requests status and metrics
- Admin endpoints → Operators and Prometheus: returns endpoints
- Tracing and metrics → OTLP collector: exports traces