Skip to content

mesh.enrol

Add this machine's public key to trust.allow of the repository's mesh declaration, under a comment naming the machine, creating the node identity first when there is none. Idempotent: a listed key changes nothing. The comments and every other line of the declaration stay as they were, and an edit that would not parse back as a declaration is refused before anything is written. Under deny_unknown a machine opens its mesh only once its key is listed, so this is the one step that joins a machine; commit the file and restart the server.

Add this machine's public key to trust.allow of the repository's mesh declaration, under a comment naming the machine, creating the node identity first when there is none. Idempotent: a listed key changes nothing. The comments and every other line of the declaration stay as they were, and an edit that would not parse back as a declaration is refused before anything is written. Under deny_unknown a machine opens its mesh only once its key is listed, so this is the one step that joins a machine; commit the file and restart the server.

Exposure

Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.

surfaceas
MCPtool majordomus_mesh_enrol
HTTPPOST /api/v1/mesh/enrol operationId mesh.enrol
command linemajordomus mesh enrol

Schemas

The canonical input and output, from the Rust types; the MCP tool schema and the OpenAPI parameters and responses are derived from these.

input · Empty

No input.

No properties: the capability takes no input.

JSON Schema
{
  "additionalProperties": false,
  "description": "No input.",
  "title": "Empty",
  "type": "object"
}

output · MeshEnrolment

The answer of mesh.enrol: which declaration, which key, and whether it changed.
propertytyperequireddescription
added boolean yes Whether the key was added now; false when it was listed already.
key string yes This machine's public key: what is listed, never a secret.
next string yes What to do next: commit the file, or nothing.
path string yes The declaration file, repository-relative.
JSON Schema
{
  "description": "The answer of `mesh.enrol`: which declaration, which key, and whether it changed.",
  "properties": {
    "added": {
      "description": "Whether the key was added now; `false` when it was listed already.",
      "type": "boolean"
    },
    "key": {
      "description": "This machine's public key: what is listed, never a secret.",
      "type": "string"
    },
    "next": {
      "description": "What to do next: commit the file, or nothing.",
      "type": "string"
    },
    "path": {
      "description": "The declaration file, repository-relative.",
      "type": "string"
    }
  },
  "required": [
    "path",
    "key",
    "added",
    "next"
  ],
  "title": "MeshEnrolment",
  "type": "object"
}

Policies

benchmark
waived — waived: destructive
cache
disabled — every call runs the handler

Benchmark targets

Derived from the registry for this repository: one requirement per transport, and the cases the input type provides. The whole matrix is on the benchmarks page.

transportstatecasestargets
directwaived (destructive)0
mcpwaived (destructive)0
httpwaived (destructive)0

Searches the titles and descriptions of every page this site publishes.