mirror of
https://github.com/khuedoan/homelab.git
synced 2025-03-10 04:47:09 +07:00
feat: initial support for external resources
This commit is contained in:
parent
cb57ddbb28
commit
36f3bef932
4
external/backblaze.tf
vendored
Normal file
4
external/backblaze.tf
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
resource "b2_bucket" "backup" {
|
||||
bucket_name = "homelab-backup"
|
||||
bucket_type = "allPrivate"
|
||||
}
|
51
external/cloudflare.tf
vendored
Normal file
51
external/cloudflare.tf
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
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
|
||||
}
|
Loading…
Reference in New Issue
Block a user