Что это
Что такое Unruin
Оркестратор копий, который разворачивает каждую снятую копию обратно и говорит, если она не развернулась.
Unruin — оркестратор резервных копий, который вы держите у себя. Он снимает копию базы или папки на вашем сервере, кладёт её в хранилище, которым распоряжаетесь вы, копирует во второе место, разворачивает обратно и записывает, развернулась ли она.
Сам он ничего не шифрует и никуда не передаёт: это делает restic. Unruin решает, что снимать, откуда, куда, когда и какими ключами, и он же говорит вслух, когда ответ — «не вышло».
Про имя движка. В панели слово «restic» не встречается ни разу: там это подробность устройства. В документации оно встречается постоянно — вы пишете его в конфигурации и зовёте руками при восстановлении, и прятать имя того, что вы набираете на клавиатуре, было бы издевательством.
Единственное обещание
Копия, которую вы видели развёрнутой.
Зелёная галочка у любого другого средства значит «загрузка завершилась». Это
утверждение про передачу по сети, а не про ваши данные. Задание с verify: true
не станет зелёным, пока Unruin не вытащит точку восстановления обратно из
хранилища, не разложит её во временную папку, не найдёт там хотя бы один
непустой файл и не удалит папку обратно. Не получилось — запуск считается
неудачным, хотя загрузка прошла.
Всё остальное устройство следует из того, что это сказано всерьёз: дамп, чей источник умер на середине, не может стать точкой восстановления; код возврата 3 у restic получает собственный статус, а не округляется до успеха или до провала; а копия на второй площадке, которая тихо перестала доходить, поднимает свою тревогу, а не растворяется в среднем. Правила собраны на странице что считается успехом.
Из чего он состоит
- Один контейнер. Бинарник, restic, клиенты баз и docker CLI в одном образе. Больше запускать нечего.
- Один файл конфигурации.
jobs.yaml— серверы, хранилища, задания, расписания. Держите его в git или дайте панели писать его за вас. Значений секретов в нём нет никогда, только ссылки на них. - Без агентов. Unruin ходит на ваши серверы по обычному SSH обычным
пользователем. Для папок и docker-томов он сам доставляет свой restic в
~/.cache/unruin/на цели, когда его там нет: ни пакетов, ни демонов, ни root, ни единой правки в системе. - Без чужих служб. Секреты лежат во встроенном шифрованном хранилище, которое открывается одной мастер-фразой. Ни поставщика, ни учётной записи, ни телеметрии, ни одного исходящего запроса, которого вы не настроили сами.
Два способа прочитать источник
Какой применяется, решает тип источника, и от этого зависит, где происходит работа:
| Класс | Источники | Где работает restic |
|---|---|---|
| поток | postgres, mysql, command |
на оркестраторе — дамп льётся в restic backup --stdin |
| путь | files, docker_volume |
на самой цели — данные не идут по сети дважды |
Всё прочее — рассылка по вторым хранилищам, сколько хранить, контрольное восстановление, оповещения — для обоих одинаково.
Чем он не является
- Не облачная услуга. Ему нужен доступ по SSH к вашим серверам и ключи от ваших копий. Отдать это чужому серверу — ровно то, ради чего этот инструмент и существует, чтобы не отдавать.
- Не снимок файловой системы и не образ диска. Он копирует базы и папки, а не блочные устройства.
- Не замена restic. Если вы уже гоняете restic руками и вас всё устраивает, ценность Unruin — в расписании, рассылке копий, проверке и записи о том, что было, а не в самом копировании.
- Не на много хозяев. Один оператор, один парк машин, один файл конфигурации.
Куда идти дальше
- Впервые видите → установка, затем первая копия: от пустой машины до развёрнутой обратно копии, не трогая настоящий сервер.
- Есть сервер, который надо защитить → подключить сервер.
- Хотите понять, что он делает, до того как запустить → устройство и что считается успехом.
- Пришли, потому что уже горит → восстановление без Unruin.
Честно о состоянии
Unruin — личный инструмент, который работает на настоящем парке машин. Опубликован потому, что полезен, а не потому, что закончен. За ним нет компании, нет договора поддержки и нет обещания, что следующая версия ничего не поменяет. Есть: исходники, эта документация и лист восстановления, который работает, даже если потерян сам Unruin.