diff --git a/README.md b/README.md index af27948..6598f56 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,30 @@ # Vestasync -Vestasync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи: +VestaSync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи: 1. Создание бекапа конфигурации автоматически и деплой ее на удаленный git-сервер (поддерживается Gitea, для поддержки других сервисов необходимо дописать соответствующую функцию создания репозитория) по расписанию (раз в день) и по изменению файлов. 2. Восстановление бекапа одной командой: после подключения нового контроллера достаточно ввести его IP и имя хоста предыдущего контроллера, чтобы Vestasync автоматически восстановила бекап вплоть до MAC-адресов сетевых интерфейсов, чтобы не было нужды менять настройки на DHCP-сервере. После перезагрузки контроллер вернется в сеть с IP старого контроллера. -## Установка +VestaSync — это набор скриптов, которые выполняют следующие функции: + +1. При установке на контроллер: + + - Создают в /mnt/data/etc/ git-репозитарий + - Сохраняют текущие MAC-адреса в /mnt/data/etc/vestasync/macs/[interface] + - Сохраняют hostname в /mnt/data/etc/vestasync/hostname + +2. При изменении конфигурационных файлов + + - Создают коммит коммиты на каждое изменение файлов + - Загружающит эти коммиты на сервер + +3. При восстановлении из бекапа + + - Копируют репозитарий + - Восстанавливают конфиги, hostname и mac-адрес + + +## Установка VestaSync на локальную машину **Эти команды выполняются не на контроллере**, а на локальной машине или на сервере, с которых есть доступ к контроллеру. Система изначально писалась для инсталляций с множеством контроллеров, поэтому она сама заходит на пустой контроллер и настраивает его (так работает, например, ansible). Для настройки десяти контроллеров надо просто запустить 10 команд с разными ```device_ip```. @@ -22,10 +41,10 @@ pip install -r requirements.txt У Vestasync есть всего две команды: `install`, и `restore`. -### install +### install — установка на контроллер Команда `install` выполняет подготовительные действия — устанавливает ПО, создает гит-репозитарий, устанавливает службы (подробнее в разделе "Службы"). -Эту команду надо выполнять, указывая в ```device_ip``` исходный контроллер (который будет стоять в проде инсталляции) перед началом эксплуатации (если выполнять ее еще до настройки, то бонусом получим сохранение конфигов в гите во время ПНР). Эта команда выполняется на контроллере один раз. +Эту команду надо выполнять, указывая в ```device_ip``` исходный контроллер (который будет стоять в проде инсталляции) перед началом эксплуатации (если выполнять ее еще до настройки, то бонусом получим сохранение конфигов и wb-rules в гите во время разработки и ПНР). Эта команда выполняется на контроллере один раз. Пример запуска (запускается на локальной машине, адрес контроллера указывается в ```device_ip```): @@ -45,7 +64,7 @@ pip install -r requirements.txt ```--gitea_token```: токен для авторизации на Gitea-сервере (получается в интерфейсе) -### restore +### restore — восстановление из бекапа Команда `restore` выполняет восстановление существующего бекапа на контроллере. Эту команду надо выполнять на подменном контроллере из ЗИП-а в случае замены основного контроллера подменным. Эта команда выполянется один раз, после чего контроллер становится копией старого контроллера и продолжает сохранять свои изменения в конфигах в тот же репозитарий.