|
1 | 1 | # Cloudflare Tunnels for OpenShift workloads |
2 | 2 | # Tunnels connect cloudflared pods to Cloudflare edge network |
3 | 3 | # |
4 | | -# Tunnel credentials are managed separately in kustomize-cluster via SOPS/KSOPS. |
| 4 | +# The cluster-apps tunnel is managed by cloudflare-operator in OpenShift. |
| 5 | +# Tunnel credentials are managed in kustomize-cluster via SOPS/KSOPS. |
| 6 | +# DNS records are managed here to point to the consolidated tunnel. |
5 | 7 |
|
6 | 8 | # ============================================================================= |
7 | | -# HTTP Tunnels (ingress-based) |
| 9 | +# Consolidated HTTP Tunnel (managed by cloudflare-operator) |
8 | 10 | # ============================================================================= |
9 | 11 |
|
10 | | -# ArgoCD tunnel |
11 | | -resource "cloudflare_zero_trust_tunnel_cloudflared" "argocd" { |
| 12 | +# Consolidated tunnel for all HTTP workloads |
| 13 | +# Lifecycle managed by cloudflare-operator ClusterTunnel resource in OpenShift |
| 14 | +# Import: tofu import cloudflare_zero_trust_tunnel_cloudflared.cluster_apps 03f750691b4ad4d59aa4b7205adaa108/1ac3a39c-7d97-422e-88e5-1f82b6334bbb |
| 15 | +resource "cloudflare_zero_trust_tunnel_cloudflared" "cluster_apps" { |
12 | 16 | account_id = local.account_id |
13 | | - name = "argocd" |
| 17 | + name = "cluster-apps" |
| 18 | + |
| 19 | + lifecycle { |
| 20 | + # Tunnel is managed by cloudflare-operator, prevent Terraform from modifying/deleting |
| 21 | + ignore_changes = all |
| 22 | + } |
14 | 23 | } |
15 | 24 |
|
| 25 | +# ============================================================================= |
| 26 | +# DNS Records (pointing to consolidated tunnel) |
| 27 | +# ============================================================================= |
| 28 | + |
16 | 29 | resource "cloudflare_dns_record" "argocd_tunnel" { |
17 | 30 | zone_id = local.zone_id |
18 | 31 | type = "CNAME" |
19 | 32 | name = "argocd" |
20 | | - content = "${cloudflare_zero_trust_tunnel_cloudflared.argocd.id}.cfargotunnel.com" |
| 33 | + content = "${cloudflare_zero_trust_tunnel_cloudflared.cluster_apps.id}.cfargotunnel.com" |
21 | 34 | proxied = true |
22 | 35 | ttl = 1 |
23 | 36 | } |
24 | 37 |
|
25 | | -# Grafana tunnel |
26 | | -resource "cloudflare_zero_trust_tunnel_cloudflared" "grafana" { |
27 | | - account_id = local.account_id |
28 | | - name = "grafana" |
29 | | -} |
30 | | - |
31 | 38 | resource "cloudflare_dns_record" "grafana_tunnel" { |
32 | 39 | zone_id = local.zone_id |
33 | 40 | type = "CNAME" |
34 | 41 | name = "grafana" |
35 | | - content = "${cloudflare_zero_trust_tunnel_cloudflared.grafana.id}.cfargotunnel.com" |
| 42 | + content = "${cloudflare_zero_trust_tunnel_cloudflared.cluster_apps.id}.cfargotunnel.com" |
36 | 43 | proxied = true |
37 | 44 | ttl = 1 |
38 | 45 | } |
39 | 46 |
|
40 | | -# Uptime Kuma tunnel (status.makeitwork.cloud) |
41 | | -resource "cloudflare_zero_trust_tunnel_cloudflared" "uptime_kuma" { |
42 | | - account_id = local.account_id |
43 | | - name = "uptime-kuma" |
44 | | -} |
45 | | - |
46 | 47 | resource "cloudflare_dns_record" "status_tunnel" { |
47 | 48 | zone_id = local.zone_id |
48 | 49 | type = "CNAME" |
49 | 50 | name = "status" |
50 | | - content = "${cloudflare_zero_trust_tunnel_cloudflared.uptime_kuma.id}.cfargotunnel.com" |
| 51 | + content = "${cloudflare_zero_trust_tunnel_cloudflared.cluster_apps.id}.cfargotunnel.com" |
51 | 52 | proxied = true |
52 | 53 | ttl = 1 |
53 | 54 | } |
54 | 55 |
|
55 | | -# AWX tunnel (ansible.makeitwork.cloud) |
56 | | -resource "cloudflare_zero_trust_tunnel_cloudflared" "awx" { |
57 | | - account_id = local.account_id |
58 | | - name = "awx" |
59 | | -} |
60 | | - |
61 | 56 | resource "cloudflare_dns_record" "ansible_tunnel" { |
62 | 57 | zone_id = local.zone_id |
63 | 58 | type = "CNAME" |
64 | 59 | name = "ansible" |
65 | | - content = "${cloudflare_zero_trust_tunnel_cloudflared.awx.id}.cfargotunnel.com" |
| 60 | + content = "${cloudflare_zero_trust_tunnel_cloudflared.cluster_apps.id}.cfargotunnel.com" |
66 | 61 | proxied = true |
67 | 62 | ttl = 1 |
68 | 63 | } |
|
0 commit comments