Управление узлами
Поддержка mesh означает знание его узлов: кто они, что они обслуживают и какой политике соответствуют сейчас. API узлов существует, чтобы это знание было непосредственным.
Инвентаризация узлов
API узлов должны предоставлять состояние, действительно необходимое операторам: идентичность, маршруты, теги, соответствия ACL, статус релеев, привязки сервисов и последний heartbeat телеметрии. С этими полями вопрос поддержки — «почему этот хост не может достичь того сервиса?» — становится поиском, а не расследованием.
GET /v1/nodes/<id>
{
"id": "node_01J2...",
"name": "node-a.rizoma.mesh",
"address": "100.64.0.1/32",
"tags": ["control-plane", "production"],
"routes": ["100.64.0.0/10 via node-a"],
"relay": "relay-eu-1",
"services": ["coordinator", "webpanel"],
"heartbeat": "2026-08-18T09:40:58Z",
"acl_matches": ["operations -> control plane"]
}Позиция политик
Позиция — это не просто «узел доступен», — это то, что узлу разрешено делать прямо сейчас. Поле соответствия ACL связывает инвентаризацию с моделью политик: видно, какие разрешения применяются к узлу, и можно сравнить это с его фактическим поведением. Расхождение между позицией и поведением — это ошибка политики или развивающийся инцидент.
Телеметрия и heartbeat
Агенты непрерывно публикуют свой heartbeat: эндпоинты, материал ключей E2E, телеметрию и результаты команд — и получают в ответ пиры, выбор релеев, синхронизацию ACL и назначения ingress. Heartbeat — нервная система mesh: узел с устаревшим heartbeat — это узел, о котором control plane не может рассуждать, и относиться к нему следует соответственно в политиках и оповещениях.
# health/readiness/info + Prometheus metrics, per component
curl http://node-a.rizoma.mesh:8080/healthz
curl http://node-a.rizoma.mesh:8080/readyz
curl http://node-a.rizoma.mesh:8080/metrics | grep mesh_nodeОперации рядом с топологией
Держите операции с узлами рядом с реальной топологией mesh: подключение, смена ключей, смена тегов, перенос назначения релея, осушение ingress, — каждая операция должна быть выразима через координатор и верифицируема через heartbeat. Когда работа поддержки ведётся через тот же API, который mesh использует внутри, документация, инструментарий и mesh никогда не расходятся.
