Fix passing mysql auth into database module

Closes private/projects#34
This commit is contained in:
Danny Grove 2025-10-14 08:31:46 -07:00
parent 338e468bf3
commit ebb5b252c2
Signed by: danny
GPG Key ID: E1F4160251DB4C2E
3 changed files with 11 additions and 1 deletions

View File

@ -99,6 +99,7 @@ module "digitalocean_mysql_database_cluster" {
databases = [{
name = "crater",
create_default_superuser = true,
mysql_native_auth = true
}]
vpc_id = digitalocean_vpc.main.id

View File

@ -15,6 +15,12 @@ resource "digitalocean_database_cluster" "main" {
node_count = var.node_count
version = var.db_version
private_network_uuid = var.vpc_id
lifecycle {
ignore_changes = [
storage_size_mib,
]
}
}
resource "digitalocean_database_db" "main" {
@ -32,12 +38,14 @@ locals {
resource "digitalocean_database_user" "default_users" {
for_each = {
for db in [for db in var.databases: db if db.create_default_superuser]:
db.name => db.name
db.name => db
}
cluster_id = digitalocean_database_cluster.main.id
name = each.key
mysql_auth_plugin = each.value.mysql_native_auth ? "mysql_native_password" : null
provisioner "local-exec" {
command = var.dbcli_name == "psql" ? "GRANT ALL ON DATABASE ${each.key} TO ${each.key};" : "GRANT ALL PRIVILEGES ON ${each.key} TO '${each.key}'@'%';"
interpreter = var.dbcli_name == "psql" ? [

View File

@ -22,6 +22,7 @@ variable "databases" {
type = list(object({
name = string,
create_default_superuser = optional(bool, false),
mysql_native_auth = optional(bool, false),
}))
}