diff --git a/module.tf b/module.tf index c344e8d..47443d9 100644 --- a/module.tf +++ b/module.tf @@ -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" + } + } + } + } } } diff --git a/variables.auto.tfvars b/variables.auto.tfvars index c9da746..b1a6ed4 100644 --- a/variables.auto.tfvars +++ b/variables.auto.tfvars @@ -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"