Kind: short package names (builds, sshkeys, forgemsg, backupgood, diskreadings, grantsstate, busgrants) in `packages`, which the indexer's judge refuses by design 32's rule (a Go package is named by its go.mod's module path). This held mesh-delivery-gate, the build modules, mounts and restic. Each key is now the import path the module's code uses, with its series kept; the manifest tests read the new keys, and the host/machine-name word tests in mounts, nfs-server, mesh-build-node and mesh-delivery-gate look past the path's `git.novox.be/novox/` prefix. Quick fix: only the gate's manifest. Thorough fix (chosen): all 15, since the same refusal holds each. Follow-up for the checker: the candidate verdict lets such a name through (J7(3)), so the merge check did not stop it. Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
99 lines
2.4 KiB
JSON
99 lines
2.4 KiB
JSON
{
|
|
"module": "mesh-self-check",
|
|
"version": "1",
|
|
"packages": {
|
|
"git.novox.be/novox/mesh-catalog/modules/restic/backupgood": "0.1",
|
|
"git.novox.be/novox/mesh-catalog/modules/disk-load/diskreadings": "0.1"
|
|
},
|
|
"runs-as": "mesh-self-check",
|
|
"claims": [
|
|
{
|
|
"name": "mesh-self-check",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"doctor",
|
|
"probes"
|
|
]
|
|
}
|
|
],
|
|
"invokes": [
|
|
"nats.nats_streams",
|
|
"nats.nats_closed_connections",
|
|
"seat:mesh-watchdogs.signals",
|
|
"seat:node-intrusion-prevention.banned",
|
|
"mesh-delivery-assigner.assigner_read_assignments",
|
|
"mesh-delivery-assigner.assigner_read_seat_holders",
|
|
"mesh-delivery-indexer.indexer_read_modules",
|
|
"mesh-delivery-indexer.indexer_read_manifests",
|
|
"seat:mesh-hand-acts.hand-act"
|
|
],
|
|
"reads": [
|
|
"mesh-delivery-watchman.presence",
|
|
"mesh-host.health",
|
|
"disk-load.readings",
|
|
"restic.good"
|
|
],
|
|
"consumes": [
|
|
"mesh-delivery-assigner.views.assignments",
|
|
"mesh-delivery-assigner.views.seat-holders",
|
|
"mesh-delivery-indexer.views.modules",
|
|
"mesh-delivery-indexer.views.manifests"
|
|
],
|
|
"state": [
|
|
"findings",
|
|
"verdict",
|
|
{
|
|
"name": "verdicts",
|
|
"ttl-seconds": 604800
|
|
}
|
|
],
|
|
"own-secrets": {
|
|
"broker": "${dir:state}/broker"
|
|
},
|
|
"secrets-owner": "mesh-self-check",
|
|
"resources": [
|
|
{
|
|
"id": "account",
|
|
"type": "user",
|
|
"name": "mesh-self-check",
|
|
"shell": "/usr/bin/nologin",
|
|
"home": "/var/lib/mesh-self-check"
|
|
},
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"mode": "0700",
|
|
"owner": "mesh-self-check",
|
|
"place": ".",
|
|
"unknown": "program"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-self-check",
|
|
"binary": "mesh-self-check",
|
|
"loads": [
|
|
"mesh-self-check"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"config": {
|
|
"probes": {
|
|
"type": "list",
|
|
"description": "The ids of the probes that run, each judging one thing of the mesh (mesh-self-check.probes lists them with what each asserts). A probe not listed runs nothing and raises nothing, and what it raised before is cleared. D8 and DA are in the code and off by default.",
|
|
"trusted": true,
|
|
"default": [
|
|
"D13",
|
|
"D-fill"
|
|
],
|
|
"runtime": true
|
|
}
|
|
}
|
|
}
|