swarm-archive: back up every agent's state to an append-only restic repository per agent
swarm-archive serves restic repositories with rclone, append-only, one login and one repository per agent. swarm-controller writes each placed agent's login and restic password to the store, replaces them on a move and removes them when the agent is destroyed. Every hive backs its agents up hourly under its own store identity. The archive host prunes by retention.
This commit is contained in:
parent
409e7ee5a0
commit
306aae0378
1 changed files with 2214 additions and 5 deletions
|
|
@ -734,6 +734,25 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
archive.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = ''
|
||||
Run the swarm's backup archive on this host: `rclone serve restic`
|
||||
behind the gateway at `archive.<swarm domain>`, append-only, with one
|
||||
login and one repository per agent, and a daily prune that applies the
|
||||
retention. Every hive's backup unit finds it by that name, so it runs
|
||||
on one host and the host does not matter. Run it on one host.
|
||||
|
||||
On by default where
|
||||
{option}`services.hyperhive.deploy.allSwarmServices` is set and this
|
||||
host has the archive's store identity (the pair
|
||||
{option}`services.hyperhive.deploy.bao.archiveClientCertFile` and
|
||||
`archiveClientKeyFile`, minted on the store's host).
|
||||
'';
|
||||
};
|
||||
|
||||
hive-controller.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
|
|
|
|||
Loading…
Reference in a new issue