Files
homelab/terraform/authentik/outputs.tf

123 lines
3.0 KiB
Terraform
Raw Normal View History

2025-09-15 21:42:01 +03:00
output "oauth_applications" {
description = "OAuth2/OpenID applications details"
value = {
for k, v in module.oauth_applications : k => {
application_id = v.application_id
application_uuid = v.application_uuid
2025-09-16 00:28:54 +03:00
client_id = v.client_id
client_secret = v.client_secret
slug = v.application_slug
2025-09-15 21:42:01 +03:00
}
}
sensitive = true
}
output "proxy_applications" {
description = "Proxy applications details"
value = {
for k, v in module.proxy_applications : k => {
application_id = v.application_id
application_uuid = v.application_uuid
2025-09-16 00:28:54 +03:00
external_host = v.external_host
internal_host = v.internal_host
slug = v.application_slug
2025-09-15 21:42:01 +03:00
}
}
}
output "outposts" {
description = "Outposts details"
value = {
for k, v in authentik_outpost.outposts : k => {
id = v.id
name = v.name
type = v.type
}
}
}
output "groups" {
description = "Groups details"
2025-09-16 15:28:42 +03:00
value = merge(
{
for k, v in authentik_group.root_groups : k => {
id = v.id
name = v.name
}
},
{
for k, v in authentik_group.child_groups : k => {
id = v.id
name = v.name
}
},
{
for k, v in authentik_group.proxy_app_groups : k => {
id = v.id
name = v.name
auto_created = true
type = "proxy"
}
},
{
for k, v in authentik_group.oauth_app_groups : k => {
id = v.id
name = v.name
auto_created = true
type = "oauth"
}
2025-09-15 21:42:01 +03:00
}
2025-09-16 15:28:42 +03:00
)
2025-09-15 21:42:01 +03:00
}
output "flows" {
description = "Custom flows details"
value = {
for k, v in authentik_flow.flows : k => {
id = v.id
slug = v.slug
name = v.name
}
}
}
output "certificates" {
description = "Certificates details"
value = {
for k, v in authentik_certificate_key_pair.certificates : k => {
2025-09-16 00:28:54 +03:00
id = v.id
name = v.name
2025-09-15 21:42:01 +03:00
fingerprint_sha256 = v.fingerprint_sha256
fingerprint_sha1 = v.fingerprint_sha1
}
}
2025-09-16 15:51:14 +03:00
}
# Output for applications table generation
output "applications_for_wiki" {
description = "Applications data formatted for wiki table generation"
value = {
proxy_apps = {
for k, v in var.proxy_applications : k => {
2025-09-16 15:57:48 +03:00
name = v.name
type = "Proxy"
url = v.external_host
group = v.group
description = v.meta_description
icon = v.meta_icon
slug = v.slug
2025-09-16 15:51:14 +03:00
}
}
oauth_apps = {
for k, v in var.oauth_applications : k => {
2025-09-16 15:57:48 +03:00
name = v.name
type = "OAuth2/OpenID"
url = length(v.redirect_uris) > 0 ? "https://${split("/", replace(v.redirect_uris[0], "https://", ""))[0]}" : ""
group = v.group
description = v.meta_description
icon = v.meta_icon
slug = v.slug
2025-09-16 15:51:14 +03:00
}
}
}
2025-09-15 21:42:01 +03:00
}