Heat and data

Heat and data

A board turns its energy into heat; where that heat replaces heating, the replaced heating is a saving beside the host's cost, which stado cost host prints for a host that declares heat_use (costs).

The fleet's own measurements are worth publishing once nothing in them identifies a host, an operator or a customer:

stado data export --kind hours|capacity|prices --out <empty dir> \
  --key-role <role> [--since-days 30] [--json]

hours is each board's hour from the beacons (samples, busy samples, energy, idle energy, seconds), capacity each registry host's newest capacity publication (cores, memory and board memory, total and free, running jobs, whether it accepts work), and prices the kept stado market measure readings. The directory gets <kind>.jsonl and manifest.json, which names every field kept and what was done to it and every field dropped. Hosts and boards become pseudonyms: HMAC-SHA256 of the host's registry name or the board id, keyed with field key of the credential-store item playing --key-role (at least 32 characters), first 16 hex digits. One key gives the same pseudonyms in every export, so hours and capacity join; another key gives unrelated ones; nobody without the key can tie a pseudonym to a host. Times are kept to the hour. Consumer ids, job counts by holder, reservation holders, secret names, versions, served deployments, error text and every diagnostic are dropped. A record carrying a field its kind declares neither kept nor dropped is refused, naming the field, so a field added later never leaves unreviewed. A kept price reading whose price states no read_at is refused, naming its path, since it cannot be placed against --since-days; it is never dropped as older. Also refused: an unknown kind, a non-empty output directory, and an export key that does not resolve or is shorter than 32 characters (with the command that stores one). Desktop's Registry screen runs the export.

Source: this website