Skip to main content

Module services

Module services 

Source
Expand description

Argus’s functions as liminal services under Lys grants (ACCESS-003 R1).

Six services serve subjects placed under the network: context-watch, seats.<name>, budgets.<name>, alarms, launches and sessions.<id>.keys. Rights on them are Lys grants decided through the ACCESS-001 seams: a hot subject is decided from the pass offline as a call; sessions.<id>.keys defaults to class deliberate, mode by_draft, so only an administrator holds it outright, and it is asked of Lys live, never decided hot and never defaulted. Budgets and stops are read from Lys and never decided here. There is no client registry: a seat is a Lys identity with a pass, and a request without an admitted pass never reaches a service.

Modules§

actions
The production ServiceAction for alarms and launches (ACCESS-003 R1).
broker
A blind broker: address registrations, lookups, punch instructions and a UDP echo.
budgets
The production BudgetSource: budgets and stops read from Lys, never decided in liminal (ACCESS-003 R1).
context_watch
The context watch: a watcher over the context-watch subject that reports each context reading to Lys, which decides what a crossed budget does (ACCESS-003 R1).
keys
The production KeySender: a session’s keys delivered as a publish on sessions.<id>.keys through the server’s own publish path (ACCESS-003 R1).
lifecycle
The services registry and its lifecycle (SRV-028 R2 to R5).
lys_http
The Lys HTTP routes the production service bindings read and ask (ACCESS-003 R1), behind one seam.
production
The production bindings of the service seams (ACCESS-003 R1), built once from [auth.lys.services] and [auth.lys.broker].
relay
Blind relay streams resolved from admitted holders to recorded machines.
seats
The production SeatStarter: a seat is a Lys identity with a pass, started by Lys (ACCESS-003 R1).

Structs§

BudgetPolicy
Budget and stop policy as Lys holds it; liminal carries it, never decides it.
ServiceEffectError
Why a service effect did not happen.
ServiceManifest
What services/<name>/service.json holds; the gate test proves the file equals ServiceKind::manifest.
ServiceRequest
What one service request carries beyond its subject.
ServiceSubject
A subject resolved to its service and the segment that names the instance.
Services
The effect seams the services act through.

Enums§

ServiceKind
The six services, each a family of placed subjects.
ServiceOutcome
What serving a subject came to.
ServiceRefusal
Why a subject was not served, by name.

Traits§

BudgetSource
Reads a holder’s budget and stop policy from Lys. Ok(None) means Lys holds no policy, which is a refusal, never a local default.
KeySender
Sends a session’s keys, once per outright decision.
SeatStarter
Starts a named seat; the seat is a Lys identity with a pass, so the starter receives only the name and never consults a client registry.
ServiceAction
Acts for the bare services: alarms, launches and the context watch.
ServiceDecider
Who decides a service request: the admitted pass through its consumer, or a connection’s admitted LysSession.

Functions§

classify_subject
The route class of a service subject; None when no service serves it. sessions.<id>.keys is deliberate by_draft; a call on the wire never overrides it.
serve
Serves subject for the holder of pass, its effect made under request’s operation with its payload.
serve_session
Serves request on subject for a connection’s admitted Lys session (ACCESS-003 R1, the wire route).
service_of
Resolves a subject to the service that serves it, or None when no service does.