prototype new config format

This commit is contained in:
Christian Schwarz
2017-09-06 12:46:33 +02:00
parent 64b4901eb0
commit 98fc59dbd5
5 changed files with 161 additions and 0 deletions

View File

@ -0,0 +1,34 @@
prod1.example.com:
connect:
type: ssh
host: backuphost.example.com
user: root
port: 22
identity_file: /root/.ssh/id_ed25519
schedule:
# we cannot infer a schedule from steps below, thus define one here
type: cron
cron: "@every 10m" # see https://godoc.org/github.com/robfig/cron
steps:
# pull datasets from remote to local
- type: pull
mapping: {
"zroot<":"storage/backups/zrepl/prod1.example.com/zroot"
"zroot/tmp": "!"
}
# prune the snaphots we pulled
- type: prune
policy: grid
grid: 1x1h(keep=all) | 24x1h | 35x1d | 6x30d
dataset_filter: {
"storage/backups/zrepl/prod1.example.com/zroot<": ok
}
snapshot_filter: {
snapshot_prefix: zrepl_
}

View File

@ -0,0 +1,33 @@
backuphost.example.com:
global:
snapshot_prefix: zrepl_
# accept connections from backups.example.com via ssh / stdinserver command
serve:
auth: ssh
role: source
acl: {
"zroot<": ok,
"zroot/usr/home<": omit,
}
# periodic task list, following given schedule
schedule:
type: auto # infer from autosnap step
steps:
- type: autosnap
interval: 10m
dataset_filter: {
"zroot<": ok
}
- type: prune
policy: grid
grid: 1x1h(keep=all)
dataset_filter: {
"zroot<": ok
}