mesh.identity
The node identity kept under the user's state directory, public half only: node id, public key, display name. The signing key appears in no projection. Absent is an answer, not an error — the identity is created when a mesh first activates.
The node identity kept under the user's state directory, public half only: node id, public key, display name. The signing key appears in no projection. Absent is an answer, not an error — the identity is created when a mesh first activates.
- query
- experimental
- module mesh
- #mesh
- #identity
Exposure
Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.
| surface | as |
|---|---|
| MCP | tool majordomus_mesh_identity |
| HTTP | GET /api/v1/mesh/identity operationId mesh.identity |
| command line | majordomus mesh identity |
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 properties: the capability takes no input.
JSON Schema
{
"additionalProperties": false,
"description": "No input.",
"title": "Empty",
"type": "object"
}output · MeshIdentityReport
mesh.identity: this machine's node identity, public half only.| property | type | required | description |
|---|---|---|---|
| error | string | null | no | Why the identity did not load, when it did not. |
| identity | one of 2 | no | The public identity, when the file exists and loads. The signing key is not here, not in any projection, and not in any log. |
| path | string | null | no | Where the identity file lives (or would). |
| present | boolean | yes | Whether the file exists. |
JSON Schema
{
"$defs": {
"InstanceId": {
"description": "One run of a node: 16 hex characters of OS entropy, new at every process start. A\nrestart keeps the node id and changes this, which is how a reader tells \"the same\nnode came back\" from \"the same process is still there\".",
"type": "string"
},
"NodeId": {
"description": "The stable identity of a node: 32 hex characters of the SHA-256 of its Ed25519 public\nkey. Derived, never chosen: two nodes with one id hold one key.",
"type": "string"
},
"PublicIdentity": {
"description": "What everyone may know about this node: the id, the public key, a display name and\nthis run's instance. Everything an advertisement carries; nothing that signs.",
"properties": {
"display_name": {
"description": "A human name for the node, from the identity file; defaults to the first eight\ncharacters of the node id. Presentation only — never used for trust.",
"type": "string"
},
"instance_id": {
"$ref": "#/$defs/InstanceId",
"description": "This run of the node."
},
"node_id": {
"$ref": "#/$defs/NodeId",
"description": "The node id: a digest of the public key."
},
"public_key": {
"description": "The Ed25519 public key, 64 hex characters. Whoever holds the matching secret is\nthis node; there is no other proof.",
"type": "string"
}
},
"required": [
"node_id",
"public_key",
"display_name",
"instance_id"
],
"type": "object"
}
},
"description": "The answer of `mesh.identity`: this machine's node identity, public half only.",
"properties": {
"error": {
"description": "Why the identity did not load, when it did not.",
"type": [
"string",
"null"
]
},
"identity": {
"anyOf": [
{
"$ref": "#/$defs/PublicIdentity"
},
{
"type": "null"
}
],
"description": "The public identity, when the file exists and loads. The signing key is not\nhere, not in any projection, and not in any log."
},
"path": {
"description": "Where the identity file lives (or would).",
"type": [
"string",
"null"
]
},
"present": {
"description": "Whether the file exists.",
"type": "boolean"
}
},
"required": [
"present"
],
"title": "MeshIdentityReport",
"type": "object"
}Policies
- benchmark
- required — a target on every transport the exposure declares; the cases are the input type's
- 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.