diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2021-03-06 19:52:13 +0100 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2021-03-06 19:52:13 +0100 |
commit | d1a4ed0f7918005dc8972a83a919b99616f79112 (patch) | |
tree | d2caef2ba920d32a3bc4be453bb6aa044f0d7ed5 /app/backup/deploy/backup-manual.hcl | |
parent | 27963ca089bcbfc57313550bb4e466531755ae93 (diff) | |
download | infrastructure-d1a4ed0f7918005dc8972a83a919b99616f79112.tar.gz infrastructure-d1a4ed0f7918005dc8972a83a919b99616f79112.zip |
Matrix backup draft
Diffstat (limited to 'app/backup/deploy/backup-manual.hcl')
-rw-r--r-- | app/backup/deploy/backup-manual.hcl | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/app/backup/deploy/backup-manual.hcl b/app/backup/deploy/backup-manual.hcl new file mode 100644 index 0000000..2e6ffef --- /dev/null +++ b/app/backup/deploy/backup-manual.hcl @@ -0,0 +1,62 @@ +job "backup_manual" { + datacenters = ["dc1"] + + type = "batch" + + task "backup-matrix" { + driver = "docker" + + config { + image = "superboum/backup_matrix:1" + volumes = [ + "secrets/id_ed25519:/root/.ssh/id_ed25519", + "secrets/id_ed25519.pub:/root/.ssh/id_ed25519.pub", + "secrets/known_hosts:/root/.ssh/known_hosts" + ] + network_mode = "host" + } + + env { + CONSUL_HTTP_ADDR = "http://consul.service.2.cluster.deuxfleurs.fr:8500" + } + + template { + data = <<EOH +TARGET_SSH_USER={{ key "secrets/backup/target_ssh_user" }} +TARGET_SSH_PORT={{ key "secrets/backup/target_ssh_port" }} +TARGET_SSH_HOST={{ key "secrets/backup/target_ssh_host" }} +TARGET_SSH_DIR={{ key "secrets/backup/target_ssh_dir" }} +MATRIX_PSQL_DB={{ key "secrets/chat/synapse/postgres_db" }} +MATRIX_PSQL_USER={{ key "secrets/chat/synapse/postgres_user" }} +MATRIX_PSQL_PWD={{ key "secrets/chat/synapse/postgres_pwd" }} +EOH + + destination = "secrets/env_vars" + env = true + } + + template { + data = "{{ key \"secrets/backup/id_ed25519\" }}" + destination = "secrets/id_ed25519" + } + template { + data = "{{ key \"secrets/backup/id_ed25519.pub\" }}" + destination = "secrets/id_ed25519.pub" + } + template { + data = "{{ key \"secrets/backup/target_ssh_fingerprint\" }}" + destination = "secrets/known_hosts" + } + + resources { + memory = 200 + } + + restart { + attempts = 2 + interval = "30m" + delay = "15s" + mode = "fail" + } + } +} |