Files
mesh-networking/modules/mesh-connectivity-contracts/seats/node-hostname/seat.json
T

75 lines
1.8 KiB
JSON

{
"format": 1,
"seat": "node-hostname",
"scope": "node",
"grain": "seat-list",
"domain": "Connectivity",
"decision": "novox/hq ADR 0199, ADR 0223",
"verbs": [
{
"name": "entries",
"description": "Every line of this machine's /etc/hosts, each marked whose it is: the operator's, or the block of the module or tool that writes it.",
"replaces": [
"cat /etc/hosts",
"getent hosts"
],
"input": {
"properties": {},
"type": "object"
}
},
{
"name": "add",
"description": "Add one address and its names to the operator's lines of this machine's /etc/hosts — a name for this machine's own programs, not the mesh's.",
"replaces": [
"edit /etc/hosts",
"HOSTALIASES"
],
"input": {
"properties": {
"address": {
"description": "the IPv4 or IPv6 address",
"type": "string"
},
"names": {
"description": "the names for it, separated by spaces",
"type": "string"
}
},
"required": [
"address",
"names"
],
"type": "object"
}
},
{
"name": "remove",
"description": "Remove one name, or every line of one address, from the operator's lines of this machine's /etc/hosts. A line a module writes is refused, naming the module.",
"replaces": [
"sed -i /etc/hosts"
],
"input": {
"properties": {
"name": {
"description": "a host name, or an address to remove every line of",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
}
],
"paths": [
{
"path": "/etc/hosts"
},
{
"path": "/etc/hostname"
}
]
}