Open-Source проект NKT - это один бинарник вместо зоопарка DevOps-инструментов

«Я каждый день работаю с кучей инструментов для мониторинга и управления инфраструктурой, и меня сильно раздражает, что путь от первого запуска до нормальной работы неоправданно длинный».
Эта фраза нашего коллеги, инженера Владислава, стала точкой отсчета.

Меня зовут Александр, я один из разработчиков NKT (NetKnownsThat). Мы долго спорили внутри команды, с чего начать рассказ о проекте: с архитектуры, дизайна или маркетинга. Но в итоге решили быть честными: мы не копирайтеры, мы разработчики. И главное, что мы вложили в NKT, — это наш собственный, порой болезненный, пользовательский опыт.

Мы хотим представить вам наш Open-Source проект, который пытается сделать Infrastructure-as-Code с человеческим лицом, здравым смыслом и фокусом на экономию времени.

⚙ Что такое NKT, если коротко?Это один скомпилированный бинарный файл на Go (весит ~29 МБ) со встроенным веб-интерфейсом (React + TypeScript + Ant Design).Никакого Python, никакого Node.js, никаких внешних зависимостей и сложных инструкций по развертыванию. Всё работает «из коробки» под лицензией MIT. Инструмент масштабируется от анализа локального ноутбука до управления распределенным кластером серверов.

Интерфейс NKT сразу показывает реальное состояние системы без предварительной настройки
Интерфейс NKT сразу показывает реальное состояние системы без предварительной настройки

Вместо длинных технических спецификаций, вот 6 ключевых особенностей, которые экономят нам часы работы каждую неделю:

🕵‍♂1. Zero Footprint: истина только здесь и сейчасNKT спроектирован так, чтобы быть максимально легким в установке и удалении. Агент на хосте ничего не хранит: никаких баз данных, кэша или инвентаризационных файлов.Единственный источник истины — это файловая система Linux и живые процессы. Запустили NKT — он мгновенно парсит конфиги (nginx, haproxy, docker), опрашивает сокеты и правила фаервола. Удалили бинарник — на сервере не осталось никаких «хвостов».

🔐2. Hub-sudo: управление привилегиями с криптографиейЭто наше главное архитектурное преимущество в области безопасности. Все привилегированные операции выполняются только по криптографически подписанным командам от центрального хаба.Хаб генерирует команду и подписывает её приватным ключом.Агент выполняет её только при совпадении подписи и наличии команды в жестком белом списке (установка пакетов, управление службами, журналы и т.д.).Каждая команда содержит уникальный номер (nonce), что делает перехват и повторное использование запроса невозможным.Бизнес-ценность: вектор атаки «скомпрометированный агент = полный root на сервере» физически устранен.

🗺 3. Автоматическое построение графа связей и поиск угрозВам не нужно писать сложные правила парсинга. После запуска NKT сам сканирует хост и визуализирует связи между сервисами.Расхождения между задекларированным конфигом и реальным состоянием подсвечиваются. Система автоматически выявляет CVE в хосте и Docker-образах, а специальный модуль анализирует признаки присутствия майнеров или иных вредоносных процессов (с возможностью обновления сигнатур ClamAV через хаб).

Визуализация связей между nginx, контейнерами, сертификатами и фаерволом
Визуализация связей между nginx, контейнерами, сертификатами и фаерволом

🤖 4. Практичный ИИ без утечки конфиденциальных данныхМы интегрировали ИИ не для хайпа, а для решения рутинных задач. Видите иконку лампочки 💡 в интерфейсе? Это запрос к нейросети (поддерживаются Anthropic, OpenAI-совместимые API и локальные LLM).Главное — безопасность данных. Перед отправкой промпта на внешний API все чувствительные данные (секреты, токены, внутренние IP-адреса) автоматически вырезаются и маскируются. При использовании локальной LLM анализ вообще не покидает ваш периметр.Кроме того, система кэширует ответы: если вы уже спрашивали про конкретный IP в fail2ban, повторный запрос не спишет ваши токены. ИИ не просто объясняет проблему, он предлагает конкретное действие.

Open-Source проект NKT - это один бинарник вместо зоопарка DevOps-инструментов

🌐 5. Полная поддержка Air-Gap сред и работа за NATЦентральный хаб может выступать в роли локального зеркала: он кэширует deb-пакеты, Docker-образы и Helm-чарты. Это позволяет разворачивать кластеры на хостах, полностью изолированных от интернета.Для управления серверами, спрятанными за NAT или строгими фаерволами, мы разработали легковесный агент nkt-edge, который устанавливает безопасный обратный туннель до хаба.

💻 6. Единое окно для всех консолейМы убрали необходимость переключаться между десятком вкладок и сторонних клиентов:Встроенный веб-терминал с интеграцией tmux (сессия сохраняется даже при закрытии браузера).Графические консоли виртуальных машин (noVNC и spice-html5) прямо в интерфейсе, с трафиком, идущим через защищенный туннель хаба.

🛡 Принцип «Защита от выстрела в ногу»Это не отдельная функция, а философия, заложенная в UX продукта:Резервный канал связи: если основной SSH недоступен, у вас есть запасной путь.Fail2ban-иммунитет: адрес хаба автоматически прописывается в ignoreip, чтобы сервера случайно не забанили сами себя.Git-подобный редактор конфигов: проверка синтаксиса перед применением, история версий и мгновенный откат.Сухой прогон (Dry Run): обязательный чек-лист перед любым масштабным развертыванием.Защита от случайного клика: опасные операции требуют ручного ввода подтверждающего слова, а не просто нажатия кнопки «ОК».Три принципа нашей разработки:Быть пользователем своего продукта. Мы используем NKT каждый день в своей работе. Проект прошел эволюцию от простого TUI с одним экраном до текущей архитектуры именно потому, что мы сами сталкивались с его ограничениями.Быть простым. Сделать технический интерфейс, перегруженный данными, интуитивно понятным — сложнейшая задача. Но мы считаем, что сложность должна оставаться под капотом.Быть актуальным. Мы не видим смысла игнорировать современные технологии (те же LLM), если они доказанно экономят время инженера.Небольшая деталь, нетипичная для многих Open-Source проектов: наша документация изначально пишется на русском языке, а английская версия является переводом, а не наоборот.

🚀 Планы и обратная связьСегодня время — самый дорогой ресурс в IT. Мы создали NKT, чтобы максимально сократить путь от знакомства с инструментом до его реальной пользы в бою.Проект развивается активно. В ближайших планах — довести мобильные приложения для Android и iOS до функционального паритета с веб-версией. Мы знаем, что идеальных продуктов не бывает, и в NKT есть свои шероховатости. Поэтому мы здесь.Будем рады конструктивной критике, вопросам по архитектуре и, конечно, звездочке на GitHub!

👇👉 Репозиторий: github.com/piqab/nkt

📚 Документация: piqab.github.io/nkt

22