46 lines
903 B
HCL
46 lines
903 B
HCL
|
job "Consul" {
|
||
|
schedule = "0 0 * * *"
|
||
|
|
||
|
config {
|
||
|
# TODO: Backup to a meaningful location, this is just for testing
|
||
|
repo = "/local/repo"
|
||
|
# Read from secret file
|
||
|
passphrase = env("BACKUP_PASSPHRASE")
|
||
|
}
|
||
|
|
||
|
# Remove when using a proper backup destination
|
||
|
task "Create dir for repo" {
|
||
|
pre_script {
|
||
|
on_backup = "echo 'Backing up something'"
|
||
|
}
|
||
|
pre_script {
|
||
|
on_backup = "mkdir -p /local/repo"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
task "Use consul snapshots" {
|
||
|
pre_script {
|
||
|
on_backup = "mkdir -p /local/consul"
|
||
|
}
|
||
|
pre_script {
|
||
|
on_backup = "consul snapshot save /local/consul/backup.snap"
|
||
|
}
|
||
|
post_script {
|
||
|
on_restore = "consul snapshot restore /local/consul/backup.snap"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
backup {
|
||
|
paths = ["/local/consul"]
|
||
|
# Because path is absolute
|
||
|
restore_opts {
|
||
|
Target = "/"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
forget {
|
||
|
KeepLast = 2
|
||
|
Prune = true
|
||
|
}
|
||
|
}
|