From c2308c6732dd05e0e81edb0c64c9e35c51fa65ba Mon Sep 17 00:00:00 2001 From: aahel Date: Fri, 15 Sep 2023 17:47:25 +0530 Subject: [PATCH] added fixes and fixed acceptance test --- modules/lambda-registrator/main.tf | 7 +++---- test/acceptance/tests/basic_test.go | 13 ++++++++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/modules/lambda-registrator/main.tf b/modules/lambda-registrator/main.tf index 99ae205..001078e 100644 --- a/modules/lambda-registrator/main.tf +++ b/modules/lambda-registrator/main.tf @@ -20,8 +20,9 @@ locals { lambda_events_key = "${var.name}-lambda_events" image_parts = split(":", var.consul_lambda_registrator_image) image_tag = local.image_parts[1] + ecr_repo_name = var.private_ecr_repo_name == "" ? "consul-lambda-registrator-${random_id.repo_id.hex}" : var.private_ecr_repo_name # generated_ecr_image_uri is used when we want to automatically push the public image to a private ecr repo using docker. - generated_ecr_image_uri = "${data.aws_caller_identity.current_identity.account_id}.dkr.ecr.${data.aws_region.current_region.name}.amazonaws.com/${var.private_ecr_repo_name}:${local.image_tag}" + generated_ecr_image_uri = "${data.aws_caller_identity.current_identity.account_id}.dkr.ecr.${data.aws_region.current_region.name}.amazonaws.com/${local.ecr_repo_name}:${local.image_tag}" } # Equivalent of aws ecr get-login @@ -153,14 +154,12 @@ resource "aws_iam_role_policy_attachment" "lambda_logs" { role = aws_iam_role.registration.name policy_arn = aws_iam_policy.policy.arn } - resource "random_id" "repo_id" { - count = var.ecr_image_uri != "" ? 0 : 1 byte_length = 8 } resource "aws_ecr_repository" "lambda-registrator" { count = var.ecr_image_uri != "" ? 0 : 1 - name = var.private_ecr_repo_name == "" ? "consul-lambda-registrator-${random_id.repo_id[count.index].hex}" : var.private_ecr_repo_name + name = local.ecr_repo_name force_delete = true } diff --git a/test/acceptance/tests/basic_test.go b/test/acceptance/tests/basic_test.go index 57ec7f3..4accbe8 100644 --- a/test/acceptance/tests/basic_test.go +++ b/test/acceptance/tests/basic_test.go @@ -31,8 +31,9 @@ type SetupConfig struct { func TestBasic(t *testing.T) { cases := map[string]struct { - secure bool - enterprise bool + secure bool + enterprise bool + autoPublishRegistrator bool }{ "secure": { secure: true, @@ -44,6 +45,10 @@ func TestBasic(t *testing.T) { secure: true, enterprise: true, }, + "secure auto publish": { + secure: true, + autoPublishRegistrator: true, + }, } for name, c := range cases { @@ -55,7 +60,9 @@ func TestBasic(t *testing.T) { partition := "" queryString := "" tfVars["consul_image"] = "public.ecr.aws/hashicorp/consul:1.15.1" - + if c.autoPublishRegistrator { + tfVars["ecr_image_uri"] = "" + } if c.enterprise { tfVars["consul_license"] = os.Getenv("CONSUL_LICENSE") require.NotEmpty(t, tfVars["consul_license"], "CONSUL_LICENSE environment variable is required for enterprise tests")