@@ -13,7 +13,7 @@ resource "random_id" "db_name_suffix" {
1313resource "google_secret_manager_secret" "db_secret" {
1414 secret_id = " ${ var . resource_prefix } -${ var . environment } -db-password"
1515 project = var. project_id
16-
16+
1717 replication {
1818 user_managed {
1919 replicas {
@@ -25,41 +25,41 @@ resource "google_secret_manager_secret" "db_secret" {
2525
2626resource "google_secret_manager_secret_version" "db_secret_version" {
2727 secret = google_secret_manager_secret. db_secret . id
28-
28+
2929 # Using a write-only argument prevents the password
3030 # from being captured in the terraform.tfstate file.
3131 secret_data_wo = ephemeral. random_password . db_pass . result
3232}
3333
3434resource "google_sql_database_instance" "default" {
3535 name = " ${ var . resource_prefix } -${ var . environment } -db-${ random_id . db_name_suffix . hex } "
36- database_version = var. database_version
36+ database_version = var. database_version
3737 region = var. region
3838 project = var. project_id
3939
4040 # Ensure networking PSA is established before instance creation
4141 depends_on = [var . psa_connection_dependency ]
4242
4343 settings {
44- tier = var. db_tier # "db-perf-optimized-N-2"
44+ tier = var. db_tier # "db-perf-optimized-N-2"
4545 availability_type = var. db_availability_type
46-
46+
4747 # Enable IAM Authentication for better security
4848 database_flags {
4949 name = " cloudsql.iam_authentication"
5050 value = " on"
5151 }
5252
5353 # --- Storage Flexibility ---
54- disk_type = " PD_SSD"
55- disk_size = var. initial_disk_size
56- disk_autoresize = true # Allows growth as needed
57- disk_autoresize_limit = var. max_disk_size # Prevents unlimited expansion/billing surprises
54+ disk_type = " PD_SSD"
55+ disk_size = var. initial_disk_size
56+ disk_autoresize = true # Allows growth as needed
57+ disk_autoresize_limit = var. max_disk_size # Prevents unlimited expansion/billing surprises
5858
5959 backup_configuration {
6060 enabled = true
6161 point_in_time_recovery_enabled = true
62- location = var. region
62+ location = var. region
6363 }
6464
6565 # --- Network Isolation ---
@@ -72,18 +72,18 @@ resource "google_sql_database_instance" "default" {
7272 # --- Enterprise Metadata ---
7373 # Merges common labels (from root) with module-specific labels
7474 user_labels = merge (var. labels , {
75- component = " database"
75+ component = " database"
7676 managed_by = " terraform"
77- region = var.region
77+ region = var.region
7878 })
79-
79+
8080 }
81-
81+
8282 deletion_protection = var. deletion_protection
8383
8484 lifecycle {
8585 # Prevent accidental destruction of production data
86- prevent_destroy = false
86+ prevent_destroy = false
8787 # Ignore disk_size changes if auto-resize has grown the disk beyond the TF value
8888 ignore_changes = [settings [0 ]. disk_size ]
8989 }
@@ -99,9 +99,9 @@ resource "google_sql_user" "app_user" {
9999 name = var. db_user
100100 instance = google_sql_database_instance. default . name
101101 project = var. project_id
102-
102+
103103 # We read the ephemeral value while creating the DB user,
104104 # keeping the DB state clean of plaintext passwords.
105- password_wo = ephemeral. random_password . db_pass . result
105+ password_wo = ephemeral. random_password . db_pass . result
106106 password_wo_version = var. db_password_version
107107}
0 commit comments