aboutsummaryrefslogtreecommitdiff
path: root/app/backup/deploy/backup-manual.hcl
blob: 08b378468976f480995589e91adbb759fa5426e2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
job "backup_manual" {
	datacenters = ["dc1"]

	type = "batch"

	task "backup-matrix" {
		driver = "docker"

			config {
				image = "superboum/backup_matrix:2"
				volumes = [
					"secrets/id_ed25519:/root/.ssh/id_ed25519",
					"secrets/id_ed25519.pub:/root/.ssh/id_ed25519.pub",
					"secrets/known_hosts:/root/.ssh/known_hosts",
					"/mnt/glusterfs/chat/matrix/synapse/media:/mnt/glusterfs/chat/matrix/synapse/media"
				]
				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"
		}
	}
}