Skip to content

gargulia/fire_brigade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fire Brigade: инфраструктура самовосстанавливающихся микросервисов на базе systemd

Текущий статус: Работаю над реализацией второй стадии

Проект демонстрирует эволюционный подход к созданию отказоустойчивых системных сервисов.

Стадии разработки

1. Базовый уровень: Создание и распространение Bash-скрипта

  • Интеграция в PATH через ~/bin или /usr/local/bin
  • Настройка прав доступа и автоматический запуск через .bashrc
  • Базовое управление скриптами как системными утилитами

2. Продвинутый уровень: Превращение скрипта в systemd-сервис

  • Создание юнита name-unit.service с конфигурацией зависимостей
  • Настройка автоматических перезапусков и централизованного логирования
  • Обработка взаимодействия с TTY для интерактивных сценариев
  • Управление через стандартные команды systemctl

3. Архитектурный уровень (в разработке): Система Fire Brigade — оркестратор микросервисов

  • Fire_Brigade.service — управляющий сервис с самодиагностикой
  • Каталог инцидентов с маппингом "проблема → сервис-решение"
  • Единая система логгирования и аудита действий
  • Динамическая установка зависимых сервисов
  • Интерактивный ASCII-интерфейс управления

Технологический стек

Ядро

  • Systemd (юниты, таймеры, журналы)

Автоматизация

  • Bash-скриптинг, управление процессами
  • Python для сложной логики (планируется)

Безопасность

  • Изоляция через отдельных пользователей/групп
  • Контроль прав доступа (sudoers, capabilities)

Мониторинг

  • Централизованное логгирование в journald
  • Кастомные логи в /var/log/fire-brigade/

Инфраструктура

  • Конфигурация как код
  • Самовосстанавливающиеся сервисы
  • Модульная архитектура

Цель проекта

Создание эталонной реализации для развертывания отказоустойчивых системных сервисов в Linux-средах, от простых скриптов до комплексных самовосстанавливающихся систем.

Структура проекта

fire-brigade/
├── README.md
├── stage-1/ # Базовые скрипты
│ ├── scripts/
│ └── install.sh
├── stage-2/ # Systemd сервисы
│ ├── services/
│ ├── configs/
│ └── install.sh
├── stage-3/ # Fire Brigade система
│ ├── core/ # Ядро системы
│ ├── modules/ # Модули для обработки инцидентов
│ ├── logs/ # Конфигурация логгирования
│ └── install.sh
└── docs/ # Документация
├── architecture.md
└── api.md

Установка и использование

Требования

  • Linux с systemd (версия 240+ рекомендуется)
  • Bash 4.4+
  • Права суперпользователя для установки сервисов

Быстрый старт(На третьй стадии разработки)

git clone https://github.com/yourusername/fire-brigade.git
cd fire-brigade
sudo ./install.sh

P.S. На данной стадии возможно лишь ручное добавление скриптов в /usr/local/bin в качестве скрипта .sh . А также добавление unit-файла в /etc/systemd/system/ .

About

Fire Brigade: система оркестрации системных микросервисов Текущий статус: В активной разработке (реализую третью стадию) Проект демонстрирует поэтапный подход к созданию отказоустойчивой инфраструктуры системных сервисов в Linux.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages