/terraform-aws-ecr

Terraform module which creates a ECR repository

Primary LanguageHCLMIT LicenseMIT

terraform-aws-ecr

This module simplifies the creation of an Amazon Elastic Container Registry (ECR) which can be accessed by different AWS accounts. The lifecycle policy rules are turned on by default but can be disabled if required.

Examples

data "aws_iam_role" "ecr" {
  name = "ecr"
}

module "ecr" {
  source                   = "git::https://github.com/bnc-projects/terraform-aws-ecr.git?ref=1.0.0"
  allowed_read_principals  = concat("${formatlist("arn:aws:iam::%s:root", var.account_ids)}", ["arn:aws:iam::${var.account_id}:role/TravisCI"])
  allowed_write_principals = ["arn:aws:iam::${var.account_id}:role/TravisCI"]
  ecr_repo_name            = "${var.ecr_repo_name}"
  enable_ecr_lifecycle     = true
  max_images               = 50
  tags                     = "${merge(local.common_tags, var.tags)}"
}

Inputs

Name Description Type Default Required
allowed_read_principals A list of account ids which are allowed to read from the repository list - yes
allowed_write_principals A list of principals which are allowed to write to the repository list - yes
ecr_repo_name The name of the repository string - yes
enable_ecr_lifecycle Set to false to prevent the module from creating a ECR lifecycle policy boolean true no
max_images The maximum number of images to store in the repository number 100 no
tags A map of tags to add to the appropriate resources map <map> no

Outputs

Name Description
repository_url The Elastic Container Registry URL