From b9fb2d4b07e46ff6000ddfacd8c926ed6a3476d2 Mon Sep 17 00:00:00 2001 From: Ian Fijolek Date: Mon, 24 Jul 2023 15:21:20 -0700 Subject: [PATCH] Add ability to specify custom services for service module --- services/service/main.tf | 1 + services/service/service_template.nomad | 10 ++++++++++ services/service/vars.tf | 13 +++++++++++++ 3 files changed, 24 insertions(+) diff --git a/services/service/main.tf b/services/service/main.tf index ae1ec63..e508295 100644 --- a/services/service/main.tf +++ b/services/service/main.tf @@ -18,6 +18,7 @@ resource "nomad_job" "service" { sticky_disk = var.sticky_disk resources = var.resources service_tags = var.service_tags + custom_services = var.custom_services ingress = var.ingress ingress_rule = var.ingress_rule diff --git a/services/service/service_template.nomad b/services/service/service_template.nomad index b25bff6..2aa3760 100644 --- a/services/service/service_template.nomad +++ b/services/service/service_template.nomad @@ -84,6 +84,16 @@ job "${name}" { } %{ endif ~} + %{ for custom_service in custom_services } + service { + name = "${custom_service.name}" + provider = "nomad" + port = "${custom_service.port}" + + tags = ${jsonencode(custom_service.tags)} + } + + %{ endfor } task "${name}" { driver = "docker" diff --git a/services/service/vars.tf b/services/service/vars.tf index bf46f00..568f0e3 100644 --- a/services/service/vars.tf +++ b/services/service/vars.tf @@ -172,6 +172,7 @@ variable "mysql_bootstrap" { db_pass_key = optional(string, "db_pass") add_ro = optional(bool, false) }) + default = null } @@ -181,6 +182,7 @@ variable "constraints" { operator = optional(string, "=") value = optional(string, "") })) + default = [] } @@ -192,3 +194,14 @@ variable "docker_devices" { default = [] } + +variable "custom_services" { + description = "Service definitions for any additional requested services." + type = list(object({ + name = string + port = string + tags = list(string) + })) + + default = [] +}