airdress.plugin.*
The events in the airdress.plugin family. How to read a section, and what
each audience means, is on the event reference page.
airdress.plugin.assertion.refused
Section titled “airdress.plugin.assertion.refused”A plugin’s assertion refresh was refused. Credential plumbing: not on the bus.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
code | string | yes | |
install | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin's assertion refresh was refused. Credential plumbing: not on the bus.", "properties": { "code": { "type": "string" }, "install": { "type": "string" } }, "required": [ "code", "install" ], "title": "PluginAssertionRefused", "type": "object"}airdress.plugin.author_key.revoked
Section titled “airdress.plugin.author_key.revoked”The registry index revokes a plugin author key.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
author | string | yes | |
key | string | yes | The revoked public key, hex. |
kind | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "The registry index revokes a plugin author key.", "properties": { "author": { "type": "string" }, "key": { "description": "The revoked public key, hex.", "type": "string" }, "kind": { "type": "string" } }, "required": [ "author", "key", "kind" ], "title": "PluginAuthorKeyRevoked", "type": "object"}airdress.plugin.authorization.granted
Section titled “airdress.plugin.authorization.granted”A person authorized a plugin’s personal scope.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
install | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A person authorized a plugin's personal scope.", "properties": { "install": { "type": "string" } }, "required": [ "install" ], "title": "PluginAuthorizationGranted", "type": "object"}airdress.plugin.authorization.offer_changed
Section titled “airdress.plugin.authorization.offer_changed”The owner changed whether a plugin’s personal scope is offered.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
install | string | yes | |
offered | boolean | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "The owner changed whether a plugin's personal scope is offered.", "properties": { "install": { "type": "string" }, "offered": { "type": "boolean" } }, "required": [ "install", "offered" ], "title": "PluginAuthorizationOfferChanged", "type": "object"}airdress.plugin.authorization.revoked
Section titled “airdress.plugin.authorization.revoked”A person revoked their authorization of a plugin’s personal scope.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
data | string | yes | erase or keep: what happens to the person’s plugin data. |
install | string | yes | |
reason | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A person revoked their authorization of a plugin's personal scope.", "properties": { "data": { "description": "`erase` or `keep`: what happens to the person's plugin data.", "type": "string" }, "install": { "type": "string" }, "reason": { "type": "string" } }, "required": [ "data", "install", "reason" ], "title": "PluginAuthorizationRevoked", "type": "object"}airdress.plugin.config.invalid
Section titled “airdress.plugin.config.invalid”An install’s stored config does not match its app’s schema; it starts without it.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
airdress | string | yes | |
error | string | yes | |
subdomain | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "An install's stored config does not match its app's schema; it starts without it.", "properties": { "airdress": { "type": "string" }, "error": { "type": "string" }, "subdomain": { "type": "string" } }, "required": [ "airdress", "error", "subdomain" ], "title": "PluginConfigInvalid", "type": "object"}airdress.plugin.egress.refused
Section titled “airdress.plugin.egress.refused”A plugin’s outbound connection was refused by its egress policy.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
host | string | yes | |
install | string | yes | |
reason | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin's outbound connection was refused by its egress policy.", "properties": { "host": { "type": "string" }, "install": { "type": "string" }, "reason": { "type": "string" } }, "required": [ "host", "install", "reason" ], "title": "PluginEgressRefused", "type": "object"}airdress.plugin.export.written
Section titled “airdress.plugin.export.written”An uninstall held each person’s plugin resources as their export.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
install | string | yes | |
persons | integer (uint) | yes | |
window_secs | integer (int64) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "An uninstall held each person's plugin resources as their export.", "properties": { "install": { "type": "string" }, "persons": { "format": "uint", "minimum": 0, "type": "integer" }, "window_secs": { "format": "int64", "type": "integer" } }, "required": [ "install", "persons", "window_secs" ], "title": "PluginExportWritten", "type": "object"}airdress.plugin.grant.created
Section titled “airdress.plugin.grant.created”The owner granted a plugin install actions in a scope.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
actions | integer (uint) | yes | How many actions it grants. |
install | string | yes | |
scope | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "The owner granted a plugin install actions in a scope.", "properties": { "actions": { "description": "How many actions it grants.", "format": "uint", "minimum": 0, "type": "integer" }, "install": { "type": "string" }, "scope": { "type": "string" } }, "required": [ "actions", "install", "scope" ], "title": "PluginGrantCreated", "type": "object"}airdress.plugin.grant.revoked
Section titled “airdress.plugin.grant.revoked”A plugin grant was revoked.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
install | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin grant was revoked.", "properties": { "install": { "type": "string" } }, "required": [ "install" ], "title": "PluginGrantRevoked", "type": "object"}airdress.plugin.host.call_refused
Section titled “airdress.plugin.host.call_refused”A call on a plugin’s host socket, or a host question it asked, was refused.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
code | string | yes | |
install | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A call on a plugin's host socket, or a host question it asked, was refused.", "properties": { "code": { "type": "string" }, "install": { "type": "string" } }, "required": [ "code", "install" ], "title": "PluginHostCallRefused", "type": "object"}airdress.plugin.host.decided
Section titled “airdress.plugin.host.decided”The host answered a plugin’s authorization questions. One per call: chatty, not on the bus.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
actor | string | yes | The asking actor’s role, as the journal has always written it. |
allowed | integer (uint) | yes | |
install | string | yes | |
queries | integer (uint) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "The host answered a plugin's authorization questions. One per call: chatty, not on the bus.", "properties": { "actor": { "description": "The asking actor's role, as the journal has always written it.", "type": "string" }, "allowed": { "format": "uint", "minimum": 0, "type": "integer" }, "install": { "type": "string" }, "queries": { "format": "uint", "minimum": 0, "type": "integer" } }, "required": [ "actor", "allowed", "install", "queries" ], "title": "PluginHostDecided", "type": "object"}airdress.plugin.host.key_created
Section titled “airdress.plugin.host.key_created”The plugin host created its assertion key. Key metadata: not on the bus.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
kid | string | yes | |
path | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "The plugin host created its assertion key. Key metadata: not on the bus.", "properties": { "kid": { "type": "string" }, "path": { "type": "string" } }, "required": [ "kid", "path" ], "title": "PluginHostKeyCreated", "type": "object"}airdress.plugin.host.key_released
Section titled “airdress.plugin.host.key_released”The host released a data key to a plugin. Never the key; key plumbing, so not on the bus.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
install | string | yes | |
scope | string | yes | airdress or personal. |
version | integer (uint32) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "The host released a data key to a plugin. Never the key; key plumbing, so not on the bus.", "properties": { "install": { "type": "string" }, "scope": { "description": "`airdress` or `personal`.", "type": "string" }, "version": { "format": "uint32", "minimum": 0, "type": "integer" } }, "required": [ "install", "scope", "version" ], "title": "PluginHostKeyReleased", "type": "object"}airdress.plugin.host.peer_mismatch
Section titled “airdress.plugin.host.peer_mismatch”A process outside an install’s instance called its host socket.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
install | string | yes | |
pid | integer (uint32) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A process outside an install's instance called its host socket.", "properties": { "install": { "type": "string" }, "pid": { "format": "uint32", "minimum": 0, "type": "integer" } }, "required": [ "install", "pid" ], "title": "PluginHostPeerMismatch", "type": "object"}airdress.plugin.index.unverified
Section titled “airdress.plugin.index.unverified”The plugin registry index could not be verified; revocations already known still apply.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
error | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "The plugin registry index could not be verified; revocations already known still apply.", "properties": { "error": { "type": "string" } }, "required": [ "error" ], "title": "PluginIndexUnverified", "type": "object"}airdress.plugin.install.completed
Section titled “airdress.plugin.install.completed”A plugin was installed.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
app | string | yes | |
install_id | string | yes | |
source | string | yes | registry or local. |
version | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin was installed.", "properties": { "app": { "type": "string" }, "install_id": { "type": "string" }, "source": { "description": "`registry` or `local`.", "type": "string" }, "version": { "type": "string" } }, "required": [ "app", "install_id", "source", "version" ], "title": "PluginInstallCompleted", "type": "object"}airdress.plugin.install.failed
Section titled “airdress.plugin.install.failed”A registry install was refused before anything was written.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
code | string | yes | |
error | string | yes | |
step | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A registry install was refused before anything was written.", "properties": { "code": { "type": "string" }, "error": { "type": "string" }, "step": { "type": "string" } }, "required": [ "code", "error", "step" ], "title": "PluginInstallFailed", "type": "object"}airdress.plugin.install.not_served
Section titled “airdress.plugin.install.not_served”A stored plugin install could not be served at start.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
airdress | string | yes | |
app | string | yes | |
error | string | yes | |
subdomain | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A stored plugin install could not be served at start.", "properties": { "airdress": { "type": "string" }, "app": { "type": "string" }, "error": { "type": "string" }, "subdomain": { "type": "string" } }, "required": [ "airdress", "app", "error", "subdomain" ], "title": "PluginInstallNotServed", "type": "object"}airdress.plugin.install.quarantined
Section titled “airdress.plugin.install.quarantined”A plugin install stopped serving: the key that signed its release was revoked as compromised.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
airdress | string | yes | |
install_id | string | yes | |
plugin | string | yes | |
reason | string | yes | |
subdomain | string | yes | |
version | string | yes | As the journal has always written it (Some("…") or None). |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin install stopped serving: the key that signed its release was revoked as compromised.", "properties": { "airdress": { "type": "string" }, "install_id": { "type": "string" }, "plugin": { "type": "string" }, "reason": { "type": "string" }, "subdomain": { "type": "string" }, "version": { "description": "As the journal has always written it (`Some(\"…\")` or `None`).", "type": "string" } }, "required": [ "airdress", "install_id", "plugin", "reason", "subdomain", "version" ], "title": "PluginInstallQuarantined", "type": "object"}airdress.plugin.install.rolled_back
Section titled “airdress.plugin.install.rolled_back”An install failed after its download; the artifact was removed.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
plugin | string | yes | |
version | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "An install failed after its download; the artifact was removed.", "properties": { "plugin": { "type": "string" }, "version": { "type": "string" } }, "required": [ "plugin", "version" ], "title": "PluginInstallRolledBack", "type": "object"}airdress.plugin.install.started
Section titled “airdress.plugin.install.started”A registry install began.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
dry_run | boolean | yes | |
plugin | string | yes | |
version | string or null | no | The version asked for; None for the latest. |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A registry install began.", "properties": { "dry_run": { "type": "boolean" }, "plugin": { "type": "string" }, "version": { "description": "The version asked for; `None` for the latest.", "type": [ "string", "null" ] } }, "required": [ "dry_run", "plugin" ], "title": "PluginInstallStarted", "type": "object"}airdress.plugin.install.unsigned
Section titled “airdress.plugin.install.unsigned”An unsigned plugin release is being installed because the host allows it.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
plugin | string | yes | |
version | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "An unsigned plugin release is being installed because the host allows it.", "properties": { "plugin": { "type": "string" }, "version": { "type": "string" } }, "required": [ "plugin", "version" ], "title": "PluginInstallUnsigned", "type": "object"}airdress.plugin.instance.exited
Section titled “airdress.plugin.instance.exited”A plugin instance’s process exited without being asked to, or an OOM kill landed while it drained.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
airdress | string | yes | |
app | string | yes | |
code | integer or null | no | |
during_stop | boolean | yes | |
reason | string | yes | oom_kill, signal or exit. |
signal | integer or null | no |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin instance's process exited without being asked to, or an OOM kill landed while it drained.", "properties": { "airdress": { "type": "string" }, "app": { "type": "string" }, "code": { "format": "int32", "type": [ "integer", "null" ] }, "during_stop": { "type": "boolean" }, "reason": { "description": "`oom_kill`, `signal` or `exit`.", "type": "string" }, "signal": { "format": "int32", "type": [ "integer", "null" ] } }, "required": [ "airdress", "app", "during_stop", "reason" ], "title": "PluginInstanceExited", "type": "object"}airdress.plugin.instance.not_ready
Section titled “airdress.plugin.instance.not_ready”A plugin instance’s health check never answered 2xx within the cold-start timeout.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
airdress | string | yes | |
app | string | yes | |
path | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin instance's health check never answered 2xx within the cold-start timeout.", "properties": { "airdress": { "type": "string" }, "app": { "type": "string" }, "path": { "type": "string" } }, "required": [ "airdress", "app", "path" ], "title": "PluginInstanceNotReady", "type": "object"}airdress.plugin.instance.unhealthy
Section titled “airdress.plugin.instance.unhealthy”A plugin instance’s health check kept failing; it was stopped and the next request restarts it.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
airdress | string | yes | |
app | string | yes | |
failures | integer (uint32) | yes | |
path | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin instance's health check kept failing; it was stopped and the next request restarts it.", "properties": { "airdress": { "type": "string" }, "app": { "type": "string" }, "failures": { "format": "uint32", "minimum": 0, "type": "integer" }, "path": { "type": "string" } }, "required": [ "airdress", "app", "failures", "path" ], "title": "PluginInstanceUnhealthy", "type": "object"}airdress.plugin.kind.applied
Section titled “airdress.plugin.kind.applied”A plugin applied one of its own resources.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
install | string | yes | |
kind | string | yes | |
scope | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin applied one of its own resources.", "properties": { "install": { "type": "string" }, "kind": { "type": "string" }, "scope": { "type": "string" } }, "required": [ "install", "kind", "scope" ], "title": "PluginKindApplied", "type": "object"}airdress.plugin.kind.deleted
Section titled “airdress.plugin.kind.deleted”A plugin resource was deleted.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
install | string | yes | |
kind | string | yes | |
scope | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin resource was deleted.", "properties": { "install": { "type": "string" }, "kind": { "type": "string" }, "scope": { "type": "string" } }, "required": [ "install", "kind", "scope" ], "title": "PluginKindDeleted", "type": "object"}airdress.plugin.log
Section titled “airdress.plugin.log”One line a plugin wrote, re-emitted under [PLUGIN_LOG_TARGET]. The line is the journal line’s message and is never recorded: what a plugin prints is its own content.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
install | string | yes | |
plugin | string | yes | |
stream | string | yes | stdout or stderr. |
truncated | boolean | yes | The line was cut at the per-line cap. |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "One line a plugin wrote, re-emitted under [`PLUGIN_LOG_TARGET`]. The line is the journal line's message and is never recorded: what a plugin prints is its own content.", "properties": { "install": { "type": "string" }, "plugin": { "type": "string" }, "stream": { "description": "`stdout` or `stderr`.", "type": "string" }, "truncated": { "description": "The line was cut at the per-line cap.", "type": "boolean" } }, "required": [ "install", "plugin", "stream", "truncated" ], "title": "PluginLog", "type": "object"}airdress.plugin.log_dropped
Section titled “airdress.plugin.log_dropped”A plugin wrote faster than its line budget; lines were dropped.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
dropped | integer (uint64) | yes | |
install | string | yes | |
plugin | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin wrote faster than its line budget; lines were dropped.", "properties": { "dropped": { "format": "uint64", "minimum": 0, "type": "integer" }, "install": { "type": "string" }, "plugin": { "type": "string" } }, "required": [ "dropped", "install", "plugin" ], "title": "PluginLogDropped", "type": "object"}airdress.plugin.name_published
Section titled “airdress.plugin.name_published”A plugin’s name was published in this operator’s own zone.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
label | string | yes | The plugin’s label under the airdress. |
zone | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin's name was published in this operator's own zone.", "properties": { "label": { "description": "The plugin's label under the airdress.", "type": "string" }, "zone": { "type": "string" } }, "required": [ "label", "zone" ], "title": "PluginNamePublished", "type": "object"}airdress.plugin.name_withdrawn
Section titled “airdress.plugin.name_withdrawn”A plugin’s name was withdrawn from this operator’s own zone.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
label | string | yes | |
zone | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin's name was withdrawn from this operator's own zone.", "properties": { "label": { "type": "string" }, "zone": { "type": "string" } }, "required": [ "label", "zone" ], "title": "PluginNameWithdrawn", "type": "object"}airdress.plugin.parent_name_withdrawn
Section titled “airdress.plugin.parent_name_withdrawn”A plugin name the parent zone still held was withdrawn from it.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
label | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin name the parent zone still held was withdrawn from it.", "properties": { "label": { "type": "string" } }, "required": [ "label" ], "title": "PluginParentNameWithdrawn", "type": "object"}airdress.plugin.principal.erased
Section titled “airdress.plugin.principal.erased”A revoked person’s plugin data was erased.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
install | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A revoked person's plugin data was erased.", "properties": { "install": { "type": "string" } }, "required": [ "install" ], "title": "PluginPrincipalErased", "type": "object"}airdress.plugin.principal.revoked
Section titled “airdress.plugin.principal.revoked”A revoked person’s plugin data is unreachable and scheduled for erasure.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
erase_in_secs | integer (int64) | yes | |
install | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A revoked person's plugin data is unreachable and scheduled for erasure.", "properties": { "erase_in_secs": { "format": "int64", "type": "integer" }, "install": { "type": "string" } }, "required": [ "erase_in_secs", "install" ], "title": "PluginPrincipalRevoked", "type": "object"}airdress.plugin.proxy.refused
Section titled “airdress.plugin.proxy.refused”A request to a plugin was refused: before it was forwarded, or because its signed body was not the one signed.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
airdress | string | yes | |
app | string or null | no | The plugin’s subdomain, when the refusal came before forwarding. |
code | string | yes | |
mismatch | string or null | no | How a signed body differed from its digest, for body_digest_mismatch. |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A request to a plugin was refused: before it was forwarded, or because its signed body was not the one signed.", "properties": { "airdress": { "type": "string" }, "app": { "description": "The plugin's subdomain, when the refusal came before forwarding.", "type": [ "string", "null" ] }, "code": { "type": "string" }, "mismatch": { "description": "How a signed body differed from its digest, for `body_digest_mismatch`.", "type": [ "string", "null" ] } }, "required": [ "airdress", "code" ], "title": "PluginProxyRefused", "type": "object"}airdress.plugin.sandbox.insecure
Section titled “airdress.plugin.sandbox.insecure”A Tier-1 plugin runs, or will run, without the sandbox’s full protection: started unsandboxed, the host configured to run every plugin so, or its limits fallen back to setrlimit.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
airdress | string or null | no | |
app | string or null | no | The plugin, when one is starting. |
note | string | yes | Which of the three: the journal line’s message. |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A Tier-1 plugin runs, or will run, without the sandbox's full protection: started unsandboxed, the host configured to run every plugin so, or its limits fallen back to setrlimit.", "properties": { "airdress": { "type": [ "string", "null" ] }, "app": { "description": "The plugin, when one is starting.", "type": [ "string", "null" ] }, "note": { "description": "Which of the three: the journal line's message.", "type": "string" } }, "required": [ "note" ], "title": "PluginSandboxInsecure", "type": "object"}airdress.plugin.session.swept
Section titled “airdress.plugin.session.swept”Expired plugin sessions were swept. Housekeeping: not on the bus.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Not functions bound to this operator’s events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
count | integer (uint64) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "Expired plugin sessions were swept. Housekeeping: not on the bus.", "properties": { "count": { "format": "uint64", "minimum": 0, "type": "integer" } }, "required": [ "count" ], "title": "PluginSessionSwept", "type": "object"}airdress.plugin.socket.refused
Section titled “airdress.plugin.socket.refused”A plugin’s socket was refused; the proxy will not dial it.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
app | string | yes | |
reason | string | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin's socket was refused; the proxy will not dial it.", "properties": { "app": { "type": "string" }, "reason": { "type": "string" } }, "required": [ "app", "reason" ], "title": "PluginSocketRefused", "type": "object"}airdress.plugin.uninstall.completed
Section titled “airdress.plugin.uninstall.completed”A plugin was uninstalled.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
app | string | yes | |
install_id | string | yes | As the journal has always written it (Some(…) or None). |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin was uninstalled.", "properties": { "app": { "type": "string" }, "install_id": { "description": "As the journal has always written it (`Some(…)` or `None`).", "type": "string" } }, "required": [ "app", "install_id" ], "title": "PluginUninstallCompleted", "type": "object"}airdress.plugin.wake
Section titled “airdress.plugin.wake”A plugin was woken on one of its schedules.
Audience: owner. About the airdress as a whole. Only the owner receives it: the owner’s devices and the owner’s subscriptions.
Where it goes
- The operator’s journal, as one log line at this level, and the event log, where
airdress events tailreads it. - Subscriptions that name it, within its audience.
- Functions bound to this operator’s events (
source: operator).
Versions
- Version 1: first carried by operator v0.1.135.
Data
| Field | Type | Required | Description |
|---|---|---|---|
attempts | integer (uint32) | yes | |
cold | boolean | yes | |
install | string | yes | |
outcome | string | yes | ok or failed. |
persons | integer (uint32) | yes | |
plugin | string | yes | |
schedule | string | yes | |
wake_ms | integer (uint64) | yes |
JSON Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "A plugin was woken on one of its schedules.", "properties": { "attempts": { "format": "uint32", "minimum": 0, "type": "integer" }, "cold": { "type": "boolean" }, "install": { "type": "string" }, "outcome": { "description": "`ok` or `failed`.", "type": "string" }, "persons": { "format": "uint32", "minimum": 0, "type": "integer" }, "plugin": { "type": "string" }, "schedule": { "type": "string" }, "wake_ms": { "format": "uint64", "minimum": 0, "type": "integer" } }, "required": [ "attempts", "cold", "install", "outcome", "persons", "plugin", "schedule", "wake_ms" ], "title": "PluginWake", "type": "object"}