The second holder follows the packet filter: the container, its base images, the Dockerfile, and the bus credential and state directory only the container read are gone; the tools are a TypeScript bundle node-tools loads. The daemon's socket answers only to root, so the client runs through sudo without a prompt where the runtime's account is not root, naming sudo's absence or refusal by how it failed; client and daemon are the one package the module declares.
19 lines
716 B
JSON
19 lines
716 B
JSON
{
|
|
"name": "@novox/module-fail2ban",
|
|
"version": "0.1.0",
|
|
"description": "fail2ban \u2014 intrusion prevention: the mesh composes the jails and keeps the daemon running; this module holds the node-intrusion-prevention seat and serves its verbs status, banned, ban and unban (novox/hq to-be 31, ADR 0179).",
|
|
"type": "module",
|
|
"private": true,
|
|
"dependencies": {
|
|
"@novox/mesh-sdk": "^0.1.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.0.0",
|
|
"typescript": "^5.6.0"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc client.ts tools/index.ts --module NodeNext --moduleResolution NodeNext --target ES2022 --rootDir . --outDir dist",
|
|
"test": "node --test --experimental-strip-types 'test/*.test.ts'"
|
|
}
|
|
}
|