Events
The 32 event families the control plane publishes to webhooks, the SSE watch stream and sinks.
Every event is { id, type, tenantId, subject, data, time }, delivered at least once in commit order. Subscriptions name a type or a family (node.*); a pattern nothing in this catalog can match is refused, and webhooks.eventTypes returns the same list.
| Type | Subject | Module | Description |
|---|---|---|---|
site.* | site/{id} | server | Sites created, updated and deleted |
project.* | project/{id} | server | Projects created, changed and archived (project.archived: { projectId, name }) |
tenant.* | tenant/{id} | server | IAM tenant mirrored as suspended, deleted or active again (tenant.state-changed: { tenantId, state, previous, reason }); a deleted tenant fully released by every module (tenant.torn-down) |
pool.* | pool/{id} | capacity | Pools created, updated, offered, unoffered and archived |
quota.updated | pool/{id} | capacity | A tenant quota on a pool changed |
quota.budget-exceeded | pool/{id} | capacity | A tenant's IAM budget was spent and the pool offer's onBudgetExceeded applied (notify, stop-new or drain) |
reservation.* | reservation/{id} | capacity | Reservation lifecycle (placed, active, released, ended, …) and awaiting-confirmation |
reservation.reassigned | reservation/{id} | capacity | An offboarded identity's reservation moved to its successor (§12.7): { reservationId, from, to, reason } |
node.* | node/{id} | server | Node lifecycle and connectivity: joined, acceptance.*, adopted, connected, disconnected, unreachable, lost, drained, deleted, status, command.queued, ssh-cert.issued, report-failed |
node.command.cancel-requested | node/{id} | server | Cancelling a command was requested ({ nodeId, commandId, kind, state }) |
node.condition.changed | node/{id} | inventory | A hygiene or pressure condition was raised or cleared (DriverMismatch, CertExpiring, DaemonOutdated, Cpu/Memory/DiskPressure): { condition, status, reason, noSchedule } |
node.remediation.* | node/{id} | provision | Health remediation started, succeeded or escalated to an operator |
pool.remediation.paused | node/{id} | provision | The remediation circuit breaker held a pool back (too many nodes turned unhealthy) |
node.inventory.changed | node/{id} | inventory | A node reported a different inventory |
node.gpu.* | node/{id} | inventory | A GPU appeared or went missing |
node.mig.* | node/{id} | inventory | A MIG layout changed |
node.disk.* | node/{id} | inventory | A disk was replaced |
node.driver.* | node/{id} | inventory | A driver changed |
node.enrolled | node/{id} | metal | A bare-metal machine enrolled |
node.pxe-mac.discovered | node/{id} | metal | PXE discovery found the MAC of a machine enrolled without MACs, first seen under its product UUID right after metal power-cycled it: a candidate for metal.confirmMac, or bound at once on a pool that trusts its provisioning network ({ nodeId, mac, productUuid, siteId, agentNodeId, bound }) |
node.pxe-mac.confirmed | node/{id} | metal | An operator bound a machine's PXE MAC with metal.confirmMac ({ nodeId, mac, discovered, requestId }) |
node.provision.* | node/{id} | metal | Provisioning state transitions of a bare-metal node |
command.settled | command/{id} | gateway | A command reached a terminal state |
workflow.* | workflow/{id} | provision | Provisioning workflow transitions |
instance.* | instance/{id} | vps | VPS instance lifecycle |
sandbox.* | sandbox/{id} | vps | Sandbox lifecycle (§3.7): created, ready (its instance first runs), extended, expiring (once, before expiry: { expiresAt }), expired (before the delete), withdrawn (its agent or delegation ended, or its owner left without a successor: { reason }), reassigned ({ from, to, reason }), deleted; data { templateId, instanceId, poolId } |
sandbox.snapshot.* | sandbox/{id} | vps | A sandbox snapshot settled: ready { snapshotId, includeMemory, sha256, sizeBytes } or failed { snapshotId, reason } |
fleet.* | fleet/{id} | fleet | FleetConfig converged or drifted |
rollout.* | rollout/{id} | rollout | Daemon rollouts started, paused, resumed, aborted, completed |
tunnel.* | tunnel/{id} | server | Tunnels issued and closed |
security.* | varies | server | Join tokens, site tokens, refused joins, revoked certificates, secrets |
webhook.ping | webhook/{id} | events | A test delivery from webhooks.ping |
Better Compute is created by Sean Filimon
Last updated