Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroute✓laravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог

KnotRoute Agent

Agent устанавливается на управляемый сервер и сам инициирует HTTPS-соединение к Control. Открывать отдельный inbound management port на host не требуется.

services:
agent:
image: ghcr.io/localzet/knotroute-agent:latest
restart: unless-stopped
environment:
KNOTROUTE_CONTROL_URL: "https://control.example.net"
KNOTROUTE_CONTROL_ENROLL_TOKEN: "${KNOTROUTE_CONTROL_ENROLL_TOKEN}"
KNOTROUTE_AGENT_NAME: "prod-01"
KNOTROUTE_AGENT_TAGS: "production,eu"
KNOTROUTE_AGENT_DOCKER: "true"
volumes:
- agent-data:/data
- /var/run/docker.sock:/var/run/docker.sock
volumes:
agent-data:

При первом старте Agent использует enrollment token, генерирует persistent identity и регистрирует public key в Control.

После enrollment не удаляйте agent-data: иначе Agent станет новым management identity и потребует повторной регистрации.

Heartbeat, получение jobs и отправка результатов подписываются Agent identity. Это защищает management API от простого подменённого клиента, даже если endpoint известен.

KNOTROUTE_AGENT_DOCKER=true разрешает Agent выполнять поддерживаемые Docker deployment jobs.

Контейнер с /var/run/docker.sock фактически получает широкие административные возможности на host. Монтируйте socket только Agent’у, защищайте Control и не давайте этот mount knotroute-control.

Если Docker automation не нужен:

KNOTROUTE_AGENT_DOCKER=false

и socket не монтируется.

KNOTROUTE_AGENT_POLL задаёт интервал обращения к Control. Слишком маленькое значение увеличивает management traffic без заметной пользы.

Используйте tags для классификации:

production,eu,public-relay
staging,internal
home,nas

Не кладите в tags secrets.

Agent можно обновлять обычным docker compose pull && docker compose up -d, сохраняя /data. После restart он продолжает использовать прежнюю identity.

Исходник