Skip to content

Commit 0021915

Browse files
authored
feat: suppress default tags from module (#651)
* remove suppressed tags * format code * fix tag list
1 parent be789ff commit 0021915

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

tags.tf

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
locals {
2-
tags = merge(
2+
tags_merged = merge(
33
{
44
"Name" = format("%s", var.environment)
55
},
@@ -9,7 +9,9 @@ locals {
99
var.tags,
1010
)
1111

12-
agent_tags = merge(
12+
tags = { for k, v in local.tags_merged : k => v if !contains(var.suppressed_tags, k) }
13+
14+
agent_tags_merged = merge(
1315
{
1416
"Name" = format("%s", local.name_runner_agent_instance)
1517
},
@@ -20,15 +22,17 @@ locals {
2022
var.agent_tags
2123
)
2224

25+
agent_tags = { for k, v in local.agent_tags_merged : k => v if !contains(var.suppressed_tags, k) }
26+
2327
runner_tags_merged = merge(
2428
local.tags,
2529
var.runner_tags,
2630
# overwrites the `Name` key from `local.tags`
2731
var.overrides["name_docker_machine_runners"] == "" ? { Name = substr(format("%s", var.environment), 0, 16) } : { Name = var.overrides["name_docker_machine_runners"] },
2832
)
2933

30-
# remove the `Name` tag if docker+machine adds one to avoid a failure due to a duplicate `Name` tag
31-
runner_tags = local.docker_machine_adds_name_tag ? { for k, v in local.runner_tags_merged : k => v if k != "Name" } : local.runner_tags_merged
34+
# remove the `Name` tag in addition if docker+machine adds one to avoid a failure due to a duplicate `Name` tag
35+
runner_tags = local.docker_machine_adds_name_tag ? { for k, v in local.runner_tags_merged : k => v if !contains(concat(var.suppressed_tags, ["Name"]), k) } : local.runner_tags_merged
3236

3337
tags_string = join(",", flatten([
3438
for key in keys(local.tags) : [key, lookup(local.tags, key)]

variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,12 @@ variable "runner_tags" {
502502
default = {}
503503
}
504504

505+
variable "suppressed_tags" {
506+
description = "List of tag keys which are removed from tags, agent_tags and runner_tags and never added as default tag by the module."
507+
type = list(string)
508+
default = []
509+
}
510+
505511
variable "role_tags" {
506512
description = "Map of tags that will be added to the role created. Useful for tag based authorization."
507513
type = map(string)

0 commit comments

Comments
 (0)