Files
mesh-contracts/seats/node-intrusion-prevention/seat.json
T
jschoubben df74b712c0 SD-M3: every other seat at the seat list's grain, in its reading order (ADR 0613 §2)
Converted mechanically from mesh-sdk's compiled list at 5a38a12 by a program kept out of the repository; the three new
registry seats follow npm-package-registry, operator-channel the mesh's own seats.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 11:50:54 +01:00

90 lines
2.2 KiB
JSON

{
"format": 1,
"seat": "node-intrusion-prevention",
"scope": "node",
"grain": "seat-list",
"decision": "novox/hq ADR 0121",
"verbs": [
{
"name": "status",
"description": "Every jail on this machine with how many it is watching and holding now, and the totals since the jail started; one jail's detail when named.",
"replaces": [
"fail2ban-client status"
],
"input": {
"properties": {
"jail": {
"description": "one jail (optional)",
"type": "string"
}
},
"type": "object"
}
},
{
"name": "banned",
"description": "Every address banned on this machine right now, with the jail that holds it and when the ban ends.",
"replaces": [
"fail2ban-client banned"
],
"input": {
"properties": {
"jail": {
"description": "one jail (optional)",
"type": "string"
}
},
"type": "object"
}
},
{
"name": "ban",
"description": "Ban one address in one jail now, for the jail's ban time — an operator's act on the live ban list, which the mesh never writes itself.",
"replaces": [
"fail2ban-client set banip"
],
"input": {
"properties": {
"ip": {
"description": "the address",
"type": "string"
},
"jail": {
"description": "the jail to hold it",
"type": "string"
}
},
"required": [
"ip",
"jail"
],
"type": "object"
}
},
{
"name": "unban",
"description": "Let one address go, from one jail or from every jail when none is named.",
"replaces": [
"fail2ban-client unban",
"fail2ban-client set unbanip"
],
"input": {
"properties": {
"ip": {
"description": "the address",
"type": "string"
},
"jail": {
"description": "one jail (optional)",
"type": "string"
}
},
"required": [
"ip"
],
"type": "object"
}
}
]
}