Import / export (manifest)

Describe your architecture in a YAML or JSON file and import it; or export the map to version it.

The “import” button opens the panel: load a file (.yaml, .yml, .json) or paste text; “export map” downloads xnode360-map.yaml.

Minimal example

nodes:
  - id: web
    kind: domain
    label: app.example.com
    group: prod
    check: { type: tls, target: app.example.com, runner: cloud }
  - id: db
    kind: database
    label: postgres
    group: prod
edges:
  - { from: web, to: db, kind: network, label: "5432" }

Here web is checked by the cloud worker and db stays tracked (no check).

Node fields

FieldNotes
idOnly used to link edges within the file. Generated if missing. It doesn’t become the database id.
kindvps, database, domain, service, module. Any other value becomes service.
moduleRefOnly for kind: module: { wsId }, the id of the linked map (you must be a member). A module has no check, reach or provider.
labelThe displayed name (or name).
groupA plain name; the group is created if missing. It is not a nested path.
checkObject: type, target, runner (cloud, agent, manual), agentId, timeoutMs, authSecretName; for manual nodes status. Not validated on import.
provider{ name, console, account }.
reachpublic or private (behind a VPN or internal network). Optional: it’s only a label on the card and doesn’t change checks.
position{ x, y }. If missing, nodes are laid out in a grid.
secretsList of { name, vaultType, vaultRef, path, owner, notes, expires, at }. at lists the locations.

Edge fields

from and to (or source and target) with the ids of nodes in the file, plus kind, label and secrets. If an end is a module, fromInner and toInner name the inner node (its id in the linked map) the edge points to. An edge pointing to an id not in the file is dropped without a warning.

What to expect