aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'clarkzjw.cc/infra/cloudflare.tf')
-rw-r--r--clarkzjw.cc/infra/cloudflare.tf39
1 files changed, 39 insertions, 0 deletions
diff --git a/clarkzjw.cc/infra/cloudflare.tf b/clarkzjw.cc/infra/cloudflare.tf
index 61d9868..0b40e57 100644
--- a/clarkzjw.cc/infra/cloudflare.tf
+++ b/clarkzjw.cc/infra/cloudflare.tf
@@ -1,3 +1,7 @@
1provider "cloudflare" {
2 api_token = var.cloudflare_api_token
3}
4
1data "cloudflare_zones" "homelab_main_domain" { 5data "cloudflare_zones" "homelab_main_domain" {
2 filter { 6 filter {
3 name = var.homelab_main_domain 7 name = var.homelab_main_domain
@@ -23,6 +27,41 @@ resource "cloudflare_record" "main" {
23 proxied = true 27 proxied = true
24} 28}
25 29
30# Argo tunnel
31resource "random_id" "atlas_tunnel_secret" {
32 byte_length = 35
33}
34
35resource "cloudflare_argo_tunnel" "atlas_main_tunnel" {
36 account_id = var.cloudflare_account_id
37 name = "${var.homelab_main_domain}-tunnel"
38 secret = random_id.atlas_tunnel_secret.b64_std
39}
40
41resource "cloudflare_record" "bt" {
42 zone_id = data.cloudflare_zones.homelab_main_domain.zones[0].id
43 name = "bt.${var.homelab_main_domain}"
44 value = "${cloudflare_argo_tunnel.atlas_main_tunnel.id}.cfargotunnel.com"
45 type = "CNAME"
46 proxied = true
47}
48
49resource "cloudflare_tunnel_config" "atlas_tunnel_route" {
50 account_id = var.cloudflare_account_id
51 tunnel_id = cloudflare_argo_tunnel.atlas_main_tunnel.id
52
53 config {
54 ingress_rule {
55 hostname = "bt.${var.homelab_main_domain}"
56 path = "/"
57 service = "http://127.0.0.1:8080"
58 }
59 ingress_rule {
60 service = "http_status:404"
61 }
62 }
63}
64
26# notify 65# notify
27resource "cloudflare_record" "notify_SPF" { 66resource "cloudflare_record" "notify_SPF" {
28 zone_id = data.cloudflare_zones.homelab_main_domain.zones[0].id 67 zone_id = data.cloudflare_zones.homelab_main_domain.zones[0].id
Powered by cgit v1.2.3 (git 2.41.0)