mirror of
https://github.com/khuedoan/homelab.git
synced 2025-02-12 03:48:56 +07:00
52 lines
1.0 KiB
HCL
52 lines
1.0 KiB
HCL
locals {
|
|
internal_records = [
|
|
"*.knative",
|
|
"argocd",
|
|
"authentik",
|
|
"dex",
|
|
"grafana",
|
|
"home",
|
|
"jellyfin",
|
|
"paperless",
|
|
"seafile",
|
|
"syncthing",
|
|
"tekton",
|
|
"vault",
|
|
]
|
|
|
|
tunnel_records = [
|
|
"git"
|
|
]
|
|
}
|
|
|
|
resource "cloudflare_record" "internal_records" {
|
|
for_each = toset(local.internal_records)
|
|
zone_id = cloudflare_zone.khuedoan_com.id
|
|
type = "A"
|
|
name = each.key
|
|
# TODO use data to get ingress IP
|
|
value = "192.168.1.150"
|
|
ttl = 1 # Auto
|
|
}
|
|
|
|
resource "random_password" "homelab_tunnel" {
|
|
length = 64
|
|
special = false
|
|
}
|
|
|
|
resource "cloudflare_argo_tunnel" "homelab" {
|
|
# TODO (optimize) Use variable for account_id
|
|
account_id = "xxx"
|
|
name = "homelab"
|
|
secret = base64encode(random_password.homelab_tunnel.result)
|
|
}
|
|
|
|
resource "cloudflare_record" "git" {
|
|
zone_id = cloudflare_zone.khuedoan_com.id
|
|
type = "CNAME"
|
|
name = "git"
|
|
value = "${cloudflare_argo_tunnel.homelab.id}.cfargotunnel.com"
|
|
proxied = true
|
|
ttl = 1 # Auto
|
|
}
|