diff --git a/.targets b/.targets deleted file mode 100644 index b866136..0000000 --- a/.targets +++ /dev/null @@ -1,2 +0,0 @@ -aws_iam_policy.policy -aws_iam_policy.admin_policy diff --git a/app_setup.tf b/app_setup.tf new file mode 100644 index 0000000..f8a81f0 --- /dev/null +++ b/app_setup.tf @@ -0,0 +1,7 @@ +#data "aws_secretsmanager_secret" "app_install" { +# name = "github-runners/github/secrets-key" +#} + +#output app_install { +# value = data.aws_secretsmanager_secret.app_install +#} diff --git a/backend-configs/csvd-common-ew.tf b/backend-configs/csvd-common-ew.tf new file mode 100644 index 0000000..98a3486 --- /dev/null +++ b/backend-configs/csvd-common-ew.tf @@ -0,0 +1,4 @@ +bucket = "inf-tfstate-220615867784" +key = "csvd-common-ew/common/apps/ghe-runner" +region = "us-gov-east-1" +dynamodb_table = "tf_remote_state" diff --git a/backend-configs/csvd-dev-ew.tf b/backend-configs/csvd-dev-ew.tf new file mode 100644 index 0000000..b7dc755 --- /dev/null +++ b/backend-configs/csvd-dev-ew.tf @@ -0,0 +1,4 @@ +bucket = "inf-tfstate-229685449397" +key = "csvd-dev-gov/common/apps/ghe-runner" +region = "us-gov-east-1" +dynamodb_table = "tf_remote_state" diff --git a/default.auto.tfvars b/default.auto.tfvars index 0e42c1b..52c4e39 100644 --- a/default.auto.tfvars +++ b/default.auto.tfvars @@ -3,7 +3,7 @@ image_name = "github-runner" image_version = "1.65.0" server_url = "https://github.e.it.census.gov" create_vpc_endpoint = true -create_ecs_cluster = true +create_ecs_cluster = false ecs_cluster_name = "ecs-ghe-runners" vpc_id = "vpc-00576a396ec570b94" @@ -21,3 +21,5 @@ certs = { bucket = "image-pipeline-assets" key = "katello-server-ca.pem" } + +aws_account = "csvd-dev-ew" diff --git a/ecs_cluster.tf b/ecs_cluster.tf new file mode 100644 index 0000000..7f93a4c --- /dev/null +++ b/ecs_cluster.tf @@ -0,0 +1,23 @@ +# __generated__ by Terraform +# Please review these resources and move them into your main configuration files. + +# __generated__ by Terraform from "ecs-ghe-runners-us-gov-west-1" +resource "aws_ecs_cluster" "github-runner" { + count = var.create_ecs_cluster ? 1 : 0 + name = "${var.ecs_cluster_name}-${data.aws_region.current.name}" + tags = {} + tags_all = {} + setting { + name = "containerInsights" + value = "disabled" + } +} + +data "aws_ecs_cluster" "github-runner" { + count = var.create_ecs_cluster ? 0 : 1 + cluster_name = "${var.ecs_cluster_name}-${data.aws_region.current.name}" +} + +locals { + ecs_cluster = var.create_ecs_cluster ? one(aws_ecs_cluster.github-runner) : merge(one(data.aws_ecs_cluster.github-runner), { name = one(data.aws_ecs_cluster.github-runner).cluster_name }) +} diff --git a/main.tf b/main.tf index c91e37b..b76b850 100644 --- a/main.tf +++ b/main.tf @@ -1,11 +1,3 @@ -data "aws_ecs_cluster" "github-runner" { - cluster_name = "${var.ecs_cluster_name}-${data.aws_region.current.name}" -} - -locals { - ecs_cluster = data.aws_ecs_cluster.github-runner.cluster_name -} - data "aws_ip_ranges" "ip_ranges" { regions = ["us-gov-west-1", "us-gov-east-1"] services = ["s3", "dynamodb"] @@ -72,7 +64,7 @@ resource "aws_vpc_endpoint" "ecr" { } resource "aws_ecs_cluster_capacity_providers" "fargate" { - cluster_name = local.ecs_cluster + cluster_name = local.ecs_cluster.name capacity_providers = ["FARGATE"] @@ -94,7 +86,7 @@ locals { module "github-runner" { # for_each = toset([for repo in local.all_repos : repo]) source = "HappyPathway/github-runner/ecs" - ecs_cluster = local.ecs_cluster + ecs_cluster = local.ecs_cluster.name hostname = var.repo_org image = "229685449397.dkr.ecr.us-gov-west-1.amazonaws.com/github-runners/${var.image_name}:${var.image_version}" repo_org = var.repo_org @@ -115,6 +107,7 @@ module "github-runner" { server_url = var.server_url runner_labels = [ lower(var.repo_org), + var.aws_account, "${data.aws_caller_identity.current.account_id}-${data.aws_region.current.name}", data.aws_caller_identity.current.account_id, data.aws_region.current.name, @@ -128,7 +121,8 @@ module "github-runner" { } tag = "github-runner" depends_on = [ - aws_iam_policy.policy + aws_iam_policy.policy, + aws_vpc_endpoint.ecr ] } diff --git a/varfiles/csvd-common-ew.tfvars b/varfiles/csvd-common-ew.tfvars new file mode 100644 index 0000000..9939e6c --- /dev/null +++ b/varfiles/csvd-common-ew.tfvars @@ -0,0 +1,21 @@ +namespace = "csvd-common-ew" +repo_org = "CSVD" +desired_count = 1 +create_ecs_cluster = true + +ecs_cluster_name = "ecs-ghe-runners" +vpc_id = "vpc-0dac762f63574b185" + +subnets = [ + "subnet-0d22f390a0a024831" +] + +security_groups = [ + # "sg-0d828d223df9834a6" + "sg-03da51877fddcd8f8" +] + +certs = { + bucket = "image-pipeline-assets-220615867784" + key = "katello-server-ca.pem" +} diff --git a/varfiles/csvd.tfvars b/varfiles/csvd.tfvars index 05493b9..d53ce2e 100644 --- a/varfiles/csvd.tfvars +++ b/varfiles/csvd.tfvars @@ -1,3 +1,3 @@ namespace = "csvd-ghe-runner" repo_org = "CSVD" -desired_count = 1 +desired_count = 3 diff --git a/variables.tf b/variables.tf index 65f65cc..1baaf47 100644 --- a/variables.tf +++ b/variables.tf @@ -91,3 +91,7 @@ variable "desired_count" { variable "base_url" { default = "https://github.e.it.census.gov/" } + +variable "aws_account" { + type = string +}