From c26de6178946c45b0039c0e0737f14e8f609c204 Mon Sep 17 00:00:00 2001 From: Jun-te Kim Date: Mon, 31 Mar 2025 18:10:30 +0000 Subject: [PATCH] db live production --- .devcontainer/docker-compose.yml | 18 +++++++------- .github/workflows/teraform.yml | 2 +- deployment/main.tf | 13 ++-------- deployment/provider.tf | 4 ++-- deployment/variables.tf | 2 +- deployment/vpc.tf | 41 +++++++++++++++++--------------- 6 files changed, 37 insertions(+), 43 deletions(-) diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index 45298d1..1b5b5f0 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -1,5 +1,9 @@ version: '3.8' +networks: + survey-net: + driver: bridge + services: survey-extractor: user: "${UID}:${GID}" @@ -11,14 +15,13 @@ services: - ../.db-env volumes: - ..:/workspaces/survey-extractor:cached - depends_on: - db networks: - - default + - survey-net db: - image: postgres:latest + image: postgres:17.4 restart: unless-stopped ports: - 5432:5432 @@ -27,7 +30,7 @@ services: volumes: - postgres-data:/var/lib/postgresql/data networks: - - default + - survey-net pgadmin: image: dpage/pgadmin4 @@ -37,13 +40,10 @@ services: env_file: - ../.db-env restart: unless-stopped - networks: - - default depends_on: - db + networks: + - survey-net volumes: postgres-data: - -networks: - default: diff --git a/.github/workflows/teraform.yml b/.github/workflows/teraform.yml index 2ba7217..a5ad2e0 100644 --- a/.github/workflows/teraform.yml +++ b/.github/workflows/teraform.yml @@ -19,7 +19,7 @@ jobs: env: AWS_REGION: "eu-north-1" - BUCKET_NAME: "survey-extractor-terraform-state" + BUCKET_NAME: "survey-extractor-tf-state" steps: - name: Checkout Code diff --git a/deployment/main.tf b/deployment/main.tf index e312b85..7cff46b 100644 --- a/deployment/main.tf +++ b/deployment/main.tf @@ -1,23 +1,14 @@ resource "aws_db_instance" "default" { allocated_storage = var.allocated_storage engine = "postgres" - engine_version = "14.10" + engine_version = "17.4" instance_class = "db.t3.micro" db_name = "surveyDB" username = "postgres" password = "makingwarmhomes" + publicly_accessible = true vpc_security_group_ids = [aws_security_group.rds_sg.id] - db_subnet_group_name = aws_db_subnet_group.my_db_subnet_group.name skip_final_snapshot = true } - -resource "aws_db_subnet_group" "my_db_subnet_group" { - name = "my-db-subnet-group" - subnet_ids = [aws_subnet.subnet_a.id, aws_subnet.subnet_b.id] - - tags = { - Name = "My DB Subnet Group" - } -} \ No newline at end of file diff --git a/deployment/provider.tf b/deployment/provider.tf index 4f5a9ab..46e887f 100644 --- a/deployment/provider.tf +++ b/deployment/provider.tf @@ -6,8 +6,8 @@ terraform { } } backend "s3" { - bucket = "survey-extractor-terraform-state" - region = "eu-north-1" + bucket = "survey-extractor-tf-state" + region = "eu-west-2" profile = "domna.dev" # /home/vscode/aws/credentials key = "terraform.tfstate" } diff --git a/deployment/variables.tf b/deployment/variables.tf index 6f454ad..a237b6c 100644 --- a/deployment/variables.tf +++ b/deployment/variables.tf @@ -1,6 +1,6 @@ variable region { type = string - default = "eu-north-1" + default = "eu-west-2" description = "AWS region" } diff --git a/deployment/vpc.tf b/deployment/vpc.tf index 21f2780..b9edbb4 100644 --- a/deployment/vpc.tf +++ b/deployment/vpc.tf @@ -1,29 +1,32 @@ -resource "aws_vpc" "my_vpc" { - cidr_block = "10.0.0.0/16" +data "aws_vpc" "default" { + default = true } -resource "aws_subnet" "subnet_a" { - vpc_id = aws_vpc.my_vpc.id - cidr_block = "10.0.1.0/24" - availability_zone = "eu-central-1a" -} - -resource "aws_subnet" "subnet_b" { - vpc_id = aws_vpc.my_vpc.id - cidr_block = "10.0.2.0/24" - availability_zone = "eu-central-1b" -} resource "aws_security_group" "rds_sg" { name_prefix = "rds-" - vpc_id = aws_vpc.my_vpc.id - # Add any additional ingress/egress rules as needed + description = "Allow TLS inbound traffic" + vpc_id = data.aws_vpc.default.id + ingress { - from_port = 3306 - to_port = 9000 - protocol = "tcp" + # TLS (change to whatever ports you need) + from_port = 5432 + to_port = 5432 + protocol = "tcp" cidr_blocks = ["0.0.0.0/0"] } -} \ No newline at end of file + + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + + lifecycle { + create_before_destroy = true + } +} +