Each module becomes modules/<name>/ holding module.json, with room for the rest of what a module is — its tools, health checks, provisioning, lifecycle — which the conversion from hal still has to bring across. The flat <name>.json was only the resource-declaration half. Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
13 lines
1.1 KiB
JSON
13 lines
1.1 KiB
JSON
{
|
|
"module": "resolv-conf",
|
|
"version": "1",
|
|
|
|
"requires": ["wildcard-resolution"],
|
|
"claims": [{"name": "the-resolver-configuration", "scope": "node"}],
|
|
|
|
"resources": [
|
|
{"id": "resolv", "type": "file", "path": "/etc/resolv.conf", "mode": "0644",
|
|
"content": "# Managed by the mesh.\n#\n# For a machine where nothing else owns this file. On one where systemd-resolved\n# or NetworkManager does, assign that module instead — this one and those claim\n# the same thing, so the mesh refuses the pair rather than letting them take\n# turns overwriting each other, which is the failure this claim exists to stop.\n#\n# The mesh's resolver first, because it answers only the mesh's names and\n# forwards nothing: a query it does not recognise falls through to the next\n# line rather than being answered wrongly.\nnameserver 127.0.0.55\n\n# And what this machine used before. Replace this line with the resolver this\n# machine should use for everything that is not the mesh — it is not the mesh's\n# to choose, and a public one written here by default would send every query\n# this machine makes somewhere nobody agreed to.\nnameserver 127.0.0.53\n"}
|
|
]
|
|
}
|