Skip to content

Latest commit

 

History

History
69 lines (52 loc) · 1.68 KB

README.md

File metadata and controls

69 lines (52 loc) · 1.68 KB

cloudflare-tunnel-operator

Install

  1. Create values.yaml
cloudflareToken:
  cloudflareAccountID: ""
  cloudflareZoneID: ""
  cloudflareAPIToken: ""

  # If you want to get the cloudflareAPIToken from an existingSecret, include theSecret name in existingSecret.
  # You should use `cloudflareAPIToken` for the Key.
  # existingSecret: ""
  1. Install
helm repo add cloudflare-tunnel-operator https://walnuts1018.github.io/cloudflare-tunnel-operator/
helm install cloudflare-tunnel-operator -n cloudflare-tunnel-operator --create-namespace -f values.yaml  cloudflare-tunnel-operator/cloudflare-tunnel-operator
  1. Create CloudflareTunnel Resource
apiVersion: cf-tunnel-operator.walnuts.dev/v1beta1
kind: CloudflareTunnel
metadata:
  name: cloudflaretunnel-sample
spec:
  replicas: 2
  default: true # If set to true, Cloudflare Tunnel will be set for all Ingress; if set to false, only Ingress with annotation `cf-tunnel-operator.walnuts.dev/cloudflare-tunnel: <CloudflareTunnel namespace>/<CloudflareTunnel name>` annotations.
kubectl apply -f ./cf-tunnel.yaml

At this stage, the Cloudflared pod should be up and running, and Cloudflare Tunnel and DNS settings should have been created for all ingresses in the cluster.

Development

Prerequisites

  • go version v1.23.3+
  • docker version 17.03+.
  • kubectl version v1.11.3+.
  • Access to a Kubernetes v1.11.3+ cluster.
  • aqua version 2.25.1+
    • brew install aquaproj/aqua/aqua

Install Dependencies

aqua i

Start Cluster

make setup
tilt up --host 0.0.0.0

Stop Cluster

make stop