Skip to content

airdress.dns.*

The events in the airdress.dns family. How to read a section, and what each audience means, is on the event reference page.

Owner warn Functions

The hub did not take this operator’s DNS report (an HTTP status, or unreachable); the report is retried on the interval. Said when the outcome changes.

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.138.

Data

FieldTypeRequiredDescription
outcomestringyes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "The hub did not take this operator's DNS report (an HTTP status, or unreachable); the report is retried on the interval. Said when the outcome changes.",
"properties": {
"outcome": {
"type": "string"
}
},
"required": [
"outcome"
],
"title": "DelegationReportRefused",
"type": "object"
}
Owner info Functions

The hub accepted this operator’s DNS report. Said when the outcome changes, not on every interval.

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.138.

Data

FieldTypeRequiredDescription
serves_own_zonebooleanyes
transferbooleanyesWhether the report offered zone transfer to the secondaries.
zonestringyes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "The hub accepted this operator's DNS report. Said when the outcome changes, not on every interval.",
"properties": {
"serves_own_zone": {
"type": "boolean"
},
"transfer": {
"description": "Whether the report offered zone transfer to the secondaries.",
"type": "boolean"
},
"zone": {
"type": "string"
}
},
"required": [
"serves_own_zone",
"transfer",
"zone"
],
"title": "DelegationReportSent",
"type": "object"
}
Owner info Functions

Zone transfers to the dns fleet’s secondaries are on: AXFR/IXFR over TCP, signed with the TSIG key key, from the allow networks, with NOTIFY to notify.

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.138.

Data

FieldTypeRequiredDescription
allowarray of stringyes
keystringyesThe TSIG key’s name (never its secret).
notifyarray of stringyes
portinteger (uint16)yes
refreshinteger (uint32)yes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Zone transfers to the dns fleet's secondaries are on: AXFR/IXFR over TCP, signed with the TSIG key `key`, from the `allow` networks, with NOTIFY to `notify`.",
"properties": {
"allow": {
"items": {
"type": "string"
},
"type": "array"
},
"key": {
"description": "The TSIG key's name (never its secret).",
"type": "string"
},
"notify": {
"items": {
"type": "string"
},
"type": "array"
},
"port": {
"format": "uint16",
"minimum": 0,
"type": "integer"
},
"refresh": {
"format": "uint32",
"minimum": 0,
"type": "integer"
}
},
"required": [
"allow",
"key",
"notify",
"port",
"refresh"
],
"title": "DnsTransferEnabled",
"type": "object"
}
Owner info Functions

This operator made its zone-transfer (TSIG) key, at this path. The key itself is never in the event.

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.138.

Data

FieldTypeRequiredDescription
pathstringyes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "This operator made its zone-transfer (TSIG) key, at this path. The key itself is never in the event.",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
],
"title": "TransferKeyCreated",
"type": "object"
}
Owner warn Functions

A NOTIFY could not be sent to a secondary; it refreshes on the SOA timer instead. Said once per target until it reaches it again.

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.138.

Data

FieldTypeRequiredDescription
errorstringyes
targetstringyesThe secondary’s address and port.
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "A NOTIFY could not be sent to a secondary; it refreshes on the SOA timer instead. Said once per target until it reaches it again.",
"properties": {
"error": {
"type": "string"
},
"target": {
"description": "The secondary's address and port.",
"type": "string"
}
},
"required": [
"error",
"target"
],
"title": "NotifyFailed",
"type": "object"
}
Owner warn

A zone-transfer question was refused: not on the allow list, unsigned, the wrong key, a bad signature or a stale time. Anybody can ask, so it stays off 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.138.

Data

FieldTypeRequiredDescription
qtypestring or nullnoThe question’s type (AXFR, IXFR, SOA), when it had one.
reasonstringyes
srcstring (ip)yesWho asked.
zonestringyes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "A zone-transfer question was refused: not on the allow list, unsigned, the wrong key, a bad signature or a stale time. Anybody can ask, so it stays off the bus.",
"properties": {
"qtype": {
"description": "The question's type (AXFR, IXFR, SOA), when it had one.",
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"src": {
"description": "Who asked.",
"format": "ip",
"type": "string"
},
"zone": {
"type": "string"
}
},
"required": [
"reason",
"src",
"zone"
],
"title": "TransferRefused",
"type": "object"
}
Owner info

A signed zone-transfer question was answered, in this many messages. Said for every transfer a secondary pulls.

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.138.

Data

FieldTypeRequiredDescription
messagesinteger (uint)yes
qtypestring or nullno
serialinteger (uint64)yes
srcstring (ip)yesWho asked.
zonestringyes
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "A signed zone-transfer question was answered, in this many messages. Said for every transfer a secondary pulls.",
"properties": {
"messages": {
"format": "uint",
"minimum": 0,
"type": "integer"
},
"qtype": {
"type": [
"string",
"null"
]
},
"serial": {
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"src": {
"description": "Who asked.",
"format": "ip",
"type": "string"
},
"zone": {
"type": "string"
}
},
"required": [
"messages",
"serial",
"src",
"zone"
],
"title": "TransferServed",
"type": "object"
}