infra/main.tf (52 lines of code) (raw):

module "iam" { source = "modules/iam" aws_region = "${data.aws_region.current.name}" project_name = "${var.project_name}" stack_name = "${var.stack_name}" } data "aws_region" "current" { current = true } data "aws_vpc" "vpc" { id = "${var.vpc_id}" } data "aws_subnet_ids" "vpc" { vpc_id = "${data.aws_vpc.vpc.id}" } module "ec2" { source = "modules/ec2" project_name = "${var.project_name}" stack_name = "${var.stack_name}" instance_type = "${var.instance_type}" asg_min_size = "${var.asg_min_size}" asg_max_size = "${var.asg_max_size}" ec2_keypair_name = "${var.ec2_keypair_name}" ec2_volume_size = "${var.ec2_volume_size}" docker_basesize = "${var.agent_disk}" instance_profile_arn = "${module.iam.instance_profile_arn}" iam_role_sns_lambda_arn = "${module.iam.iam_role_sns_lambda_arn}" vpc_zone_identifier = "${data.aws_subnet_ids.vpc.ids}" } module "lambda" { source = "modules/lambda" project_name = "${var.project_name}" stack_name = "${var.stack_name}" asg_name = "${module.ec2.asg_name}" asg_min_size = "${module.ec2.asg_min_size}" ecs_cluster_id = "${module.ecs.ecs_cluster_id}" ecs_cluster_name = "${module.ecs.ecs_cluster_name}" sns_topic_asg_arn = "${module.ec2.sns_topic_asg_arn}" iam_role_sns_lambda_arn = "${module.iam.iam_role_sns_lambda_arn}" iam_role_lambda_ecs_asg_arn = "${module.iam.iam_role_lambda_ecs_asg_arn}" iam_role_lambda_ecs_unprotect_asg_arn = "${module.iam.iam_role_lambda_ecs_unprotect_asg_arn}" } module "ecs" { source = "modules/ecs" aws_region = "${data.aws_region.current.name}" project_name = "${var.project_name}" stack_name = "${var.stack_name}" ecs_task_cpu = "${var.agent_cpu}" ecs_task_memory = "${var.agent_mem}" app_image = "${var.app_image}" app_version = "${var.app_version}" }