What problem does it solve?
Manually exposing Kubernetes services to the internet requires opening inbound cluster ports, configuring disjointed access controls for human users and machine services, and managing tunnel connections and DNS records by hand, which is error-prone and creates unnecessary security risks.
Core Features & Use Cases
- Cloudflare Tunnel Deployment: Set up high-availability cloudflared deployments on Kubernetes to expose services without any inbound ports open on the cluster, using outbound-only connections.
- Dual-Route Access Control: Configure Traefik IngressRoutes to route human user traffic through Authentik forwardAuth for identity verification, while allowing machine services to authenticate via Cloudflare Access Service Tokens, with clear separation between the two traffic paths.
- DNS and Access Policy Management: Automate creation of Cloudflare DNS CNAME records for tunnel hostnames, set up Access applications and service token policies, and troubleshoot common issues like misconfigured access decisions or tunnel connectivity failures.
- Use Case: For a homelab Kubernetes cluster running services like Grafana and Foundry VTT, use this skill to expose Grafana to your team via Authentik login while allowing internal game services to authenticate with service tokens, all without exposing any inbound ports on your home network.
Quick Start
Use the cloudflare skill to configure a dual-route IngressRoute for your Grafana service that routes human users to Authentik forwardAuth and machine services via Cloudflare Access Service Tokens, then create the required Cloudflare DNS CNAME record to expose it via tunnel.