From f22e24270036e84225ee4efe1086563b9504b26e Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Wed, 21 Sep 2022 19:29:08 +0200 Subject: [PATCH] SSB experiment --- cluster/staging/node/carcajou.nix | 3 - cluster/staging/node/cariacou.nix | 3 - cluster/staging/node/caribou.nix | 4 +- experimental/bad.ssb/deploy/go-ssb-room.hcl | 83 +++++++++++++++++++++ experimental/bad.ssb/deploy/ssb-room.hcl | 59 +++++++++++++++ 5 files changed, 144 insertions(+), 8 deletions(-) create mode 100644 experimental/bad.ssb/deploy/go-ssb-room.hcl create mode 100644 experimental/bad.ssb/deploy/ssb-room.hcl diff --git a/cluster/staging/node/carcajou.nix b/cluster/staging/node/carcajou.nix index 65766f3..1eeb48a 100644 --- a/cluster/staging/node/carcajou.nix +++ b/cluster/staging/node/carcajou.nix @@ -21,7 +21,4 @@ deuxfleurs.cluster_ip = "10.14.1.2"; deuxfleurs.is_raft_server = true; - - # Enable netdata monitoring - services.netdata.enable = true; } diff --git a/cluster/staging/node/cariacou.nix b/cluster/staging/node/cariacou.nix index 2d212b5..cb174f7 100644 --- a/cluster/staging/node/cariacou.nix +++ b/cluster/staging/node/cariacou.nix @@ -21,7 +21,4 @@ deuxfleurs.cluster_ip = "10.14.1.1"; deuxfleurs.is_raft_server = true; - - # Enable netdata monitoring - services.netdata.enable = true; } diff --git a/cluster/staging/node/caribou.nix b/cluster/staging/node/caribou.nix index 64e86cc..38c9983 100644 --- a/cluster/staging/node/caribou.nix +++ b/cluster/staging/node/caribou.nix @@ -22,6 +22,6 @@ deuxfleurs.cluster_ip = "10.14.1.3"; deuxfleurs.is_raft_server = true; - # Enable netdata monitoring - services.netdata.enable = true; + # Open SSB port + networking.firewall.allowedTCPPorts = [ 8008 ]; } diff --git a/experimental/bad.ssb/deploy/go-ssb-room.hcl b/experimental/bad.ssb/deploy/go-ssb-room.hcl new file mode 100644 index 0000000..c9c4109 --- /dev/null +++ b/experimental/bad.ssb/deploy/go-ssb-room.hcl @@ -0,0 +1,83 @@ +job "ssb" { + datacenters = ["neptune"] + type = "service" + + group "go-ssb-room" { + count = 1 + + constraint { + attribute = "${attr.unique.hostname}" + value = "caribou" + } + + network { + port "web_port" { to = 3888 } + port "ssb_port" { to = 8008 } + } + + task "go-ssb-room" { + driver = "docker" + config { + image = "lxpz/amd64_go_ssb_room:1" + readonly_rootfs = true + ports = [ "web_port", "ssb_port" ] + network_mode = "host" + command = "/app/cmd/server/server" + args = [ + "-https-domain=ssb.staging.deuxfleurs.org", + "-repo=/repo", + "-aliases-as-subdomains=false", + "-lishttp=:3888", + ] + volumes = [ + "/mnt/ssd/go-ssb-room:/repo" + ] + } + + resources { + memory = 200 + } + + service { + name = "go-ssb-room-http" + tags = [ + "tricot ssb.staging.deuxfleurs.org", + ] + port = "web_port" + address_mode = "driver" + check { + type = "tcp" + port = "web_port" + interval = "60s" + timeout = "5s" + check_restart { + limit = 3 + grace = "90s" + ignore_warnings = false + } + } + } + + service { + name = "go-ssb-room-ssb" + tags = [ + "(diplonat (port 8008))", + ] + port = "ssb_port" + address_mode = "driver" + check { + type = "tcp" + port = "ssb_port" + interval = "60s" + timeout = "5s" + check_restart { + limit = 3 + grace = "90s" + ignore_warnings = false + } + } + } + } + } +} + diff --git a/experimental/bad.ssb/deploy/ssb-room.hcl b/experimental/bad.ssb/deploy/ssb-room.hcl new file mode 100644 index 0000000..049b7dd --- /dev/null +++ b/experimental/bad.ssb/deploy/ssb-room.hcl @@ -0,0 +1,59 @@ +job "ssb" { + datacenters = ["neptune"] + type = "service" + + group "ssb-room" { + count = 1 + + constraint { + attribute = "${attr.unique.hostname}" + value = "caribou" + } + + network { + port "web_port" { + to = 8007 + } + port "ssb_port" { + to = 8008 + } + } + + task "go-ssb-room" { + driver = "docker" + config { + image = "lxpz/amd64_ssb_room:3" + readonly_rootfs = true + ports = [ "web_port", "ssb_port" ] + network_mode = "host" + volumes = [ + "/mnt/ssd/ssb-room:/root/.ssb/" + ] + } + user = "root" + + resources { + memory = 200 + } + + service { + name = "ssb-room-http" + tags = [ + "tricot ssb.staging.deuxfleurs.org", + ] + port = "web_port" + address_mode = "driver" + } + + service { + name = "ssb-room-ssb" + tags = [ + "(diplonat (port 8008))", + ] + port = "ssb_port" + address_mode = "driver" + } + } + } +} +