update readme

This commit is contained in:
vvzvlad 2023-04-17 01:47:09 +07:00
parent 4f6d7f9551
commit 6b664ef4fa

View File

@ -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` выполняет восстановление существующего бекапа на контроллере.
Эту команду надо выполнять на подменном контроллере из ЗИП-а в случае замены основного контроллера подменным. Эта команда выполянется один раз, после чего контроллер становится копией старого контроллера и продолжает сохранять свои изменения в конфигах в тот же репозитарий.