Restore: перевод бэкапов на восстановленный сервер
Раньше восстановленная копия получала конфиг и таймер агента со старым токеном (через категории etc и units), и бэкапы шли с двух серверов одновременно. - конфиг и юниты агента больше не бэкапятся - в конце restore спрашивает, сделать ли сервер основным: сервер бэкапов выпускает новый токен (POST /api/v1/restore/takeover), restore ставит агента; токен старого сервера отозван — его агент получает отказ - --takeover / --no-takeover; без них — вопрос (с --yes — да) - уведомление «Сервер восстановлен» в ntfy/Telegram Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
488abc2d34
commit
97c7051021
12 files changed
+195
-4
No files matched your search
@@ -30,7 +30,9 @@ func (c *collector) collectUnits(s catalog.Spec) *manifest.Category {
|
||||
for _, f := range c.unowned(s.Unowned) {
|
||||
unit := filepath.Base(f)
|
||||
name := strings.TrimSuffix(strings.TrimSuffix(unit, ".service"), ".timer")
|
||||
if archive.Covers(covered, filepath.ToSlash(f)) || services[name] || services[unit] {
|
||||
// юниты самого агента не бэкапим: на новый сервер его ставит restore с новым токеном,
|
||||
// иначе восстановленная копия слала бы бэкапы со старым токеном параллельно старому серверу
|
||||
if strings.HasPrefix(unit, "backup-agent.") || archive.Covers(covered, filepath.ToSlash(f)) || services[name] || services[unit] {
|
||||
continue
|
||||
}
|
||||
mc.Paths = append(mc.Paths, f)
|
||||
|
||||
Reference in new issue
Block a user