Skip to content

Updating ECS services modules from 0.2.0 to 0.6.0 #93

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
11 changes: 10 additions & 1 deletion modules/hcp-ecs-client/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,18 @@ resource "aws_security_group_rule" "allow_http_inbound" {

resource "aws_ecs_cluster" "clients" {
name = "hcp-ecs-cluster-${random_id.id.dec}"
#capacity_providers = ["FARGATE"] removed as it is no longer an option as of 0.5.0

depends_on = [var.nat_public_ips]
}

#new resource as aws_ecs_cluster 0.5.0+ removed capacity_providers option

resource "aws_ecs_cluster_capacity_providers" "clients" {
cluster_name = aws_ecs_cluster.clients.name

capacity_providers = ["FARGATE"]

depends_on = [var.nat_public_ips]
}

resource "random_id" "id" {
Expand Down
71 changes: 37 additions & 34 deletions modules/hcp-ecs-client/services.tf
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,23 @@

module "acl-controller" {
source = "hashicorp/consul-ecs/aws//modules/acl-controller"
version = "0.4.2"
version = "0.6.0"

log_configuration = {
logDriver = "awslogs"
options = {
awslogs-group = aws_cloudwatch_log_group.log_group.name
awslogs-region = var.region
awslogs-stream-prefix = "consul-acl-controller"
awslogs-stream-prefix = "consul-acl-controller-hcp"
}
}

consul_server_http_addr = var.consul_url
consul_bootstrap_token_secret_arn = aws_secretsmanager_secret.bootstrap_token.arn
#consul_server_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn #Do not configure for HCP
ecs_cluster_arn = aws_ecs_cluster.clients.arn
region = var.region
subnets = var.private_subnet_ids

security_groups = [var.security_group_id]
name_prefix = local.secret_prefix
}

Expand Down Expand Up @@ -59,7 +59,7 @@ resource "aws_iam_role" "frontend-execution-role" {

module "frontend" {
source = "hashicorp/consul-ecs/aws//modules/mesh-task"
version = "~> 0.3.0"
version = "~> 0.6.0"

family = "frontend"
task_role = aws_iam_role.frontend-task-role
Expand Down Expand Up @@ -112,15 +112,15 @@ module "frontend" {

retry_join = var.client_retry_join
consul_datacenter = var.datacenter
consul_image = "public.ecr.aws/hashicorp/consul:${var.consul_version}"

consul_image = "public.ecr.aws/hashicorp/consul-enterprise:${var.consul_version}-ent"
consul_partition = "default"
consul_namespace = "default"
tls = true
consul_server_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn
gossip_key_secret_arn = aws_secretsmanager_secret.gossip_key.arn

consul_http_addr = var.consul_url
#consul_https_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn #Do not configure for HCP
acls = true
consul_client_token_secret_arn = module.acl-controller.client_token_secret_arn
acl_secret_name_prefix = local.secret_prefix
}

resource "aws_ecs_service" "frontend" {
Expand Down Expand Up @@ -181,7 +181,7 @@ resource "aws_iam_role" "public-api-execution-role" {

module "public-api" {
source = "hashicorp/consul-ecs/aws//modules/mesh-task"
version = "~> 0.3.0"
version = "~> 0.6.0"

family = "public-api"
task_role = aws_iam_role.public-api-task-role
Expand Down Expand Up @@ -253,15 +253,15 @@ module "public-api" {

retry_join = var.client_retry_join
consul_datacenter = var.datacenter
consul_image = "public.ecr.aws/hashicorp/consul:${var.consul_version}"

consul_image = "public.ecr.aws/hashicorp/consul-enterprise:${var.consul_version}-ent"
consul_partition = "default"
consul_namespace = "default"
tls = true
consul_server_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn
gossip_key_secret_arn = aws_secretsmanager_secret.gossip_key.arn

consul_http_addr = var.consul_url
#consul_https_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn #Do not configure for HCP
acls = true
consul_client_token_secret_arn = module.acl-controller.client_token_secret_arn
acl_secret_name_prefix = local.secret_prefix
}

resource "aws_ecs_service" "public-api" {
Expand Down Expand Up @@ -322,7 +322,7 @@ resource "aws_iam_role" "payment-api-execution-role" {

module "payment-api" {
source = "hashicorp/consul-ecs/aws//modules/mesh-task"
version = "~> 0.3.0"
version = "~> 0.6.0"

family = "payment-api"
task_role = aws_iam_role.payment-api-task-role
Expand Down Expand Up @@ -365,17 +365,18 @@ module "payment-api" {

port = local.payment_api_port


retry_join = var.client_retry_join
consul_datacenter = var.datacenter
consul_image = "public.ecr.aws/hashicorp/consul:${var.consul_version}"

consul_image = "public.ecr.aws/hashicorp/consul-enterprise:${var.consul_version}-ent"
consul_partition = "default"
consul_namespace = "default"
tls = true
consul_server_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn
gossip_key_secret_arn = aws_secretsmanager_secret.gossip_key.arn

consul_http_addr = var.consul_url
#consul_https_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn #Do not configure for HCP
acls = true
consul_client_token_secret_arn = module.acl-controller.client_token_secret_arn
acl_secret_name_prefix = local.secret_prefix
}

resource "aws_ecs_service" "payment-api" {
Expand Down Expand Up @@ -430,7 +431,7 @@ resource "aws_iam_role" "product-api-execution-role" {

module "product-api" {
source = "hashicorp/consul-ecs/aws//modules/mesh-task"
version = "~> 0.3.0"
version = "~> 0.6.0"

family = "product-api"
task_role = aws_iam_role.product-api-task-role
Expand Down Expand Up @@ -490,17 +491,18 @@ module "product-api" {

port = local.product_api_port


retry_join = var.client_retry_join
consul_datacenter = var.datacenter
consul_image = "public.ecr.aws/hashicorp/consul:${var.consul_version}"

consul_image = "public.ecr.aws/hashicorp/consul-enterprise:${var.consul_version}-ent"
consul_partition = "default"
consul_namespace = "default"
tls = true
consul_server_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn
gossip_key_secret_arn = aws_secretsmanager_secret.gossip_key.arn

consul_http_addr = var.consul_url
#consul_https_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn #Do not configure for HCP
acls = true
consul_client_token_secret_arn = module.acl-controller.client_token_secret_arn
acl_secret_name_prefix = local.secret_prefix
}

resource "aws_ecs_service" "product-api" {
Expand Down Expand Up @@ -555,7 +557,7 @@ resource "aws_iam_role" "product-db-execution-role" {

module "product-db" {
source = "hashicorp/consul-ecs/aws//modules/mesh-task"
version = "~> 0.3.0"
version = "~> 0.6.0"

family = "product-db"
task_role = aws_iam_role.product-db-task-role
Expand Down Expand Up @@ -612,17 +614,18 @@ module "product-db" {

port = local.product_db_port


retry_join = var.client_retry_join
consul_datacenter = var.datacenter
consul_image = "public.ecr.aws/hashicorp/consul:${var.consul_version}"

consul_image = "public.ecr.aws/hashicorp/consul-enterprise:${var.consul_version}-ent"
consul_partition = "default"
consul_namespace = "default"
tls = true
consul_server_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn
gossip_key_secret_arn = aws_secretsmanager_secret.gossip_key.arn

consul_http_addr = var.consul_url
#consul_https_ca_cert_arn = aws_secretsmanager_secret.ca_cert.arn #Do not configure for HCP
acls = true
consul_client_token_secret_arn = module.acl-controller.client_token_secret_arn
acl_secret_name_prefix = local.secret_prefix
}

resource "aws_ecs_service" "product-db" {
Expand Down