Archived
Consolidates nixos, docker, raspi, and debian-configuration into a single infrastructure-as-code repo. Includes: - ansible/: full inventory + proxmox-hardening, freeipa, and raspberrypi roles (converted from debian-configuration bash scripts) - terraform/: Proxmox VMs, Dynu DNS, Pi-hole (decommissioned stub), Docker container catalog — migrated from docker/infrastructure/terraform/ - stacks/docker/, stacks/raspi/, nixos/: placeholder READMEs pending git subtree population (see implementation plan) - docs/: internal MkDocs site with architecture, network topology, runbooks, and drift-detection guide; external sanitized site - scripts/: drift-detect.sh, docs-build.sh, install-hooks.sh, check-secrets.sh - CI: secret-scan (push/PR), drift-detect (daily), docs-build (on change) - Pi-hole removed throughout — DNS is FreeIPA, DHCP is router See docs/internal/implementation-plan.md for the phased rollout after pushing to Gitea. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UvNjoxTWEDkhXsd1Dq2ETP
48 lines
1.6 KiB
Terraform
48 lines
1.6 KiB
Terraform
output "dynu_domain" {
|
|
description = "Primary Dynu domain represented by this Terraform root."
|
|
value = local.dynu_domain
|
|
}
|
|
|
|
output "dynu_dns_records_catalog" {
|
|
description = "Documentation catalog of expected Dynu DNS records discovered from repo service exposure."
|
|
value = local.dynu_dns_records_catalog
|
|
}
|
|
|
|
output "dynu_dns_inventory" {
|
|
description = "Documentation-friendly Dynu DNS inventory for export and merge into broader infrastructure docs."
|
|
value = {
|
|
provider = "dynu"
|
|
domain = local.dynu_domain
|
|
record_count = length(local.dynu_dns_records_catalog)
|
|
records = local.dynu_dns_records_catalog
|
|
}
|
|
}
|
|
|
|
output "dynu_root_domain_id" {
|
|
description = "Dynu numeric domain ID resolved from dynu_root_domain."
|
|
value = data.dynu_dns_records.root.domain_id
|
|
}
|
|
|
|
output "dynu_root_domain_name" {
|
|
description = "Dynu root domain name resolved from dynu_root_domain."
|
|
value = data.dynu_dns_records.root.domain_name
|
|
}
|
|
|
|
output "dynu_dns_records" {
|
|
description = "Full read-only DNS record inventory returned by Dynu."
|
|
value = data.dynu_dns_records.root.records
|
|
}
|
|
|
|
output "dynu_dns_hostnames" {
|
|
description = "Sorted hostname list discovered for dynu_root_domain."
|
|
value = sort(distinct([for record in data.dynu_dns_records.root.records : record.hostname]))
|
|
}
|
|
|
|
output "dynu_dns_record_import_ids" {
|
|
description = "Map of Dynu DNS record identity to provider import IDs in domain_id/record_id format."
|
|
value = {
|
|
for record in data.dynu_dns_records.root.records :
|
|
format("%s/%s/%s", record.hostname, record.record_type, record.id) => format("%s/%s", record.domain_id, record.id)
|
|
}
|
|
}
|