Skip to content

Commit 8c468d6

Browse files
committed
chore: var cleanup and enable ecs exec
1 parent 4ddcd41 commit 8c468d6

File tree

4 files changed

+42
-26
lines changed

4 files changed

+42
-26
lines changed

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,27 @@
11
# terraform-computing
2+
23
[![Terraform Apply](https://github.com/soat-tech-challenge/terraform-computing/actions/workflows/main.yml/badge.svg)](https://github.com/soat-tech-challenge/terraform-computing/actions/workflows/main.yml)
34

45
Part of a group course project of a self service and kitchen management system for a fictional fast food restaurant.
56

67
Currently responsible for managing computing-related resources of the project.
8+
9+
### Service
10+
11+
#### ECS Exec
12+
13+
Requires: AWS CLI, Session Manager plugin
14+
15+
Enter ECS task container shell using ECS Exec:
16+
17+
```
18+
aws ecs execute-command \
19+
--region us-east-1 \
20+
--cluster SOAT_Tech_Challenge_ECS_Cluster \
21+
--task task-id \
22+
--container SOAT-TC_ECS_<service>_SVC_Main_Container \
23+
--interactive \
24+
--command "/usr/bin/sh"
25+
```
26+
27+
Read more: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html#ecs-exec-enabling-and-using

container_definitions/identification.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,6 @@
2727
{
2828
"name": "AWS_DYNAMODB_ENDPOINT",
2929
"value": "${aws_dynamodb_endpoint}"
30-
},
31-
{
32-
"name": "JWT_PUBLIC_KEY",
33-
"value": "${client_jwt_pub_key}"
3430
}
3531
],
3632
"logConfiguration": {

main.tf

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,37 +10,36 @@ locals {
1010

1111
locals {
1212
identification_svc_container_definition = templatefile("./container_definitions/identification.json", {
13-
id = "identification"
14-
15-
client_jwt_pub_key = var.client_jwt_public_key
13+
id = "identification"
14+
aws_region = var.aws_region
1615

1716
aws_access_key = var.aws_access_key
1817
aws_secret_key = var.aws_secret_key
1918
aws_session_token = var.aws_session_token
2019

2120
aws_dynamodb_endpoint = local.dynamodb_endpoint
22-
23-
aws_region = var.aws_region
2421
})
2522
order_svc_container_definition = templatefile("./container_definitions/order.json", {
26-
id = "order"
23+
id = "order"
24+
aws_region = var.aws_region
25+
26+
db_username = var.order_svc_db_username
27+
db_password = var.order_svc_db_password
28+
db_name = var.order_svc_db_name
29+
db_host = data.tfe_outputs.database.values.order_svc_db.endpoint
2730

28-
db_username = var.order_svc_db_username
29-
db_password = var.order_svc_db_password
30-
db_name = var.order_svc_db_name
31-
db_host = data.tfe_outputs.database.values.order_svc_db.endpoint
3231
client_jwt_pub_key = var.client_jwt_public_key
3332
api_url_identification = "${local.alb_url}/identification"
34-
35-
aws_region = var.aws_region
3633
})
3734
payment_svc_container_definition = templatefile("./container_definitions/payment.json", {
38-
id = "payment"
35+
id = "payment"
36+
aws_region = var.aws_region
37+
38+
db_username = var.payment_svc_db_username
39+
db_password = var.payment_svc_db_password
40+
db_name = var.payment_svc_db_name
41+
db_host = data.tfe_outputs.database.values.payment_svc_db.endpoint
3942

40-
db_username = var.payment_svc_db_username
41-
db_password = var.payment_svc_db_password
42-
db_name = var.payment_svc_db_name
43-
db_host = data.tfe_outputs.database.values.payment_svc_db.endpoint
4443
client_jwt_pub_key = var.client_jwt_public_key
4544
api_url_order = "${local.alb_url}/order"
4645
api_url_production = "${local.alb_url}/production"
@@ -50,11 +49,10 @@ locals {
5049
aws_session_token = var.aws_session_token
5150

5251
aws_sqs_endpoint = local.sqs_endpoint
53-
54-
aws_region = var.aws_region
5552
})
5653
production_svc_container_definition = templatefile("./container_definitions/production.json", {
57-
id = "production"
54+
id = "production"
55+
aws_region = var.aws_region
5856

5957
client_jwt_pub_key = var.client_jwt_public_key
6058

@@ -64,8 +62,6 @@ locals {
6462

6563
aws_dynamodb_endpoint = local.dynamodb_endpoint
6664
aws_sqs_endpoint = local.sqs_endpoint
67-
68-
aws_region = var.aws_region
6965
})
7066
}
7167

modules/service/ecs.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ resource "aws_ecs_service" "this" {
2929
force_new_deployment = true
3030
health_check_grace_period_seconds = 180
3131

32+
# https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html#ecs-exec-enabling-and-using
33+
enable_execute_command = true
34+
3235
network_configuration {
3336
assign_public_ip = true
3437
subnets = var.subnet_ids

0 commit comments

Comments
 (0)