Rallyup — дирижёр вашей серверной инфраструктуры
Репозиторий давно не обновлялся
Последнее обновление было 1 год назад.
Представьте: после отключения электричества ваш homelab или офисная инфраструктура включается в хаотичном порядке. Сначала пытаются стартовать виртуальные машины, хотя хранилище ещё не готово, потом падает сетевое оборудование... Знакомая картина? Проект rallyup решает эту проблему раз и навсегда.
Что это за инструмент?
Rallyup — это легковесный планировщик Wake-on-LAN на Rust, который:
- Автоматически запускает серверы в правильной последовательности
- Проверяет доступность сервисов перед запуском зависимых узлов
- Работает даже в сложных сетях с VLAN
Основная фишка — dependency management. Вы просто указываете, какие серверы от каких зависят, а rallyup делает всё остальное.
Кому это нужно?
- Владельцам homelab, уставшим вручную включать оборудование
- Малому бизнесу с собственной инфраструктурой
- Энтузиастам, экспериментирующим с сетевым оборудованием
Топ-3 причины попробовать
-
Умная последовательность запуска
name: "VM Host" depends: - "Storage Server 1" - "Storage Server 2"Виртуальные машины не запустятся, пока не будут готовы хранилища — как и должно быть.
-
Гибкие проверки готовности
- HTTP-запросы к health-чекерам
- Проверка открытых портов
- Произвольные shell-команды
Пример проверки через ping:
type: shell command: ping -c 1 192.168.1.1 status: 0 -
Работа с VLAN без головной боли Просто укажите VLAN ID, и WOL-пакеты пойдут куда нужно:
vlan: 100
Как это работает технически?
- Вы настраиваете оборудование на Wake-on-LAN
- Создаёте YAML-конфиг с зависимостями
- Запускаете rallyup на маломощном устройстве (например, Raspberry Pi)
- При включении этого устройства остальная инфраструктура запускается автоматически в правильном порядке
Из чего состоит конфигурация?
Каждый сервер описывается в YAML с указанием:
- MAC-адреса
- Сетевого интерфейса
- VLAN (опционально)
- Зависимостей от других серверов
- Проверок готовности
Полный пример конфига:
name: "Firewall"
mac: "00:1A:2B:3C:4D:5E"
interface: eth0
vlan: 10
depends: []
check:
- type: http
url: "http://192.168.1.1/health"
status: 200
name: "Storage"
mac: "00:1A:2B:3C:4D:5F"
depends:
- "Firewall"
check:
- type: port
ip: 192.168.100.101
port: 2049
Когда особенно пригодится?
- После отключения электричества — инфраструктура запускается сама в правильном порядке
- При переезде оборудования — не нужно вручную включать каждый сервер
- Для экономии энергии — можно выключать неиспользуемые серверы, зная, что они корректно запустятся
Что в планах разработки?
- Поддержка проверок NFS и SMB
- Возможность создания собственных плагинов для проверок
- Улучшение документации
Вывод: стоит ли пробовать?
Если у вас:
- Есть несколько серверов с Wake-on-LAN
- Важна правильная последовательность запуска сервисов
- Хочется автоматизировать рутинные операции
...то rallyup значительно упростит вам жизнь. Проект активно развивается, написан на Rust (значит, работает быстро и стабильно), а главное — решает конкретную боль многих системных администраторов и энтузиастов.
Для первых шагов достаточно Raspberry Pi и получасовой настройки. Попробуйте — и ваша инфраструктура больше никогда не запустится в неправильном порядке!
