From 7e1a142283179fd99dc03ebba99c376ab5c8adbe Mon Sep 17 00:00:00 2001 From: Ben Martin Date: Fri, 2 May 2025 20:31:38 +0000 Subject: [PATCH] chore(media-centre): onboard tautulli to consul service mesh --- modules/media-centre/jobspec.nomad.hcl | 52 +++++++++++++++++++------- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/modules/media-centre/jobspec.nomad.hcl b/modules/media-centre/jobspec.nomad.hcl index caa191e..56789a4 100644 --- a/modules/media-centre/jobspec.nomad.hcl +++ b/modules/media-centre/jobspec.nomad.hcl @@ -1,5 +1,15 @@ job "media-centre" { group "plex" { + network { + mode = "bridge" + port "plex" { + to = 32400 + } + port "envoy_metrics" { + to = 9102 + } + } + task "plex" { driver = "docker" @@ -107,19 +117,19 @@ job "media-centre" { "traefik.consulcatalog.connect=true", ] } + } + group "tautulli" { network { mode = "bridge" - port "plex" { - to = 32400 + port "tautulli" { + to = 8181 } port "envoy_metrics" { to = 9102 } } - } - - group "tautulli" { + task "tautulli" { driver = "docker" @@ -147,18 +157,34 @@ job "media-centre" { service { provider = "consul" - port = "tautulli" + port = "8181" + + meta { + envoy_metrics_port = "${NOMAD_HOST_PORT_envoy_metrics}" + } + + connect { + sidecar_service { + proxy { + expose { + path { + path = "/metrics" + protocol = "http" + local_path_port = 9102 + listener_port = "envoy_metrics" + } + } + transparent_proxy {} + } + } + } + tags = [ "traefik.enable=true", "traefik.http.routers.tautulli.entrypoints=websecure", - "traefik.http.routers.tautulli.rule=Host(`tautulli.brmartin.co.uk`)" + "traefik.http.routers.tautulli.rule=Host(`tautulli.brmartin.co.uk`)", + "traefik.consulcatalog.connect=true", ] } - - network { - port "tautulli" { - to = 8181 - } - } } }