alunduil / alunduil/zfs-replicate

Operators can replicate multiple local→remote pairs in one invocation

Abierto
#395 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Python
Estrellas
24
Forks
6
Merge medio
3 h 11 min
PR fusionados (30 d)
49

Descripción

## User story

As an **operator with multiple pools or multiple destination roots**, I want to **describe several `LOCAL_FS → REMOTE_FS` pairs in a single `zfs-replicate` run** so that **my scheduler runs one unit of work instead of a shell loop around the CLI**.

## Why

Today the CLI takes a single `(HOST, REMOTE_FS, LOCAL_FS)` triple. NixOS packaging bolts external loops around it. #92 (2020) has been open for this. Supporting repeated `--pair LOCAL:REMOTE` (keeping the current positional form for back-compat) removes the external loop without breaking existing invocations.

## Acceptance criteria

- [ ] A new repeatable CLI flag `--pair LOCAL_FS:REMOTE_FS` exists.
- [ ] The existing positional `HOST REMOTE_FS LOCAL_FS` form continues to work unchanged.
- [ ] When `--pair` is given, each pair runs against the supplied `HOST` with the shared SSH/compression/send/receive options.
- [ ] Pairs run in a deterministic order when `--jobs 1`; run concurrently when `--jobs > 1`.
- [ ] Exit code is non-zero if any pair fails; successful pairs still complete.
- [ ] `--help` documents the flag and gives an example.
- [ ] README gains a "Replicating multiple datasets" section.
- [ ] CHANGELOG entry under "Added".

## Out of scope

- Per-pair overrides for compression/cipher/options — tracked in the config-file issue.

## Notes

- Target release: **v4.4.0** (minor — additive flag; positional form preserved)
- Closes the user need from #92.
- Pairs naturally with `-j/--jobs`.
- Source: modernization assessment §3.6.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.