From 6e6c2127b9b2d926061ddc2215c271db338531f3 Mon Sep 17 00:00:00 2001
From: Philipp Keller
Date: Fri, 23 Jan 2026 11:00:00 +0000
Subject: [PATCH] Add staging and prod environment root modules
---
terraform/envs/prod/main.tf | 29 +++++++++++++++++++++++++++++
terraform/envs/staging/main.tf | 21 +++++++++++++++++++++
2 files changed, 50 insertions(+)
create mode 100644 terraform/envs/prod/main.tf
create mode 100644 terraform/envs/staging/main.tf
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
+}