Sentinels
A sentinel is a special kind of node that focuses on admission and routing rather than business logic.
In many real deployments, the sentinel:
- sits at the edge of your network,
- accepts connections from client and agent nodes,
- routes envelopes between those nodes,
- and enforces security/admission policies.
A useful mental model is a home Wi‑Fi router:
- devices joining your Wi‑Fi → nodes connecting to a sentinel
- the router forwarding traffic → the sentinel routing envelopes
- join rules/passwords → admission + authn/authz
Unlike a Wi‑Fi router, a sentinel is fabric-aware: it routes at the level of Naylence envelopes and identities, not IP packets.
How Sentinels Accept Connections
Sentinels use transport listeners to accept inbound connections. By default, SENTINEL_CONFIG includes:
- HttpListener — Stateless HTTP endpoints for envelope delivery
- WebSocketListener — Persistent WebSocket connections for node attachment
An optional AgentHttpGatewayListener provides a simplified HTTP API for external clients to invoke agents without implementing the full fabric protocol.
See Listeners for details on configuring and customizing transport listeners.
Getting Started
Your hello example does not use a sentinel—everything lives in one node. The first topology guide will show how to introduce a sentinel between your client and agent nodes without changing the core agent code.