output "authentik_data" {
  value = {
    for key in keys(authentik_application.service_applications) : key => {
      base_url      = "${var.authentik_url}/application/o/${authentik_application.service_applications[key].slug}"
      client_id     = authentik_provider_oauth2.service_providers[key].client_id
      client_secret = authentik_provider_oauth2.service_providers[key].client_secret
    }
  }
  sensitive = true
}

output "postgresql_data" {
  value = {
    for key in keys(postgresql_database.service_databases) : key => {
      user      = postgresql_role.service_roles[key].name
      pass      = postgresql_role.service_roles[key].password
      database  = postgresql_database.service_databases[key].name
    }
  }
  sensitive = true
}

output "postgresql_metrics_collector" {
  value = {
    user      = postgresql_role.metrics_collector_role.name
    pass      = postgresql_role.metrics_collector_role.password
    database  = postgresql_database.metrics_collector_database.name
  }
  sensitive = true
}

output "mailcow_data" {
  value = {
    for key in keys(mailcow_mailbox.services) : key => {
      address  = mailcow_mailbox.services[key].address
      password = mailcow_mailbox.services[key].password
    }
  }
  sensitive = true
}