@@ -17,12 +17,12 @@ resource "aws_cloudwatch_log_group" "this" {
1717}
1818
1919resource "aws_db_subnet_group" "this" {
20- name = " ${ var . deployment_name } -retool"
20+ name = " ${ var . deployment_name } -retool"
2121 subnet_ids = var. subnet_ids
2222}
2323
2424resource "aws_db_instance" "this" {
25- identifier = " ${ var . deployment_name } -rds-instance"
25+ identifier = " ${ var . deployment_name } -rds-instance"
2626 allocated_storage = 80
2727 instance_class = var. rds_instance_class
2828 engine = " postgres"
@@ -35,9 +35,13 @@ resource "aws_db_instance" "this" {
3535 vpc_security_group_ids = [aws_security_group . rds . id ]
3636 db_subnet_group_name = aws_db_subnet_group. this . id
3737 performance_insights_enabled = var. rds_performance_insights_enabled
38-
39- skip_final_snapshot = true
40- apply_immediately = true
38+ kms_key_id = var. rds_kms_key_id
39+ storage_encrypted = var. rds_kms_key_id != null
40+ backup_window = var. rds_backup_window
41+ backup_retention_period = var. rds_backup_retention_in_days
42+
43+ skip_final_snapshot = true
44+ apply_immediately = true
4145}
4246
4347resource "aws_ecs_service" "retool" {
@@ -65,7 +69,7 @@ resource "aws_ecs_service" "retool" {
6569 dynamic "network_configuration" {
6670 for_each = var. launch_type == " FARGATE" ? toset ([1 ]) : toset ([])
6771
68- content {
72+ content {
6973 subnets = var. subnet_ids
7074 security_groups = [
7175 aws_security_group . containers . id
@@ -92,7 +96,7 @@ resource "aws_ecs_service" "jobs_runner" {
9296
9397 for_each = var. launch_type == " FARGATE" ? toset ([1 ]) : toset ([])
9498
95- content {
99+ content {
96100 subnets = var. subnet_ids
97101 security_groups = [
98102 aws_security_group . containers . id
@@ -108,7 +112,7 @@ resource "aws_ecs_service" "workflows_backend" {
108112 cluster = aws_ecs_cluster. this . id
109113 desired_count = 1
110114 task_definition = aws_ecs_task_definition. retool_workflows_backend [0 ]. arn
111-
115+
112116 # Need to explictly set this in aws_ecs_service to avoid destructive behavior: https://github.com/hashicorp/terraform-provider-aws/issues/22823
113117 capacity_provider_strategy {
114118 base = 1
@@ -123,7 +127,7 @@ resource "aws_ecs_service" "workflows_backend" {
123127
124128 for_each = var. launch_type == " FARGATE" ? toset ([1 ]) : toset ([])
125129
126- content {
130+ content {
127131 subnets = var. subnet_ids
128132 security_groups = [
129133 aws_security_group . containers . id
@@ -150,7 +154,7 @@ resource "aws_ecs_service" "workflows_worker" {
150154
151155 for_each = var. launch_type == " FARGATE" ? toset ([1 ]) : toset ([])
152156
153- content {
157+ content {
154158 subnets = var. subnet_ids
155159 security_groups = [
156160 aws_security_group . containers . id
@@ -161,13 +165,13 @@ resource "aws_ecs_service" "workflows_worker" {
161165}
162166
163167resource "aws_ecs_task_definition" "retool_jobs_runner" {
164- family = " retool-jobs-runner"
165- task_role_arn = aws_iam_role. task_role . arn
166- execution_role_arn = var. launch_type == " FARGATE" ? aws_iam_role. execution_role [0 ]. arn : null
168+ family = " retool-jobs-runner"
169+ task_role_arn = aws_iam_role. task_role . arn
170+ execution_role_arn = var. launch_type == " FARGATE" ? aws_iam_role. execution_role [0 ]. arn : null
167171 requires_compatibilities = var. launch_type == " FARGATE" ? [" FARGATE" ] : null
168- network_mode = var. launch_type == " FARGATE" ? " awsvpc" : " bridge"
169- cpu = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" jobs_runner" ][" cpu" ] : null
170- memory = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" jobs_runner" ][" memory" ] : null
172+ network_mode = var. launch_type == " FARGATE" ? " awsvpc" : " bridge"
173+ cpu = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" jobs_runner" ][" cpu" ] : null
174+ memory = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" jobs_runner" ][" memory" ] : null
171175 container_definitions = jsonencode (
172176 [
173177 {
@@ -211,13 +215,13 @@ resource "aws_ecs_task_definition" "retool_jobs_runner" {
211215 )
212216}
213217resource "aws_ecs_task_definition" "retool" {
214- family = " retool"
215- task_role_arn = aws_iam_role. task_role . arn
216- execution_role_arn = var. launch_type == " FARGATE" ? aws_iam_role. execution_role [0 ]. arn : null
218+ family = " retool"
219+ task_role_arn = aws_iam_role. task_role . arn
220+ execution_role_arn = var. launch_type == " FARGATE" ? aws_iam_role. execution_role [0 ]. arn : null
217221 requires_compatibilities = var. launch_type == " FARGATE" ? [" FARGATE" ] : null
218- network_mode = var. launch_type == " FARGATE" ? " awsvpc" : " bridge"
219- cpu = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" main" ][" cpu" ] : null
220- memory = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" main" ][" memory" ] : null
222+ network_mode = var. launch_type == " FARGATE" ? " awsvpc" : " bridge"
223+ cpu = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" main" ][" cpu" ] : null
224+ memory = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" main" ][" memory" ] : null
221225 container_definitions = jsonencode (
222226 [
223227 {
@@ -266,14 +270,14 @@ resource "aws_ecs_task_definition" "retool" {
266270}
267271
268272resource "aws_ecs_task_definition" "retool_workflows_backend" {
269- count = var. workflows_enabled ? 1 : 0
270- family = " retool-workflows-backend"
271- task_role_arn = aws_iam_role. task_role . arn
272- execution_role_arn = var. launch_type == " FARGATE" ? aws_iam_role. execution_role [0 ]. arn : null
273- requires_compatibilities = var. launch_type == " FARGATE" ? [" FARGATE" ] : null
274- network_mode = var. launch_type == " FARGATE" ? " awsvpc" : " bridge"
275- cpu = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" workflows_backend" ][" cpu" ] : null
276- memory = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" workflows_backend" ][" memory" ] : null
273+ count = var. workflows_enabled ? 1 : 0
274+ family = " retool-workflows-backend"
275+ task_role_arn = aws_iam_role. task_role . arn
276+ execution_role_arn = var. launch_type == " FARGATE" ? aws_iam_role. execution_role [0 ]. arn : null
277+ requires_compatibilities = var. launch_type == " FARGATE" ? [" FARGATE" ] : null
278+ network_mode = var. launch_type == " FARGATE" ? " awsvpc" : " bridge"
279+ cpu = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" workflows_backend" ][" cpu" ] : null
280+ memory = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" workflows_backend" ][" memory" ] : null
277281 container_definitions = jsonencode (
278282 [
279283 {
@@ -321,14 +325,14 @@ resource "aws_ecs_task_definition" "retool_workflows_backend" {
321325 )
322326}
323327resource "aws_ecs_task_definition" "retool_workflows_worker" {
324- count = var. workflows_enabled ? 1 : 0
325- family = " retool-workflows-worker"
326- task_role_arn = aws_iam_role. task_role . arn
327- execution_role_arn = var. launch_type == " FARGATE" ? aws_iam_role. execution_role [0 ]. arn : null
328- requires_compatibilities = var. launch_type == " FARGATE" ? [" FARGATE" ] : null
329- network_mode = var. launch_type == " FARGATE" ? " awsvpc" : " bridge"
330- cpu = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" workflows_worker" ][" cpu" ] : null
331- memory = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" workflows_worker" ][" memory" ] : null
328+ count = var. workflows_enabled ? 1 : 0
329+ family = " retool-workflows-worker"
330+ task_role_arn = aws_iam_role. task_role . arn
331+ execution_role_arn = var. launch_type == " FARGATE" ? aws_iam_role. execution_role [0 ]. arn : null
332+ requires_compatibilities = var. launch_type == " FARGATE" ? [" FARGATE" ] : null
333+ network_mode = var. launch_type == " FARGATE" ? " awsvpc" : " bridge"
334+ cpu = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" workflows_worker" ][" cpu" ] : null
335+ memory = var. launch_type == " FARGATE" ? var. ecs_task_resource_map [" workflows_worker" ][" memory" ] : null
332336 container_definitions = jsonencode (
333337 [
334338 {
@@ -381,13 +385,13 @@ resource "aws_ecs_task_definition" "retool_workflows_worker" {
381385}
382386
383387resource "aws_service_discovery_private_dns_namespace" "retoolsvc" {
384- count = var. workflows_enabled ? 1 : 0
388+ count = var. workflows_enabled ? 1 : 0
385389 name = " retoolsvc"
386390 description = " Service Discovery namespace for Retool deployment"
387391 vpc = var. vpc_id
388392}
389393
390- resource "aws_service_discovery_service" "retool_workflow_backend_service" {
394+ resource "aws_service_discovery_service" "retool_workflow_backend_service" {
391395 count = var. workflows_enabled ? 1 : 0
392396 name = " workflow-backend"
393397
@@ -408,17 +412,20 @@ resource "aws_service_discovery_service" "retool_workflow_backend_service" {
408412}
409413
410414module "temporal" {
411- count = var. workflows_enabled && ! var. use_exising_temporal_cluster ? 1 : 0
415+ count = var. workflows_enabled && ! var. use_exising_temporal_cluster ? 1 : 0
412416 source = " ./temporal"
413-
414- deployment_name = " ${ var . deployment_name } -temporal"
415- vpc_id = var. vpc_id
416- subnet_ids = var. subnet_ids
417- private_dns_namespace_id = aws_service_discovery_private_dns_namespace. retoolsvc [0 ]. id
418- aws_cloudwatch_log_group_id = aws_cloudwatch_log_group. this . id
419- aws_region = var. aws_region
420- aws_ecs_cluster_id = aws_ecs_cluster. this . id
421- launch_type = var. launch_type
422- container_sg_id = aws_security_group. containers . id
417+
418+ deployment_name = " ${ var . deployment_name } -temporal"
419+ vpc_id = var. vpc_id
420+ subnet_ids = var. subnet_ids
421+ private_dns_namespace_id = aws_service_discovery_private_dns_namespace. retoolsvc [0 ]. id
422+ aws_cloudwatch_log_group_id = aws_cloudwatch_log_group. this . id
423+ aws_region = var. aws_region
424+ aws_ecs_cluster_id = aws_ecs_cluster. this . id
425+ launch_type = var. launch_type
426+ container_sg_id = aws_security_group. containers . id
423427 aws_ecs_capacity_provider_name = var. launch_type == " EC2" ? aws_ecs_capacity_provider. this [0 ]. name : null
428+ kms_key_id = var. temporal_aurora_kms_key_id
429+ backup_window = var. temporal_aurora_backup_window
430+ backup_retention_in_days = var. temporal_aurora_backup_retention_in_days
424431}
0 commit comments