feat(security): implement ADR 0005 Authentik boundary and hosting isolation

This commit is contained in:
Moritz Graf
2026-10-11 21:25:12 +02:00
parent fbc04f8892
commit ccfce0fa5d
7 changed files with 340 additions and 8 deletions
+30
View File
@@ -359,6 +359,23 @@ resource "authentik_application" "silverbullet" {
protocol_provider = authentik_provider_proxy.silverbullet.id
}
# 10. Hosting Family Dashboards
resource "authentik_provider_proxy" "hosting_family" {
name = "Hosting Family"
external_host = "https://hosting.haumdaucher.de"
mode = "forward_single"
authorization_flow = data.authentik_flow.default_authorization_flow.id
invalidation_flow = data.authentik_flow.default_invalidation_flow.id
intercept_header_auth = true
access_token_validity = "days=30"
}
resource "authentik_application" "hosting_family" {
name = "Hosting Family"
slug = "hosting-family"
protocol_provider = authentik_provider_proxy.hosting_family.id
}
# --- Outpost: Embedded Proxy Outpost ---
resource "authentik_outpost" "embedded" {
@@ -374,6 +391,7 @@ resource "authentik_outpost" "embedded" {
authentik_provider_proxy.openclaw.id,
authentik_provider_proxy.n8n.id,
authentik_provider_proxy.silverbullet.id,
authentik_provider_proxy.hosting_family.id,
]
}
@@ -759,6 +777,18 @@ resource "authentik_policy_binding" "silverbullet_family" {
order = 1
}
resource "authentik_policy_binding" "hosting_family_admin" {
target = authentik_application.hosting_family.uuid
group = authentik_group.infra_admins.id
order = 0
}
resource "authentik_policy_binding" "hosting_family_family" {
target = authentik_application.hosting_family.uuid
group = authentik_group.family.id
order = 1
}
# 2. Shared & Member Applications (Accessible to all authenticated users)
resource "authentik_policy_binding" "grafana_users" {