ngrok
Quick tunnels with free tier for development
Best for: Development, demos, webhooks, and quick testing with instant public URLs.
Features
- Free tier with instant URLs
- No domain setup required
- HTTP and TCP tunnels
- OAuth authentication
- Request inspection
- Quick setup
Setup
1. Get AuthToken
- Sign up for ngrok (free)
- Go to Your Authtoken
- Copy the authtoken
2. Create Kubernetes Secret
$ kubectl create secret generic ngrok-credentials \ --from-literal=authtoken=YOUR_AUTHTOKEN3. Create TunnelProvider
apiVersion: ktube.dev/v1alpha1
kind: TunnelProvider
metadata:
name: ngrok-provider
spec:
type: ngrok
ngrok:
authTokenSecretRef:
name: ngrok-credentials
key: authtoken4. Verify
$ kubectl get tunnelprovider ngrok-providerNAME TYPE STATUS AGE ngrok-provider ngrok Ready 30s
Creating Tunnels
HTTP Tunnel
apiVersion: ktube.dev/v1alpha1
kind: TunnelBinding
metadata:
name: web-binding
spec:
tunnelRef:
name: ngrok-tunnel
protocol: https
enabled: true
service:
name: web-service
port: 8080ngrok will automatically generate a URL like https://abc123.ngrok.io
Full Example
apiVersion: ktube.dev/v1alpha1
kind: TunnelProvider
metadata:
name: ngrok-dev
spec:
type: ngrok
ngrok:
authTokenSecretRef:
name: ngrok-credentials
key: authtoken
---
apiVersion: ktube.dev/v1alpha1
kind: Tunnel
metadata:
name: dev-tunnel
spec:
providerRef:
name: ngrok-dev
---
apiVersion: ktube.dev/v1alpha1
kind: TunnelBinding
metadata:
name: api-binding
spec:
tunnelRef:
name: dev-tunnel
protocol: https
enabled: true
service:
name: my-api
port: 3000