diff --git a/modules/multi-runner/main.tf b/modules/multi-runner/main.tf index 905cc7f793..e88fc9ecba 100644 --- a/modules/multi-runner/main.tf +++ b/modules/multi-runner/main.tf @@ -11,7 +11,23 @@ locals { runner_extra_labels = { for k, v in var.multi_runner_config : k => sort(setunion(flatten(v.matcherConfig.labelMatchers), compact(v.runner_config.runner_extra_labels))) } - runner_config = { for k, v in var.multi_runner_config : k => merge({ id = aws_sqs_queue.queued_builds[k].id, arn = aws_sqs_queue.queued_builds[k].arn, url = aws_sqs_queue.queued_builds[k].url }, merge(v, { runner_config = merge(v.runner_config, { runner_extra_labels = local.runner_extra_labels[k] }) })) } + runner_config = { for k, v in var.multi_runner_config : k => merge( + { + id = aws_sqs_queue.queued_builds[k].id, + arn = aws_sqs_queue.queued_builds[k].arn, + url = aws_sqs_queue.queued_builds[k].url + }, + merge(v, { + runner_config = merge( + v.runner_config, + { runner_extra_labels = local.runner_extra_labels[k] + }), + matcherConfig = merge( + v.matcherConfig, + { labelMatchers = [local.runner_extra_labels[k]] } + ) + }) + ) } tmp_distinct_list_unique_os_and_arch = distinct([for i, config in local.runner_config : { "os_type" : config.runner_config.runner_os, "architecture" : config.runner_config.runner_architecture } if config.runner_config.enable_runner_binaries_syncer]) unique_os_and_arch = { for i, v in local.tmp_distinct_list_unique_os_and_arch : "${v.os_type}_${v.architecture}" => v }