node-engine client: the codec, the digest and the comparison of a composition, in the field order its first writer used (ADR 0634 §1, §4; issue 1966)

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
2026-11-05 14:51:46 +01:00
parent f00aac3847
commit ce9d39d3f0
3 changed files with 516 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
{
"provisioner_account": "mesh-provisioner-client",
"resources": [
{
"id": "buildah.buildah",
"module": "buildah",
"package": "buildah",
"type": "package"
},
{
"id": "mesh-wireguard.overlay-tools",
"module": "mesh-wireguard",
"package": "wireguard-tools",
"type": "package"
},
{
"content": "# Generated by the mesh. Do not edit \u2014 this file is replaced whenever the\n# peer graph changes, and an edit would survive until the next change and\n# then vanish, which is worse than not being applied at all.\n#\n# node ace, at home, not dialable \u2014 it opens every path itself\n\n[Interface]\nAddress = 10.10.0.2/32\nPostUp = wg set %i private-key /var/lib/mesh-host/overlay.key\n\n# novox \u2014 the hub \u2014 everything not at this site\n[Peer]\nPublicKey = xW0ETQwyR9rHi2XSfOJrKkairE+Fp70FPNNcirqMixY=\nAllowedIPs = 10.10.0.0/24\nEndpoint = 142.132.152.141:51820\nPersistentKeepalive = 25\n",
"id": "mesh-wireguard.overlay-config",
"mode": "0600",
"module": "mesh-wireguard",
"path": "/etc/wireguard/mesh0.conf",
"type": "file"
},
{
"boot": "enabled",
"id": "mesh-wireguard.overlay-up",
"module": "mesh-wireguard",
"restart-on": [
"mesh-wireguard.overlay-config"
],
"state": "running",
"type": "service",
"unit": "wg-quick@mesh0"
},
{
"digest": "sha256:71ed8f5b4e7ac73ab82b7b559b08e5951a82553197d153651cc8be36ff35bcda",
"id": "hostname.bundle-tools",
"module": "hostname",
"path": "/var/lib/mesh/bundles/hostname/tools",
"source": "http://novox.internal:5100/v2/hostname/tools/blobs/sha256:71ed8f5b4e7ac73ab82b7b559b08e5951a82553197d153651cc8be36ff35bcda",
"type": "archive"
},
{
"at": "start",
"content": "# The machine's own names (module hostname, novox/hq ADR 0199, ADR 0223). Every line outside this\n# block is the operator's: kept across every push, changed through the node-hostname verbs add and\n# remove, and given back when this module goes. The mesh's names are not here: the mesh's resolver\n# answers them.\n127.0.0.1\tlocalhost\n::1\tlocalhost\n127.0.1.1\tace\n",
"id": "hostname.own",
"into": "block",
"mode": "0644",
"module": "hostname",
"path": "/etc/hosts",
"type": "file"
},
{
"content": "Ace\n",
"id": "hostname.name",
"mode": "0644",
"module": "hostname",
"path": "/etc/hostname",
"type": "file"
}
],
"filled_files": []
}