aboutsummaryrefslogtreecommitdiff
path: root/cluster/prod
diff options
context:
space:
mode:
Diffstat (limited to 'cluster/prod')
-rw-r--r--cluster/prod/app/matrix/deploy/im-android7.hcl74
1 files changed, 74 insertions, 0 deletions
diff --git a/cluster/prod/app/matrix/deploy/im-android7.hcl b/cluster/prod/app/matrix/deploy/im-android7.hcl
new file mode 100644
index 0000000..1daa4e9
--- /dev/null
+++ b/cluster/prod/app/matrix/deploy/im-android7.hcl
@@ -0,0 +1,74 @@
+// Fichier de configuration pour exposer le service Matrix
+// avec une version TLS compatible avec Android 7
+// Voir https://git.deuxfleurs.fr/Deuxfleurs/nixcfg/src/branch/main/cluster/prod/app/email/integration
+
+
+
+job "im-android7" {
+ datacenters = ["scorpio", "neptune"]
+ type = "service"
+ priority = 100
+
+ group "rsa-ecc-proxy" {
+ network {
+ port "api_port" { static = 8008 }
+ // port "web_port" { to = 8043 }
+ }
+
+ task "api-proxy" {
+ driver = "docker"
+ config {
+ image = "alpine/socat:1.8.0.0"
+ readonly_rootfs = true
+ ports = [ "api_port" ]
+ network_mode = "host"
+ args = [
+ "openssl-listen:8008,reuseaddr,fork,verify=0,bind=0.0.0.0,cert=/var/secrets/rsa.crt,key=/var/secrets/rsa.key",
+ "openssl:im.deuxfleurs.fr:8008,verify=0",
+ ]
+ volumes = [
+ "secrets/certs:/var/secrets"
+ ]
+ }
+
+ // TODO : ajouter un certificat TLS self-signed à Consul à l'adresse ci-dessous
+ template {
+ data = "{{ key \"secrets/matrix/tls-tls-proxy/rsa.crt\" }}"
+ destination = "secrets/certs/rsa.crt"
+ }
+ template {
+ data = "{{ key \"secrets/matrix/tls-tls-proxy/rsa.key\" }}"
+ destination = "secrets/certs/rsa.key"
+ }
+
+ resources {
+ cpu = 50
+ memory = 50
+ }
+
+ service {
+ name = "im-android7"
+ port = "api_port"
+ address_mode = "host"
+ tags = [
+ "rsa-ecc-proxy",
+ "(diplonat (tcp_port 8008))",
+ "d53-a im-android7.deuxfleurs.fr",
+ # ipv6 is commented for now as socat does not listen on ipv6 now
+ # "d53-aaaa im-android7.deuxfleurs.fr"
+ ]
+ check {
+ type = "tcp"
+ port = "api_port"
+ interval = "60s"
+ timeout = "5s"
+ check_restart {
+ limit = 3
+ grace = "90s"
+ ignore_warnings = false
+ }
+ }
+ }
+ }
+ }
+}