# Headscale main apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: headscale-prod namespace: headscale spec: entryPoints: - websecure routes: - match: Host(`hs.forust.xyz`) kind: Rule services: - name: headscale-service port: 8080 tls: {} --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: headscale-local namespace: headscale spec: entryPoints: - websecure routes: - match: Host(`hs.workstation.internal`) kind: Rule services: - name: headscale-service port: 8080 tls: secretName: local-tls --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: headscale-dev namespace: headscale spec: entryPoints: - websecure routes: - match: Host(`hs.gigaforust.internal`) kind: Rule services: - name: headscale-service port: 8080 tls: secretName: local-tls --- # Headscale metrics apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: headscale-metrics-prod namespace: headscale spec: entryPoints: - websecure routes: - match: Host(`hs.forust.xyz`) && PathPrefix(`/metrics`) kind: Rule services: - name: headscale-service port: 9090 tls: {} --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: headscale-metrics-local namespace: headscale spec: entryPoints: - websecure routes: - match: Host(`hs.workstation.internal`) && PathPrefix(`/metrics`) kind: Rule services: - name: headscale-service port: 9090 tls: secretName: local-tls --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: headscale-metrics-dev namespace: headscale spec: entryPoints: - websecure routes: - match: Host(`hs.gigaforust.internal`) && PathPrefix(`/metrics`) kind: Rule services: - name: headscale-service port: 9090 tls: secretName: local-tls --- # Headscale admin UI apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: headscale-admin-prod namespace: headscale spec: entryPoints: - websecure routes: - match: Host(`hs.forust.xyz`) && PathPrefix(`/admin`) kind: Rule middlewares: - name: security-chain@file services: - name: headscale-admin-service port: 80 tls: {} --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: headscale-admin-local namespace: headscale spec: entryPoints: - websecure routes: - match: Host(`hs.workstation.internal`) && PathPrefix(`/admin`) kind: Rule services: - name: headscale-admin-service port: 80 tls: secretName: local-tls --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: headscale-admin-dev namespace: headscale spec: entryPoints: - websecure routes: - match: Host(`hs.gigaforust.internal`) && PathPrefix(`/admin`) kind: Rule services: - name: headscale-admin-service port: 80 tls: secretName: local-tls