Skip to content

Commit aa63d18

Browse files
author
amanravi-squareops
committed
fixed restore database
1 parent dc6c6a7 commit aa63d18

File tree

7 files changed

+33
-32
lines changed

7 files changed

+33
-32
lines changed

examples/complete/main.tf

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ locals {
66
environment = "prod"
77
create_namespace = true
88
namespace = "pg"
9-
engine_version = "15.4"
9+
engine_version = "15.7"
1010
instance_class = "db.t4g.micro"
1111
storage_type = "gp3"
1212
cluster_name = ""
@@ -92,7 +92,7 @@ module "vpc" {
9292
name = local.name
9393
vpc_cidr = local.vpc_cidr
9494
environment = local.environment
95-
availability_zones = ["us-east-1a", "us-east-1b"]
95+
availability_zones = ["us-east-2a", "us-east-2b"]
9696
public_subnet_enabled = true
9797
auto_assign_public_ip = true
9898
intra_subnet_enabled = false
@@ -104,14 +104,14 @@ module "vpc" {
104104
module "rds-pg" {
105105
source = "squareops/rds-postgresql/aws"
106106
version = "2.0.0"
107-
name = local.name
108-
db_name = "test"
109-
multi_az = false
110-
family = local.family
107+
name = local.name
108+
db_name = "test"
109+
multi_az = false
110+
family = local.family
111111
vpc_id = module.vpc.vpc_id
112-
allowed_security_groups = local.allowed_security_groups
112+
allowed_security_groups = local.allowed_security_groups
113113
subnet_ids = module.vpc.database_subnets
114-
environment = local.environment
114+
environment = local.environment
115115
kms_key_arn = module.kms.key_arn
116116
storage_type = local.storage_type
117117
engine_version = local.engine_version
@@ -141,13 +141,14 @@ module "rds-pg" {
141141
create_namespace = local.create_namespace
142142
postgresdb_backup_enabled = false
143143
postgresdb_backup_config = {
144-
postgres_database_name = "" # Specify the database name or Leave empty if you wish to backup all databases
145-
cron_for_full_backup = "*/2 * * * *" # set cronjob for backup
146-
bucket_uri = "s3://postgres-backups-atmosly" # s3 bucket uri
144+
postgres_database_name = "" # Specify the database name or Leave empty if you wish to backup all databases
145+
cron_for_full_backup = "*/2 * * * *" # set cronjob for backup
146+
bucket_uri = "s3://my-backup-dumps-databases" # s3 bucket uri
147147
}
148-
postgresdb_restore_enabled = false
148+
postgresdb_restore_enabled = true
149149
postgresdb_restore_config = {
150-
bucket_uri = "s3://postgres-backups-atmosly" #S3 bucket URI (without a trailing slash /) containing the backup dump file.
151-
backup_file_name = "db5_20241114111607.sql" #Give .sql or .zip file for restore
150+
bucket_uri = "s3://my-backup-dumps-databases" #S3 bucket URI (without a trailing slash /) containing the backup dump file.
151+
backup_file_name = "atmosly_db1.sql" #Give .sql or .zip file for restore
152152
}
153153
}
154+

examples/complete/provider.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ provider "aws" {
55
}
66
}
77
data "aws_eks_cluster" "cluster" {
8-
name = ""
8+
name = local.cluster_name
99

1010
}
1111
data "aws_eks_cluster_auth" "cluster" {
12-
name = ""
12+
name = local.cluster_name
1313
}
1414

1515
provider "kubernetes" {

main.tf

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ resource "aws_lambda_permission" "sns_lambda_slack_invoke" {
323323
module "backup_restore" {
324324
depends_on = [module.db]
325325
source = "./modules/db-backup-restore"
326+
name = var.name
326327
cluster_name = var.cluster_name
327328
namespace = var.namespace
328329
create_namespace = var.create_namespace
@@ -331,20 +332,17 @@ module "backup_restore" {
331332
db_username = var.master_username
332333
db_password = var.custom_user_password != "" ? var.custom_user_password : nonsensitive(random_password.master[0].result)
333334
postgres_database_name = var.postgresdb_backup_config.postgres_database_name
334-
# s3_bucket_region = var.postgresdb_backup_config.s3_bucket_region
335-
cron_for_full_backup = var.postgresdb_backup_config.cron_for_full_backup
336-
bucket_uri = var.postgresdb_backup_config.bucket_uri
337-
db_endpoint = replace(var.replica_enable ? module.db_replica[0].db_instance_endpoint : module.db.db_instance_endpoint, ":5432", "")
335+
cron_for_full_backup = var.postgresdb_backup_config.cron_for_full_backup
336+
bucket_uri = var.postgresdb_backup_config.bucket_uri
337+
db_endpoint = replace(var.replica_enable ? module.db_replica[0].db_instance_endpoint : module.db.db_instance_endpoint, ":5432", "")
338338
}
339339

340340
postgresdb_restore_enabled = var.postgresdb_restore_enabled
341341
postgresdb_restore_config = {
342-
db_endpoint = replace(var.replica_enable ? module.db_replica[0].db_instance_endpoint : module.db.db_instance_endpoint, ":5432", "")
343-
db_username = var.master_username
344-
db_password = var.custom_user_password != "" ? var.custom_user_password : nonsensitive(random_password.master[0].result)
345-
bucket_uri = var.postgresdb_restore_config.bucket_uri
346-
# s3_bucket_region = var.postgresdb_restore_config.s3_bucket_region
347-
# DB_NAME = var.postgresdb_restore_config.DB_NAME,
342+
db_endpoint = replace(var.replica_enable ? module.db_replica[0].db_instance_endpoint : module.db.db_instance_endpoint, ":5432", "")
343+
db_username = var.master_username
344+
db_password = var.custom_user_password != "" ? var.custom_user_password : nonsensitive(random_password.master[0].result)
345+
bucket_uri = var.postgresdb_restore_config.bucket_uri
348346
backup_file_name = var.postgresdb_restore_config.backup_file_name,
349347
}
350348
}

modules/db-backup-restore/backup/templates/cronjob.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ spec:
1818
serviceAccountName: sa-postgres-backup
1919
containers:
2020
- name: backup-postgresdb
21-
image: squareops01/rds-postgresql-backup:v1
21+
image: squareops01/rds-postgresql-backup:v2
2222
imagePullPolicy: Always
2323
command: ["/backup/backup_script.sh"]
2424
env:

modules/db-backup-restore/main.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ resource "helm_release" "postgresdb_backup" {
2222
db_username = var.postgresdb_backup_config.db_username,
2323
# s3_bucket_region = var.postgresdb_backup_config.s3_bucket_region ,
2424
cron_for_full_backup = var.postgresdb_backup_config.cron_for_full_backup,
25-
annotations = var.bucket_provider_type == "s3" ? "eks.amazonaws.com/role-arn: ${aws_iam_role.postgres_backup_role.arn}" : "iam.gke.io/gcp-service-account: ${var.service_account_backup}"
25+
annotations = var.bucket_provider_type == "s3" ? "eks.amazonaws.com/role-arn: ${aws_iam_role.postgres_backup_role[count.index].arn}" : "iam.gke.io/gcp-service-account: ${var.service_account_backup}"
2626
})
2727
]
2828
}
@@ -43,7 +43,7 @@ resource "helm_release" "postgresdb_restore" {
4343
db_password = var.postgresdb_restore_config.db_password,
4444
db_username = var.postgresdb_restore_config.db_username,
4545
backup_file_name = var.postgresdb_restore_config.backup_file_name,
46-
annotations = var.bucket_provider_type == "s3" ? "eks.amazonaws.com/role-arn: ${aws_iam_role.postgres_restore_role.arn}" : "iam.gke.io/gcp-service-account: ${var.service_account_restore}"
46+
annotations = var.bucket_provider_type == "s3" ? "eks.amazonaws.com/role-arn: ${aws_iam_role.postgres_restore_role[count.index].arn}" : "iam.gke.io/gcp-service-account: ${var.service_account_restore}"
4747
})
4848
]
4949
}

modules/db-backup-restore/restore/templates/job.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ spec:
99
serviceAccountName: sa-postgres-restore
1010
containers:
1111
- name: restore-postgresdb
12-
image: squareops01/rds-postgresql-restore:v1
12+
image: squareops01/rds-postgresql-restore:v2
1313
imagePullPolicy: Always
1414
command: ["/restore/restore_script.sh"]
1515
env:

modules/db-backup-restore/roles.tf

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ data "aws_eks_cluster" "kubernetes_cluster" {
1313
}
1414

1515
resource "aws_iam_role" "postgres_backup_role" {
16-
name = format("%s-%s-%s", var.cluster_name, var.name, "postgres-backup-rds")
16+
count = var.postgresdb_backup_enabled ? 1 : 0
17+
name = format("%s-%s-%s", var.cluster_name, var.name, "postgres-backup-rds")
1718
assume_role_policy = jsonencode({
1819
Version = "2012-10-17",
1920
Statement = [
@@ -56,6 +57,7 @@ resource "aws_iam_role" "postgres_backup_role" {
5657

5758

5859
resource "aws_iam_role" "postgres_restore_role" {
60+
count = var.postgresdb_restore_enabled ? 1 : 0
5961
name = format("%s-%s-%s", var.cluster_name, var.name, "postgres-restore")
6062
assume_role_policy = jsonencode({
6163
Version = "2012-10-17",
@@ -95,4 +97,4 @@ resource "aws_iam_role" "postgres_restore_role" {
9597
]
9698
})
9799
}
98-
}
100+
}

0 commit comments

Comments
 (0)