From f693de2abe32321b6725033782efb9e29efde6cf Mon Sep 17 00:00:00 2001 From: magreenbaum Date: Sat, 29 Mar 2025 10:40:51 -0400 Subject: [PATCH] support private ecr pull through cache --- README.md | 4 ++-- examples/complete/README.md | 4 ++-- examples/complete/main.tf | 5 +++++ examples/complete/versions.tf | 2 +- examples/repository-template/README.md | 4 ++-- examples/repository-template/versions.tf | 2 +- main.tf | 8 +++++--- modules/repository-template/README.md | 4 ++-- modules/repository-template/versions.tf | 2 +- versions.tf | 2 +- wrappers/repository-template/versions.tf | 2 +- wrappers/versions.tf | 2 +- 12 files changed, 24 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index f74e660..68ac248 100644 --- a/README.md +++ b/README.md @@ -195,13 +195,13 @@ Examples codified under the [`examples`](https://github.com/terraform-aws-module | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 5.61 | +| [aws](#requirement\_aws) | >= 5.93 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.61 | +| [aws](#provider\_aws) | >= 5.93 | ## Modules diff --git a/examples/complete/README.md b/examples/complete/README.md index 2724d28..428ce7c 100644 --- a/examples/complete/README.md +++ b/examples/complete/README.md @@ -28,13 +28,13 @@ Note that this example may create resources which will incur monetary charges on | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 5.61 | +| [aws](#requirement\_aws) | >= 5.93 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.61 | +| [aws](#provider\_aws) | >= 5.93 | ## Modules diff --git a/examples/complete/main.tf b/examples/complete/main.tf index c50fb0f..272fe17 100644 --- a/examples/complete/main.tf +++ b/examples/complete/main.tf @@ -127,6 +127,11 @@ module "ecr_registry" { upstream_registry_url = "registry-1.docker.io" credential_arn = module.secrets_manager_dockerhub_credentials.secret_arn } + priv = { + ecr_repository_prefix = local.name + upstream_registry_url = "${data.aws_caller_identity.current.account_id}.dkr.ecr.us-west-2.amazonaws.com" + upstream_repository_prefix = "myapp" + } } # Registry Scanning Configuration diff --git a/examples/complete/versions.tf b/examples/complete/versions.tf index 97e87e8..f2f9288 100644 --- a/examples/complete/versions.tf +++ b/examples/complete/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.61" + version = ">= 5.93" } } } diff --git a/examples/repository-template/README.md b/examples/repository-template/README.md index 0c47a7f..71bd0c8 100644 --- a/examples/repository-template/README.md +++ b/examples/repository-template/README.md @@ -22,13 +22,13 @@ If you validate the example by using the pull-through cache, you will need to ma | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 5.61 | +| [aws](#requirement\_aws) | >= 5.93 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.61 | +| [aws](#provider\_aws) | >= 5.93 | ## Modules diff --git a/examples/repository-template/versions.tf b/examples/repository-template/versions.tf index 97e87e8..f2f9288 100644 --- a/examples/repository-template/versions.tf +++ b/examples/repository-template/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.61" + version = ">= 5.93" } } } diff --git a/main.tf b/main.tf index 14dc875..3509fc7 100644 --- a/main.tf +++ b/main.tf @@ -269,9 +269,11 @@ resource "aws_ecr_registry_policy" "this" { resource "aws_ecr_pull_through_cache_rule" "this" { for_each = { for k, v in var.registry_pull_through_cache_rules : k => v if var.create } - ecr_repository_prefix = each.value.ecr_repository_prefix - upstream_registry_url = each.value.upstream_registry_url - credential_arn = try(each.value.credential_arn, null) + ecr_repository_prefix = each.value.ecr_repository_prefix + upstream_registry_url = each.value.upstream_registry_url + credential_arn = try(each.value.credential_arn, null) + custom_role_arn = try(each.value.custom_role_arn, null) + upstream_repository_prefix = try(each.value.upstream_repository_prefix, null) } ################################################################################ diff --git a/modules/repository-template/README.md b/modules/repository-template/README.md index 1ed4d8b..e89a0bf 100644 --- a/modules/repository-template/README.md +++ b/modules/repository-template/README.md @@ -98,13 +98,13 @@ Examples codified under the [`examples`](https://github.com/terraform-aws-module | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | -| [aws](#requirement\_aws) | >= 5.61 | +| [aws](#requirement\_aws) | >= 5.93 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | >= 5.61 | +| [aws](#provider\_aws) | >= 5.93 | ## Modules diff --git a/modules/repository-template/versions.tf b/modules/repository-template/versions.tf index 97e87e8..f2f9288 100644 --- a/modules/repository-template/versions.tf +++ b/modules/repository-template/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.61" + version = ">= 5.93" } } } diff --git a/versions.tf b/versions.tf index 97e87e8..f2f9288 100644 --- a/versions.tf +++ b/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.61" + version = ">= 5.93" } } } diff --git a/wrappers/repository-template/versions.tf b/wrappers/repository-template/versions.tf index 97e87e8..f2f9288 100644 --- a/wrappers/repository-template/versions.tf +++ b/wrappers/repository-template/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.61" + version = ">= 5.93" } } } diff --git a/wrappers/versions.tf b/wrappers/versions.tf index 97e87e8..f2f9288 100644 --- a/wrappers/versions.tf +++ b/wrappers/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = ">= 5.61" + version = ">= 5.93" } } }