fix: ECS terraform db url + ami issues (#4924)

Modifications to improve the terraform experience for bringing up a
windmill cluster. Due to the default RDS settings for the version in the
terraform, we do not want to disable ssl in connecting. Additionally,
change the TF to automatically pull the latest 2023 AMI. Given this is
meant to be a quick start example, this seems better than hard-coding
since eventually the hard-coded ami doesn't exist.
This commit is contained in:
hkader-tl
2024-12-14 13:21:14 +01:00
committed by GitHub
parent 908a15ca01
commit dff89a03c2
6 changed files with 19 additions and 12 deletions
@@ -1,7 +1,6 @@
resource "aws_launch_template" "windmill_cluster_lt" {
name = "windmill-cluster-lt"
// Amazon Linux 2023 https://docs.aws.amazon.com/linux/al2023/ug/naming-and-versioning.html
image_id = "ami-07bff6261f14c3a45"
image_id = data.aws_ssm_parameter.amazon_linux_2023.value
instance_type = "t3.medium"
# vpc_security_group_ids = [aws_security_group.windmill_cluster_sg.id]
@@ -26,3 +26,11 @@ variable "database_password" {
sensitive = true
description = "RDS Database password"
}
locals {
db_url = "postgres://${aws_db_instance.windmill_cluster_rds.username}:${aws_db_instance.windmill_cluster_rds.password}@${aws_db_instance.windmill_cluster_rds.endpoint}/${aws_db_instance.windmill_cluster_rds.db_name}"
}
data "aws_ssm_parameter" "amazon_linux_2023" {
name = "/aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id"
}
@@ -33,9 +33,9 @@ resource "aws_ecs_task_definition" "windmill_cluster_windmill_server_td" {
environment = [{
name = "JSON_FMT"
value = "true"
}, {
}, {
name = "DATABASE_URL"
value = "postgres://${aws_db_instance.windmill_cluster_rds.username}:${aws_db_instance.windmill_cluster_rds.password}@${aws_db_instance.windmill_cluster_rds.endpoint}/${aws_db_instance.windmill_cluster_rds.db_name}?sslmode=disable"
value = local.db_url
}, {
name = "MODE"
value = "server"
@@ -24,9 +24,9 @@ resource "aws_ecs_task_definition" "windmill_cluster_windmill_worker_td" {
environment = [{
name = "JSON_FMT"
value = "true"
}, {
}, {
name = "DATABASE_URL"
value = "postgres://${aws_db_instance.windmill_cluster_rds.username}:${aws_db_instance.windmill_cluster_rds.password}@${aws_db_instance.windmill_cluster_rds.endpoint}/${aws_db_instance.windmill_cluster_rds.db_name}?sslmode=disable"
value = local.db_url
}, {
name = "MODE"
value = "worker"
@@ -1,6 +1,6 @@
resource "aws_launch_template" "windmill_cluster_high_performance_lt" {
name = "windmill-cluster-high-perf-lt"
image_id = "ami-09c0b8e7f21923ac0"
image_id = data.aws_ssm_parameter.amazon_linux_2023.value
instance_type = "t3.xlarge"
# vpc_security_group_ids = [aws_security_group.windmill_cluster_sg.id]
@@ -99,9 +99,9 @@ resource "aws_ecs_task_definition" "windmill_cluster_windmill_high_performance_w
environment = [{
name = "JSON_FMT"
value = "true"
}, {
}, {
name = "DATABASE_URL"
value = "postgres://${aws_db_instance.windmill_cluster_rds.username}:${aws_db_instance.windmill_cluster_rds.password}@${aws_db_instance.windmill_cluster_rds.endpoint}/${aws_db_instance.windmill_cluster_rds.db_name}?sslmode=disable"
value = local.db_url
}, {
name = "MODE"
value = "worker"
@@ -24,9 +24,9 @@ resource "aws_ecs_task_definition" "windmill_cluster_windmill_native_worker_td"
environment = [{
name = "JSON_FMT"
value = "true"
}, {
}, {
name = "DATABASE_URL"
value = "postgres://${aws_db_instance.windmill_cluster_rds.username}:${aws_db_instance.windmill_cluster_rds.password}@${aws_db_instance.windmill_cluster_rds.endpoint}/${aws_db_instance.windmill_cluster_rds.db_name}?sslmode=disable"
value = local.db_url
}, {
name = "MODE"
value = "worker"
@@ -77,4 +77,4 @@ resource "aws_ecs_service" "windmill_cluster_windmill_native_worker_service" {
}
depends_on = [aws_autoscaling_group.windmill_cluster_asg]
}
}