Guide to the map: everything you can put on it
Every element of xNode360, with what it is, how to create it in the app and what you can configure. Nodes, maps within maps, edges, groups, checks, secrets, agents and tools.
Nodes
A node is anything you run or depend on. Create one with the "+ Add" button (bottom right): pick the type, the node appears near the center of the view and the inspector opens.
- VPS (compute node): a server. Recommended check: tcp or http.
- Database (data store): Postgres, Redis, Mongo. Recommended check: tcp on the port; the pg check (a real SELECT 1) is available via manifest or MCP only.
- Domain (dns / record): recommended check tls or dns. Without a check it stays "tracked".
- Service (saas / api): a third-party SaaS or API. Recommended check: http-auth, or manual.
- Module (linked map): another one of your maps as a single node. See below.
The inspector has: label, group ("A / B" to nest), reach (unset, public or private: a label only, it does not change the check), health check (cloud, agent or manual runner; http, http-auth, tcp, dns, tls), provider (name, console URL, account) and secrets. Custom kinds are accepted from manifest and MCP but shown as "service".
Maps within maps (modules)
A module node represents another one of your maps: it shows its aggregated status and, expanded, its inner nodes, without leaving the current map. Typical use: a root map with one module per project, customer or environment. It needs several maps, which are included in the pro plan (the free plan has 1).
- Create: "+ Add", then "Module". The "Add a module" panel lists your other maps (not the current one, not the demos); press "Add".
- Card: "Module" type, aggregated status, linked map name, node count, expand/collapse button. It has no check, reach or provider and does not use your plan's nodes.
- Status: the worst of the inner nodes (offline, unknown, degraded, online, tracked; an empty map is tracked). Modules nested in the linked map are excluded: one level only.
- Expanded: a read-only box with the inner nodes and their edges, live data; checks stay in the source map.
- Edges: connect a node of the current map straight to an inner node by dragging onto it. An inner-to-inner edge within the same module is not saved.
- Inspector: label, group, "Open map" and "Remove node". There is no breadcrumb: return with the map switcher.
- If the map is deleted or inaccessible the card shows "unavailable" and the offline state; edges to missing inner nodes are orphaned and the card offers to remove them.
- Loops: if map B already contains A, B is disabled in A's picker. Depth is checked up to 8 levels, client-side only. You can only link maps you are a member of.
- MCP: add_node rejects the module kind; use the app or import_manifest (kind: module, moduleRef: {wsId}). add_edge accepts fromInner and toInner.
Edges
Drag from a node's connector onto another node (default type: network). Click the edge to open its inspector: type, label, credentials, Save, Remove. Delete it with the × on hover or the Delete key.
- network: a call or network link.
- dns: a record (@ / api / www).
- webhook: an incoming event.
- deploy: a pipeline or CI link.
The line color follows the state (the weaker of the two nodes wins), the type is read from the tag with the name. Dashed when offline, animated dots when online or degraded, parallel edges on separate lanes.
Groups
There is no button: type a name in a node's group field and the group is created, with a color from a palette of six. Write "Parent / child" to nest (two levels are drawn). Drag the box's label to move its members. The "group by" selector in the top bar arranges nodes by none, group or type. Groups cannot yet be renamed, recolored or deleted from the UI.
Groups, search and layout in the docs
Checks and states
Runners: cloud (xNode360's worker, public targets only, every 10 minutes on the free plan), agent (also private targets) and manual (you choose the state). Types in the app: http, http-auth, tcp, dns, tls.
- online: the check succeeds and is fast.
- degraded: HTTP 300 or above, latency of 250 ms or more, TLS certificate within 14 days of expiry, or an agent silent for over 2.5 minutes.
- offline: check failed, HTTP 500 or above, expired certificate, or an agent silent for over 20 minutes.
- unknown: a check exists but there is no data (just created, agent paused, over the plan's quota).
- tracked: no check; inventory, not an error.
Free plan: 1 map, 15 nodes, 5 cloud checks, 2 agents, 10 nodes per agent; cloud checks pause after 7 days without opening the map.
Node states · Health checks and runners
Secrets and expiry
On nodes and edges you note the secrets they use. The value is never stored, only the reference: name, vault type, reference or path, expiry, owner, notes, rotation date and replicas. Expired is red, expiring (14 days or less) is amber. Replicas (github-actions, vps-env, firebase-config, cloudflare, other) go stale when you mark the secret as rotated; clicking a replica marks it synced. The top bar shows a warning counter with expired, expiring and drifted secrets.
Agents
An agent is a small process on your server that checks what is private. It only makes outbound connections. Create one from "Agents" in the top bar or "+ Add agent" in a node's inspector: a 3-step wizard (name, install, connect), with the token shown once. States: online, stale, new, paused; you can pause, resume or delete it. Install as a Node bundle (Node 18+) or as a standalone Linux x64/arm64 binary without Node (forced with --standalone or --node); it needs Linux with systemd and root. If it is silent for over 2.5 minutes its nodes turn degraded, after 20 minutes offline; paused means unknown.
Agents in the docs · The agent
Tools
- PNG and PDF export: the whole map (PNG at 2x), with at least one node.
- Import / export: additive YAML or JSON manifest.
- MCP: per-map keys, read or write, expiring in 30, 90, 365 days or never, with 18 tools for your AI assistant.
- Reorder and Layout: reorder arranges nodes in a grid or in bands per group; layout saves named snapshots of positions.
- Search: highlights matching nodes, does not hide the others.
- Multiple maps: the switcher creates, renames, resets and deletes maps; the last one is remembered.
- Demo: /app?demo=1, a read-only sample map.
- Reach: public or private label on each node.