Flint: KVM без головной боли

28 Apr, 2026
1,670
🔱 102
👥 8

Знакомая ситуация? Нужно быстро поднять тестовую виртуалку, но libvirt с его XML-конфигами и кучей зависимостей вызывает желание просто развернуть облако. А что если управление KVM могло бы быть таким же простым, как докер?

Что такое Flint

Flint — это свежий взгляд на управление KVM-виртуалками. Проект родился из раздражения автора классическими инструментами и был сделан буквально за несколько часов. В результате получился компактный (меньше 11 МБ!) бинарник с:

  • Современным веб-интерфейсом на Next.js
  • Удобной CLI-оберткой
  • Чистым API для автоматизации

Flint Dashboard

Почему это удобно

1. Установка одной командой

Никаких пакетных менеджеров и зависимостей (кроме самого KVM/livbirt):

curl -fsSL https://raw.githubusercontent.com/ccheshirecat/flint/main/install.sh | bash

2. Весь функционал в одном месте

Вместо кучи разрозненных утилит (virt-manager, virsh и т.д.) вы получаете:

Реклама
  • Просмотр и управление виртуалками из браузера
  • Встроенный SSH-клиент
  • Управление образами и сетями
  • Поддержка Cloud-Init из коробки

3. Безопасность по умолчанию

Flint не оставляет вас с открытым API:

  • Обязательная настройка пароля при первом запуске
  • Сессии с ограниченным временем жизни
  • Отдельные ключи для API и веб-интерфейса
# Первый запуск
flint serve
# 🔐 No web UI passphrase set. Let's set one up for security.
# Enter passphrase: ********

Технические детали

Под капотом используется:

  • Бэкенд: Go 1.25+ с bindings к libvirt
  • Интерфейс: Next.js + Tailwind, собранный в единый бинарник через Bun
  • API: RESTful с bearer-токенами и сессионными куками

Приятный бонус — Flint не требует отдельных сервисов БД или брокеров сообщений. Весь state хранится в libvirt, а бинарник можно просто скопировать на другую машину.

Кому это пригодится

  1. Разработчикам, которым нужно быстро разворачивать тестовые окружения
  2. Админам домашних лабораторий, уставшим от virt-manager
  3. DevOps-инженерам, ценящим автоматизацию через API

Особенно оценят те, кто:

  • Работает с Cloud-Init образами
  • Часто создает/удаляет временные виртуалки
  • Хочет удобный веб-интерфейс без настройки отдельного сервиса

Как попробовать

  1. Убедитесь, что есть KVM и libvirt
  2. Установите Flint:
curl -fsSL https://raw.githubusercontent.com/ccheshirecat/flint/main/install.sh | bash
  1. Запустите и настройте пароль:
flint serve --set-passphrase
  1. Откройте http://localhost:5550 и работайте с виртуалками как с docker-контейнерами

Flint — это тот редкий случай, когда простой инструмент закрывает реальную боль. Он не заменяет полноценные облачные платформы, но идеален для:

  • Локальной разработки
  • Домашних лабораторий
  • Быстрого прототипирования инфраструктуры

Если вы хотя бы раз проклинали XML-конфиги libvirt — попробуйте Flint. Вероятно, это именно тот инструмент, которого вам не хватало.

P.S. Проект активно развивается — сейчас как раз хороший момент влиться и повлиять на roadmap.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.