Skip to content

events

events

The ClearanceEvent value type.

One flat dataclass carries every event kind the hub fans out to subscribers. Varlink IDL can't model sum types directly, so the type field discriminates and the remaining fields are populated per-kind — the same pattern io.systemd.Resolve.Monitor uses.

ClearanceEvent(type, container, request_id='', dest='', port=0, proto=0, domain='', action='', ok=False, reason='') dataclass

One event fanned out to every Subscribe() caller.

type + container are always populated; the remaining fields are filled in per-kind and default to zero-values otherwise.

Known values of type (additional fields beyond container):

  • connection_blockedrequest_id, dest, port, proto, domain. Requires an operator verdict.
  • verdict_appliedrequest_id, action, ok.
  • container_started — no extras.
  • container_exitedreason.
  • shield_up / shield_down / shield_down_all — no extras.

Unknown values are forwarded unchanged so the wire format can grow without breaking clients pinned to older schemas.

type instance-attribute

container instance-attribute

request_id = '' class-attribute instance-attribute

dest = '' class-attribute instance-attribute

port = 0 class-attribute instance-attribute

proto = 0 class-attribute instance-attribute

domain = '' class-attribute instance-attribute

action = '' class-attribute instance-attribute

ok = False class-attribute instance-attribute

reason = '' class-attribute instance-attribute