Skip to content

Latest commit

 

History

History
80 lines (57 loc) · 4.08 KB

GLOSSARY.md

File metadata and controls

80 lines (57 loc) · 4.08 KB

Docktornet

Docktornet turns Docker labels on containers into NPM proxy hosts, Caddy routes, Cloudflare DNS records and Gatus monitors, and removes them when the containers go away.

Language

Services

Service: One labelled container on one machine, the unit docktornet reconciles. Avoid: app, stack, container (when the labels are meant)

Service ID: The machine/container string that names a service everywhere docktornet records it. Avoid: container ID, service name

Grace period: How long a service may be missing from its machine's snapshots before docktornet removes its managed resources. It stops a container restart from looking like a removal. Avoid: timeout, debounce

Dropped group: An npm.<index> or caddy.<index> label group a live service no longer has. Its proxy host or Caddy route is deleted in the next apply, with no grace period. A caddy.<index> group whose host a lower index already holds also counts as dropped, so the host stays with the lower index alone. Avoid: removed group, deleted labels

Malformed group: An npm.<index> or caddy.<index> label group still on a live service that fails to parse, such as a port of 80a. Its proxy host or Caddy route is kept as it was, with its hostnames still claimed, until the labels are fixed or dropped. A malformed caddy.<index> group whose hostname another group of the service now lists counts as dropped, so one hostname never has two of a service's Caddy routes. A container whose only docktornet labels are malformed is a service that has left. Avoid: invalid group, broken labels

Pending removal: A managed resource docktornet has decided to delete, kept until the deletion succeeds. One whose service has left also waits out the grace period first; an NPM proxy host or Caddy route of a dropped group waits for none. Avoid: orphan (that is a resource no mapping points to)

Ownership

Managed resource: An NPM proxy host, Caddy route or Cloudflare DNS record that docktornet owns on behalf of one service. Avoid: docktornet resource, our host

Ownership mapping: Docktornet's database record linking a service to its managed resources. It is the working copy of ownership. Avoid: ownership table, DB ownership

Ownership marker: A tag written on the managed resource itself, naming the service ID that owns it. It is the durable proof of ownership and outlives the database. A Caddy route's marker is its @id, which identifies the service without spelling out its service ID. Avoid: tag, label (those mean Docker labels here), metadata

Adoption: Taking over a resource that already exists in NPM, Caddy or Cloudflare instead of creating a new one. Adoption always writes an ownership marker. Avoid: import, claim

Marker adoption: Adoption of a resource whose ownership marker names the service. Always allowed.

Hostname adoption: Adoption of an unmarked resource because its hostname matches a service's labels. Allowed only when DOCKTORNET_ADOPT_EXISTING is on, and never for a resource whose marker names another service. Avoid: legacy adoption

Caddy

Caddy route: A route docktornet writes into the operator's Caddy for one caddy.<index> label group of a service, sending the group's hostnames to the service's machine. Avoid: Caddy host, site, proxy host (that is NPM's)

Anchor route: The one route in the operator's own Caddy config whose sub-routes docktornet owns. Every Caddy route sits inside it, ahead of the operator's hand-written routes. Avoid: docktornet server block, parent route

Monitoring

Classification map: The docktornet-classification.json file the server writes next to the Gatus service files. For each Gatus endpoint it gives the severity, area, host and alert thresholds an alert service needs. Its host is the machine ID of the reporting agent, not an NPM host. Avoid: alert map, label map

Severity: How urgent a Gatus endpoint's alerts are: critical, warning or info. Avoid: priority, level

Area: The part of the estate a Gatus endpoint watches, such as backups or network. Avoid: category, component