Skip to content

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.

Owner info

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 tail reads 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

FieldTypeRequiredDescription
codestringyes
installstringyes
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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
authorstringyes
keystringyesThe revoked public key, hex.
kindstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
installstringyes
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”
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
installstringyes
offeredbooleanyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
datastringyeserase or keep: what happens to the person’s plugin data.
installstringyes
reasonstringyes
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"
}
Owner error Functions

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 tail reads 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

FieldTypeRequiredDescription
airdressstringyes
errorstringyes
subdomainstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
hoststringyes
installstringyes
reasonstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
installstringyes
personsinteger (uint)yes
window_secsinteger (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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
actionsinteger (uint)yesHow many actions it grants.
installstringyes
scopestringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
installstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
codestringyes
installstringyes
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"
}
Owner info

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 tail reads 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

FieldTypeRequiredDescription
actorstringyesThe asking actor’s role, as the journal has always written it.
allowedinteger (uint)yes
installstringyes
queriesinteger (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"
}
Owner info

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 tail reads 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

FieldTypeRequiredDescription
kidstringyes
pathstringyes
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"
}
Owner info

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 tail reads 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

FieldTypeRequiredDescription
installstringyes
scopestringyesairdress or personal.
versioninteger (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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
installstringyes
pidinteger (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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
errorstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
appstringyes
install_idstringyes
sourcestringyesregistry or local.
versionstringyes
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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
codestringyes
errorstringyes
stepstringyes
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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
airdressstringyes
appstringyes
errorstringyes
subdomainstringyes
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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
airdressstringyes
install_idstringyes
pluginstringyes
reasonstringyes
subdomainstringyes
versionstringyesAs 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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
pluginstringyes
versionstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
dry_runbooleanyes
pluginstringyes
versionstring or nullnoThe 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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
pluginstringyes
versionstringyes
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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
airdressstringyes
appstringyes
codeinteger or nullno
during_stopbooleanyes
reasonstringyesoom_kill, signal or exit.
signalinteger or nullno
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"
}
Owner error Functions

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 tail reads 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

FieldTypeRequiredDescription
airdressstringyes
appstringyes
pathstringyes
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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
airdressstringyes
appstringyes
failuresinteger (uint32)yes
pathstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
installstringyes
kindstringyes
scopestringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
installstringyes
kindstringyes
scopestringyes
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"
}
Owner info

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 tail reads 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

FieldTypeRequiredDescription
installstringyes
pluginstringyes
streamstringyesstdout or stderr.
truncatedbooleanyesThe 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"
}
Owner warn

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 tail reads 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

FieldTypeRequiredDescription
droppedinteger (uint64)yes
installstringyes
pluginstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
labelstringyesThe plugin’s label under the airdress.
zonestringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
labelstringyes
zonestringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
labelstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
installstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
erase_in_secsinteger (int64)yes
installstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
airdressstringyes
appstring or nullnoThe plugin’s subdomain, when the refusal came before forwarding.
codestringyes
mismatchstring or nullnoHow 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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
airdressstring or nullno
appstring or nullnoThe plugin, when one is starting.
notestringyesWhich 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"
}
Owner info

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 tail reads 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

FieldTypeRequiredDescription
countinteger (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"
}
Owner warn Functions

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 tail reads 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

FieldTypeRequiredDescription
appstringyes
reasonstringyes
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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
appstringyes
install_idstringyesAs 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"
}
Owner info Functions

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 tail reads 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

FieldTypeRequiredDescription
attemptsinteger (uint32)yes
coldbooleanyes
installstringyes
outcomestringyesok or failed.
personsinteger (uint32)yes
pluginstringyes
schedulestringyes
wake_msinteger (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"
}