Skip to content

Repository files navigation

tfroot-cloudflare

Requirements

NameVersion
terraform> 1.3
cloudflare~> 5.0

Providers

NameVersion
cloudflare~> 5.0
sopsn/a

Modules

No modules.

Resources

NameType
cloudflare_dns_record.cluster_appsresource
cloudflare_dns_record.mx_primaryresource
cloudflare_dns_record.mx_secondaryresource
cloudflare_dns_record.onionresource
cloudflare_dns_record.rootresource
cloudflare_dns_record.spfresource
cloudflare_dns_record.wwwresource
cloudflare_ruleset.cache_rulesresource
cloudflare_zero_trust_access_application.alertmanagerresource
cloudflare_zero_trust_access_application.grafana_alertsresource
cloudflare_zero_trust_access_application.k3sresource
cloudflare_zero_trust_access_application.warpresource
cloudflare_zero_trust_access_group.adminsresource
cloudflare_zero_trust_access_identity_provider.githubresource
cloudflare_zero_trust_organization.mainresource
cloudflare_zero_trust_tunnel_cloudflared.warpresource
cloudflare_zero_trust_tunnel_cloudflared_route.private_networkresource
cloudflare_zone_setting.brotliresource
cloudflare_zone_setting.browser_cache_ttlresource
cloudflare_zone_setting.browser_checkresource
cloudflare_zone_setting.cache_levelresource
cloudflare_zone_setting.challenge_ttlresource
cloudflare_zone_setting.early_hintsresource
cloudflare_zone_setting.minifyresource
cloudflare_zone_setting.polishresource
cloudflare_zone_setting.rocket_loaderresource
cloudflare_zero_trust_tunnel_cloudflared.cluster_appsdata source
cloudflare_zone.makeitwork_clouddata source
sops_file.secret_varsdata source

Inputs

No inputs.

Outputs

NameDescription
tunnel_idsCloudflare Tunnel IDs for reference in kustomize-cluster ConfigMaps

Kubernetes API access

This root manages the Cloudflare side of kubectl connectivity:

  • cf-warp.tf defines the GitHub identity provider and makeitworkcloud:admins Access group.
  • cf-access-k3s.tf applies that group to the migration fallback at k3s.makeitwork.cloud.
  • cf-tunnels.tf keeps the api and k3s CNAMEs pointed at the operator-owned cluster-apps-k3s tunnel.

The separate kustomize-cluster/workloads/kubectl-tunnel desired state owns the in-cluster route from that tunnel to the Kubernetes API Service.

Normal kubectl access connects directly to https://api.makeitwork.cloud and relies on a Dex-issued OIDC token plus Kubernetes RBAC. Cloudflare Access still protects the legacy TCP route at k3s.makeitwork.cloud during migration. The canonical kubeconfig and kubelogin procedure lives in the kustomize-cluster README. Do not store kubeconfigs, Access tokens, client certificates, or Cloudflare credentials in this repository.

The CNAME and the TunnelBinding are coordinated control points. When retiring a hostname, reconcile the binding first so cloudflare-operator clears its _managed.<fqdn> TXT record, then remove the hostname here and review the OpenTofu plan before apply.

About

Cloudflare tfstate repo

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages