diff --git a/terraform/envs/prod/main.tf b/terraform/envs/prod/main.tf new file mode 100644 index 0000000..3b01686 --- /dev/null +++ b/terraform/envs/prod/main.tf @@ -0,0 +1,29 @@ +terraform { + backend "s3" { + bucket = "nexus-tfstate" + key = "prod/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "nexus-tfstate-lock" + } +} + +module "vpc" { + source = "../../modules/vpc" + environment = "prod" +} + +module "eks" { + source = "../../modules/eks" + cluster_name = "nexus-prod" + subnet_ids = module.vpc.private_subnet_ids + min_nodes = 3 + max_nodes = 8 +} + +module "rds" { + source = "../../modules/rds" + identifier = "nexus-prod-postgres" + db_name = "nexus" + username = "nexus_app" + subnet_ids = module.vpc.isolated_subnet_ids +} diff --git a/terraform/envs/staging/main.tf b/terraform/envs/staging/main.tf new file mode 100644 index 0000000..29f321c --- /dev/null +++ b/terraform/envs/staging/main.tf @@ -0,0 +1,21 @@ +terraform { + backend "s3" { + bucket = "nexus-tfstate" + key = "staging/terraform.tfstate" + region = "eu-central-1" + dynamodb_table = "nexus-tfstate-lock" + } +} + +module "vpc" { + source = "../../modules/vpc" + environment = "staging" +} + +module "eks" { + source = "../../modules/eks" + cluster_name = "nexus-staging" + subnet_ids = module.vpc.private_subnet_ids + min_nodes = 2 + max_nodes = 4 +}