From 4ca2d303f442003c8dce5021ae9b98085e59752f Mon Sep 17 00:00:00 2001 From: Igor Rodionov Date: Fri, 29 Jun 2018 02:35:50 +0600 Subject: [PATCH 1/4] Added ecr --- aws/ecr/ecr-repo-app.tf | 40 ++++++++++++++++++++++++++++++++ aws/ecr/ecr-user.tf | 35 ++++++++++++++++++++++++++++ aws/ecr/main.tf | 35 ++++++++++++++++++++++++++++ aws/ecr/terraform.tfvars.example | 4 ++++ 4 files changed, 114 insertions(+) create mode 100644 aws/ecr/ecr-repo-app.tf create mode 100644 aws/ecr/ecr-user.tf create mode 100644 aws/ecr/main.tf create mode 100644 aws/ecr/terraform.tfvars.example diff --git a/aws/ecr/ecr-repo-app.tf b/aws/ecr/ecr-repo-app.tf new file mode 100644 index 000000000..8c477cdf3 --- /dev/null +++ b/aws/ecr/ecr-repo-app.tf @@ -0,0 +1,40 @@ +module "kops_ecr_app" { + source = "git::https://github.com/cloudposse/terraform-aws-kops-ecr.git?ref=tags/0.1.0" + namespace = "${var.namespace}" + stage = "${var.stage}" + name = "langing" + cluster_name = "${var.region}.${var.zone_name}" + + users = [ + "${module.kops_ecr_user.user_name}" + ] + + tags = { + Cluster = "${var.region}.${var.zone_name}" + } +} + +output "kops_ecr_app_registry_id" { + value = "${module.kops_ecr_app.registry_id}" + description = "Registry app ID" +} + +output "kops_ecr_app_registry_url" { + value = "${module.kops_ecr_app.repository_url}" + description = "Registry app URL" +} + +output "kops_ecr_app_repository_name" { + value = "${module.kops_ecr_app.name}" + description = "Registry app name" +} + +output "kops_ecr_app_role_name" { + value = "${module.kops_ecr_app.role_name}" + description = "Assume Role name to get access app registry" +} + +output "kops_ecr_app_role_arn" { + value = "${module.kops_ecr_app.role_arn}" + description = "Assume Role ARN to get access app registry" +} diff --git a/aws/ecr/ecr-user.tf b/aws/ecr/ecr-user.tf new file mode 100644 index 000000000..82648c170 --- /dev/null +++ b/aws/ecr/ecr-user.tf @@ -0,0 +1,35 @@ +module "kops_ecr_user" { + source = "git::https://github.com/cloudposse/terraform-aws-iam-system-user.git?ref=tags/0.3.0" + namespace = "${var.namespace}" + stage = "${var.stage}" + name = "cicd" + + tags = { + Cluster = "${var.region}.${var.zone_name}" + } +} + +output "kops_ecr_user_name" { + value = "${module.kops_ecr_user.user_name}" + description = "Normalized IAM user name" +} + +output "kops_ecr_user_arn" { + value = "${module.kops_ecr_user.user_arn}" + description = "The ARN assigned by AWS for the user" +} + +output "kops_ecr_user_unique_id" { + value = "${module.kops_ecr_user.user_unique_id}" + description = "The user unique ID assigned by AWS" +} + +output "kops_ecr_user_access_key_id" { + value = "${module.kops_ecr_user.access_key_id}" + description = "The access key ID" +} + +output "kops_ecr_user_secret_access_key" { + value = "${module.kops_ecr_user.secret_access_key}" + description = "The secret access key. This will be written to the state file in plain-text" +} diff --git a/aws/ecr/main.tf b/aws/ecr/main.tf new file mode 100644 index 000000000..880ca9f5c --- /dev/null +++ b/aws/ecr/main.tf @@ -0,0 +1,35 @@ +terraform { + required_version = ">= 0.11.2" + + backend "s3" {} +} + +variable "aws_assume_role_arn" { + type = "string" +} + +variable "namespace" { + type = "string" + description = "Namespace (e.g. `cp` or `cloudposse`)" +} + +variable "stage" { + type = "string" + description = "Stage (e.g. `prod`, `dev`, `staging`)" +} + +variable "region" { + type = "string" + description = "AWS region" +} + +variable "zone_name" { + type = "string" + description = "DNS zone name" +} + +provider "aws" { + assume_role { + role_arn = "${var.aws_assume_role_arn}" + } +} diff --git a/aws/ecr/terraform.tfvars.example b/aws/ecr/terraform.tfvars.example new file mode 100644 index 000000000..0322c1a61 --- /dev/null +++ b/aws/ecr/terraform.tfvars.example @@ -0,0 +1,4 @@ +namespace="cp" +stage="staging" +region="us-west-2" +zone_name="us-west-2.staging.cloudposse.co" From 37b16b70cadcbf31431e695efab916e8dc6ea28a Mon Sep 17 00:00:00 2001 From: Igor Rodionov Date: Fri, 29 Jun 2018 14:34:32 +0600 Subject: [PATCH 2/4] Address PR comments --- aws/ecr/ecr-repo-app.tf | 10 +++++----- aws/ecr/main.tf | 6 ++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/aws/ecr/ecr-repo-app.tf b/aws/ecr/ecr-repo-app.tf index 8c477cdf3..486047278 100644 --- a/aws/ecr/ecr-repo-app.tf +++ b/aws/ecr/ecr-repo-app.tf @@ -1,12 +1,12 @@ module "kops_ecr_app" { - source = "git::https://github.com/cloudposse/terraform-aws-kops-ecr.git?ref=tags/0.1.0" - namespace = "${var.namespace}" - stage = "${var.stage}" - name = "langing" + source = "git::https://github.com/cloudposse/terraform-aws-kops-ecr.git?ref=tags/0.1.0" + namespace = "${var.namespace}" + stage = "${var.stage}" + name = "${element(repositories_names,0)}" cluster_name = "${var.region}.${var.zone_name}" users = [ - "${module.kops_ecr_user.user_name}" + "${module.kops_ecr_user.user_name}", ] tags = { diff --git a/aws/ecr/main.tf b/aws/ecr/main.tf index 880ca9f5c..62c3d31f3 100644 --- a/aws/ecr/main.tf +++ b/aws/ecr/main.tf @@ -28,6 +28,12 @@ variable "zone_name" { description = "DNS zone name" } +variable "repositories_names" { + type = "list" + default = [] + description = "Repositories names" +} + provider "aws" { assume_role { role_arn = "${var.aws_assume_role_arn}" From 672c1439918b976f04a8247a3c08d4213524aac6 Mon Sep 17 00:00:00 2001 From: Igor Rodionov Date: Mon, 2 Jul 2018 23:16:41 +0600 Subject: [PATCH 3/4] Address PR --- aws/ecr/ecr-repo-app.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws/ecr/ecr-repo-app.tf b/aws/ecr/ecr-repo-app.tf index 486047278..bdf1de38f 100644 --- a/aws/ecr/ecr-repo-app.tf +++ b/aws/ecr/ecr-repo-app.tf @@ -2,7 +2,7 @@ module "kops_ecr_app" { source = "git::https://github.com/cloudposse/terraform-aws-kops-ecr.git?ref=tags/0.1.0" namespace = "${var.namespace}" stage = "${var.stage}" - name = "${element(repositories_names,0)}" + name = "${element(var.repositories_names,0)}" cluster_name = "${var.region}.${var.zone_name}" users = [ From cd3ce30cc36b16c4a5f1e043069dbca089ef9e17 Mon Sep 17 00:00:00 2001 From: Igor Rodionov Date: Mon, 2 Jul 2018 23:21:13 +0600 Subject: [PATCH 4/4] Address PR --- aws/ecr/ecr-repo-app.tf | 2 +- aws/ecr/main.tf | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/aws/ecr/ecr-repo-app.tf b/aws/ecr/ecr-repo-app.tf index bdf1de38f..c2b37ee31 100644 --- a/aws/ecr/ecr-repo-app.tf +++ b/aws/ecr/ecr-repo-app.tf @@ -2,7 +2,7 @@ module "kops_ecr_app" { source = "git::https://github.com/cloudposse/terraform-aws-kops-ecr.git?ref=tags/0.1.0" namespace = "${var.namespace}" stage = "${var.stage}" - name = "${element(var.repositories_names,0)}" + name = "${var.repository_name}" cluster_name = "${var.region}.${var.zone_name}" users = [ diff --git a/aws/ecr/main.tf b/aws/ecr/main.tf index 62c3d31f3..cfe482419 100644 --- a/aws/ecr/main.tf +++ b/aws/ecr/main.tf @@ -28,10 +28,8 @@ variable "zone_name" { description = "DNS zone name" } -variable "repositories_names" { - type = "list" - default = [] - description = "Repositories names" +variable "repository_name" { + description = "Repository name" } provider "aws" {