- Complete project structure with Next.js frontend - GraphQL API backend with Apollo Server - Portal application with NextAuth - Crossplane Proxmox provider - GitOps configurations - CI/CD pipelines - Testing infrastructure (Vitest, Jest, Go tests) - Error handling and monitoring - Security hardening - UI component library - Documentation
78 lines
1.9 KiB
YAML
78 lines
1.9 KiB
YAML
# Cloudflare Tunnel Configuration for Control Plane
|
|
# This tunnel connects the Kubernetes control plane to Cloudflare
|
|
|
|
tunnel: control-plane-tunnel
|
|
credentials-file: /etc/cloudflared/control-plane-tunnel.json
|
|
|
|
ingress:
|
|
# Portal
|
|
- hostname: portal.yourdomain.com
|
|
service: http://portal.portal.svc.cluster.local:80
|
|
originRequest:
|
|
noHappyEyeballs: true
|
|
connectTimeout: 30s
|
|
tcpKeepAlive: 30s
|
|
keepAliveConnections: 100
|
|
keepAliveTimeout: 90s
|
|
|
|
# Rancher
|
|
- hostname: rancher.yourdomain.com
|
|
service: http://rancher.rancher-system.svc.cluster.local:80
|
|
originRequest:
|
|
noHappyEyeballs: true
|
|
connectTimeout: 30s
|
|
|
|
# ArgoCD
|
|
- hostname: argocd.yourdomain.com
|
|
service: http://argocd-server.argocd.svc.cluster.local:80
|
|
originRequest:
|
|
noHappyEyeballs: true
|
|
connectTimeout: 30s
|
|
|
|
# Grafana
|
|
- hostname: grafana.yourdomain.com
|
|
service: http://kube-prometheus-stack-grafana.monitoring.svc.cluster.local:80
|
|
originRequest:
|
|
noHappyEyeballs: true
|
|
connectTimeout: 30s
|
|
|
|
# Vault
|
|
- hostname: vault.yourdomain.com
|
|
service: http://vault.vault.svc.cluster.local:8200
|
|
originRequest:
|
|
noHappyEyeballs: true
|
|
connectTimeout: 30s
|
|
|
|
# Keycloak
|
|
- hostname: keycloak.yourdomain.com
|
|
service: http://keycloak.keycloak.svc.cluster.local:8080
|
|
originRequest:
|
|
noHappyEyeballs: true
|
|
connectTimeout: 30s
|
|
|
|
# Kubernetes API (restricted)
|
|
- hostname: k8s-api.yourdomain.com
|
|
service: https://kubernetes.default.svc.cluster.local:443
|
|
originRequest:
|
|
noHappyEyeballs: true
|
|
connectTimeout: 30s
|
|
tls:
|
|
skipVerify: false
|
|
|
|
# Catch-all rule (must be last)
|
|
- service: http_status:404
|
|
|
|
# Logging
|
|
loglevel: info
|
|
logfile: /var/log/cloudflared/control-plane-tunnel.log
|
|
|
|
# Metrics
|
|
metrics: 0.0.0.0:9090
|
|
|
|
# Health check
|
|
health-probe:
|
|
enabled: true
|
|
path: /health
|
|
port: 8080
|
|
|