main container get db backup pvc if shunt is in place , otherwise automatic db get it

This commit is contained in:
2026-03-05 21:07:03 +00:00
parent 68e2a1bb2f
commit 17e6ea2251
2 changed files with 39 additions and 61 deletions
+37 -59
View File
@@ -99,8 +99,7 @@ variable "database_backup_info" {
}
sqlserver = {
image = "mcr.microsoft.com/mssql-tools"
command = "/opt/mssql-tools/bin/sqlcmd -S $DB_HOST -U $DB_USERNAME -P $DB_PASSWORD -Q \"BACKUP DATABASE $DB_DATABASE_NAME TO DISK = '/tmp/SQLTestDB.bak' WITH COPY_ONLY, CHECKSUM,FORMAT, MEDIANAME = 'SQLServerBackups',NAME = 'Full Backup of SQLTestDB'\""
command = "/opt/mssql-tools/bin/sqlcmd -S $DB_HOST -U $DB_USERNAME -P $DB_PASSWORD -Q \"BACKUP DATABASE $DB_DATABASE_NAME TO DISK = '/backup/$DB_DATABASE_NAME-$(date +%Y%m%d).bak' WITH COPY_ONLY, CHECKSUM,FORMAT, MEDIANAME = 'SQLServerBackups',NAME = 'Full Backup of SQLTestDB'\";exit"
}
}
}
@@ -416,6 +415,13 @@ resource "kubernetes_deployment_v1" "automatic" {
}
}
dynamic "volume_mount" {
for_each = try(each.value.database.engine == "sqlserver", false) && try(each.value.database.shunt, false) ? [1] : []
content {
mount_path = "/backup"
name = "${each.key}-db-backup"
}
}
dynamic "env_from" {
for_each = each.value.secret_ref != null ? each.value.secret_ref : []
@@ -454,18 +460,6 @@ resource "kubernetes_deployment_v1" "automatic" {
}
}
# dynamic "command" {
# for_each = each.value.command != null ? [1] : []
# content {
# [each.value.command]
# }
# }
# command = each.value.command != null ? {
# [each.value.command]
# } : {}
command = each.value.command != null ? each.value.command : []
@@ -482,7 +476,6 @@ resource "kubernetes_deployment_v1" "automatic" {
content {
name = env.value.value_from.secret_key_ref.name
key = env.value.value_from.secret_key_ref.key
# optional = true
}
}
}
@@ -505,16 +498,6 @@ resource "kubernetes_deployment_v1" "automatic" {
}
}
# resources {
# limits = {
# cpu = each.value.requirements.limits-cpu
# memory = each.value.requirements.limits-memory
# }
# requests = {
# cpu = each.value.requirements.requests-cpu
# memory = each.value.requirements.requests-memory
# }
# }
dynamic "security_context" {
for_each = each.value.security_context == true ? [1] : []
@@ -592,6 +575,16 @@ resource "kubernetes_deployment_v1" "automatic" {
}
}
dynamic "volume" {
for_each = try(each.value.database.engine == "sqlserver", false) && try(each.value.database.shunt, false) ? [1] : []
content {
name = "${each.key}-db-backup"
persistent_volume_claim {
claim_name = "${each.key}-db-backup"
}
}
}
}
}
@@ -648,6 +641,14 @@ resource "kubernetes_deployment_v1" "database-automatic" {
name = "${each.key}-db-pvc"
}
dynamic "volume_mount" {
for_each = try(each.value.database.engine == "sqlserver", false) && !(try(each.value.database.shunt, false)) ? [1] : []
content {
mount_path = "/backup"
name = "${each.key}-db-backup"
}
}
command = try([each.value.database.command], [])
#command = [try(each.value.database.command,"")]
@@ -686,40 +687,6 @@ resource "kubernetes_deployment_v1" "database-automatic" {
}
# resources {
# limits = {
# cpu = each.value.requirements.limits-cpu
# memory = each.value.requirements.limits-memory
# }
# requests = {
# cpu = each.value.requirements.requests-cpu
# memory = each.value.requirements.requests-memory
# }
# }
# dynamic "liveness_probe" {
# for_each = each.value.liveness_tcp_socket != null || each.value.liveness_http_get != null ? [""] : []
# content {
# dynamic "tcp_socket" {
# for_each = each.value.liveness_tcp_socket != null ? [""] : []
# content {
# port = each.value.liveness_tcp_socket
# }
# }
# dynamic "http_get" {
# for_each = each.value.liveness_http_get != null ? [""] : []
# content {
# port = each.value.liveness_http_get
# path = coalesce(each.value.liveness_http_get_path, "/")
# }
# }
# initial_delay_seconds = 3
# period_seconds = 3
# }
# }
}
@@ -730,6 +697,17 @@ resource "kubernetes_deployment_v1" "database-automatic" {
}
}
dynamic "volume" {
for_each = try(each.value.database.engine == "sqlserver", false) && !(try(each.value.database.shunt, false)) ? [1] : []
content {
name = "${each.key}-db-backup"
persistent_volume_claim {
claim_name = "${each.key}-db-backup"
}
}
}
}
}
}
+2 -2
View File
@@ -2285,8 +2285,8 @@ kubernetes = {
config_map_ref = ["mssql.env", "uid.env", "mssql.override.env"]
environment = {}
database = {
"shunt" = "true"
"engine" = "sqlserver"
shunt = "true"
engine = "sqlserver"
username = "sa"
host = "bitwarden-mssql-svc"
name = "bitwarden_vault"