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
|
|
}
|
|
}
|