From e470b204a5749f24a5f39eddc186164e8d775d85 Mon Sep 17 00:00:00 2001 From: vincent Date: Wed, 21 Feb 2024 19:03:31 +0100 Subject: [PATCH] feat: add constrainst to limit nas job --- nomad-job/alertmanager.nomad | 5 +++++ nomad-job/batch-seedboxsync.nomad | 6 +++++- nomad-job/crowdsec-api.nomad | 6 ++++++ nomad-job/dashboard.nomad | 6 +++++- nomad-job/dockermailserver.nomad | 6 +++++- nomad-job/filestash.nomad | 6 +++++- nomad-job/gitea.nomad | 5 +++++ nomad-job/grafana.nomad | 5 +++++ nomad-job/homeassistant.nomad | 5 +++++ nomad-job/jellyfin.nomad | 6 ++++++ nomad-job/loki.nomad | 6 +++++- nomad-job/pacoloco.nomad | 6 +++++- nomad-job/paperless-ng.nomad | 6 +++++- nomad-job/pdns-auth.nomad | 5 +++++ nomad-job/pihole.nomad | 5 +++++ nomad-job/prometheus.nomad | 6 +++++- nomad-job/radicale.nomad | 5 +++++ nomad-job/supysonic.nomad | 6 +++++- nomad-job/syncthing.nomad | 6 +++++- nomad-job/traefik-local.nomad | 6 +++++- nomad-job/vaultwarden.nomad | 6 +++++- 21 files changed, 107 insertions(+), 12 deletions(-) diff --git a/nomad-job/alertmanager.nomad b/nomad-job/alertmanager.nomad index 5972c3c..1c54b14 100644 --- a/nomad-job/alertmanager.nomad +++ b/nomad-job/alertmanager.nomad @@ -8,6 +8,11 @@ job "alertmanager" { vault { policies = ["alertmanager"] } + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "alertmanager" { network { mode = "host" diff --git a/nomad-job/batch-seedboxsync.nomad b/nomad-job/batch-seedboxsync.nomad index bc8e9b8..e905e59 100644 --- a/nomad-job/batch-seedboxsync.nomad +++ b/nomad-job/batch-seedboxsync.nomad @@ -6,7 +6,11 @@ job "batch-seedboxsync" { meta { forcedeploy = "0" } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } constraint { attribute = "${attr.cpu.arch}" value = "amd64" diff --git a/nomad-job/crowdsec-api.nomad b/nomad-job/crowdsec-api.nomad index b5a8b97..56921fa 100644 --- a/nomad-job/crowdsec-api.nomad +++ b/nomad-job/crowdsec-api.nomad @@ -5,9 +5,15 @@ job "crowdsec-api" { meta { forcedeploy = "-1" } + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } vault { policies = ["crowdsec"] } + group "crowdsec-api" { network { mode = "host" diff --git a/nomad-job/dashboard.nomad b/nomad-job/dashboard.nomad index 7f2dc18..af6de93 100644 --- a/nomad-job/dashboard.nomad +++ b/nomad-job/dashboard.nomad @@ -6,7 +6,11 @@ job "dashboard" { meta { forcedeploy = "1" } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "dashboard" { network { mode = "host" diff --git a/nomad-job/dockermailserver.nomad b/nomad-job/dockermailserver.nomad index 22a6f36..02be84d 100644 --- a/nomad-job/dockermailserver.nomad +++ b/nomad-job/dockermailserver.nomad @@ -9,7 +9,11 @@ job "dockermailserver" { attribute = "${attr.cpu.arch}" value = "amd64" } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "dockermailserver" { network { mode = "host" diff --git a/nomad-job/filestash.nomad b/nomad-job/filestash.nomad index ac4003a..59358cd 100644 --- a/nomad-job/filestash.nomad +++ b/nomad-job/filestash.nomad @@ -10,7 +10,11 @@ job "filestash" { attribute = "${attr.cpu.arch}" value = "amd64" } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "filestash" { network { diff --git a/nomad-job/gitea.nomad b/nomad-job/gitea.nomad index a706da4..fb2e82c 100644 --- a/nomad-job/gitea.nomad +++ b/nomad-job/gitea.nomad @@ -8,6 +8,11 @@ job "git" { constraint { attribute = "${attr.cpu.arch}" value = "amd64" + } + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" } group "gitea" { network { diff --git a/nomad-job/grafana.nomad b/nomad-job/grafana.nomad index b7dd6d6..73915b6 100644 --- a/nomad-job/grafana.nomad +++ b/nomad-job/grafana.nomad @@ -2,6 +2,11 @@ job "grafana" { datacenters = ["homelab"] priority = 50 type = "service" + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } meta { forcedeploiement = 2 } diff --git a/nomad-job/homeassistant.nomad b/nomad-job/homeassistant.nomad index f6902c7..b5699d1 100644 --- a/nomad-job/homeassistant.nomad +++ b/nomad-job/homeassistant.nomad @@ -3,6 +3,11 @@ job "homeassistant" { datacenters = ["homelab"] priority = 90 type = "service" + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } meta { forcedeploy = "0" } diff --git a/nomad-job/jellyfin.nomad b/nomad-job/jellyfin.nomad index 1952aad..317cf9a 100644 --- a/nomad-job/jellyfin.nomad +++ b/nomad-job/jellyfin.nomad @@ -2,6 +2,7 @@ job "jellyfin" { datacenters = ["homelab"] priority = 30 type = "service" + meta { forcedeploy = "1" } @@ -9,6 +10,11 @@ job "jellyfin" { attribute = "${attr.cpu.arch}" value = "amd64" } + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group jellyfin-vue { network { mode = "host" diff --git a/nomad-job/loki.nomad b/nomad-job/loki.nomad index 1264721..0cec304 100644 --- a/nomad-job/loki.nomad +++ b/nomad-job/loki.nomad @@ -6,7 +6,11 @@ job "loki" { meta { forcedeploy = "0" } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "loki" { network { mode = "host" diff --git a/nomad-job/pacoloco.nomad b/nomad-job/pacoloco.nomad index 0b26e13..84bca0e 100644 --- a/nomad-job/pacoloco.nomad +++ b/nomad-job/pacoloco.nomad @@ -6,7 +6,11 @@ job "pacoloco" { meta { forcedeploy = "0" } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "pacoloco" { network { mode = "host" diff --git a/nomad-job/paperless-ng.nomad b/nomad-job/paperless-ng.nomad index 78a169b..d8a97bf 100644 --- a/nomad-job/paperless-ng.nomad +++ b/nomad-job/paperless-ng.nomad @@ -6,7 +6,11 @@ job "paperless-ng" { meta { forcedeploy = "0" } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } constraint { attribute = "${attr.cpu.arch}" value = "amd64" diff --git a/nomad-job/pdns-auth.nomad b/nomad-job/pdns-auth.nomad index f1e7a96..d8a02ef 100644 --- a/nomad-job/pdns-auth.nomad +++ b/nomad-job/pdns-auth.nomad @@ -10,6 +10,11 @@ job "pdns-auth" { attribute = "${attr.cpu.arch}" value = "amd64" } + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "pdns-auth" { network { port "dns" { diff --git a/nomad-job/pihole.nomad b/nomad-job/pihole.nomad index 20c0096..f049012 100644 --- a/nomad-job/pihole.nomad +++ b/nomad-job/pihole.nomad @@ -9,6 +9,11 @@ job "pihole" { attribute = "${attr.cpu.arch}" value = "amd64" } + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "pi-hole" { network { port "dns" { diff --git a/nomad-job/prometheus.nomad b/nomad-job/prometheus.nomad index e98e870..bc29755 100644 --- a/nomad-job/prometheus.nomad +++ b/nomad-job/prometheus.nomad @@ -9,7 +9,11 @@ job "prometheus" { meta{ force_deploy= 1 } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "prometheus" { count = 1 diff --git a/nomad-job/radicale.nomad b/nomad-job/radicale.nomad index f5422de..a77086e 100644 --- a/nomad-job/radicale.nomad +++ b/nomad-job/radicale.nomad @@ -6,6 +6,11 @@ job "radicale" { meta { forcedeploy = "0" } + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "radicale" { network { mode = "host" diff --git a/nomad-job/supysonic.nomad b/nomad-job/supysonic.nomad index bc0a1ac..e8e313e 100644 --- a/nomad-job/supysonic.nomad +++ b/nomad-job/supysonic.nomad @@ -10,7 +10,11 @@ job "supysonic" { attribute = "${attr.cpu.arch}" value = "amd64" } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "supysonic" { network { mode = "host" diff --git a/nomad-job/syncthing.nomad b/nomad-job/syncthing.nomad index 35ab072..40d15e3 100644 --- a/nomad-job/syncthing.nomad +++ b/nomad-job/syncthing.nomad @@ -10,7 +10,11 @@ job "syncthing" { attribute = "${attr.cpu.arch}" value = "amd64" } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "syncthing" { network { diff --git a/nomad-job/traefik-local.nomad b/nomad-job/traefik-local.nomad index d79d530..3cfa754 100644 --- a/nomad-job/traefik-local.nomad +++ b/nomad-job/traefik-local.nomad @@ -2,7 +2,11 @@ job "traefik-local" { datacenters = ["homelab"] priority = 90 type = "service" - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "traefik-local" { network { mode = "host" diff --git a/nomad-job/vaultwarden.nomad b/nomad-job/vaultwarden.nomad index 499649b..105074c 100644 --- a/nomad-job/vaultwarden.nomad +++ b/nomad-job/vaultwarden.nomad @@ -6,7 +6,11 @@ job "vaultwarden" { meta { forcedeploy = "0" } - + constraint { + attribute = "${node.class}" + operator = "set_contains" + value = "cluster" + } group "vaultwarden" { network { mode = "host"