fix: switched headscale to external-service (managed by docker, routed by k8s)

- Changed ports for headscale to prefix "1"
This commit is contained in:
2026-06-09 09:01:44 +02:00
parent d85b3f02f5
commit 22ffd779cc
8 changed files with 151 additions and 402 deletions
+86 -89
View File
@@ -1,56 +1,107 @@
# Headscale main
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: headscale-prod
name: headscale-server-prod
namespace: headscale
spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.forust.xyz`)
kind: Rule
services:
- name: headscale-service
port: 8080
- match: Host(`hs.forust.xyz`)
kind: Rule
services:
- name: headscale-server-external
port: 8080
tls:
certResolver: letsencrypt
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: headscale-local
name: headscale-server-local
namespace: headscale
spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.workstation.internal`)
kind: Rule
services:
- name: headscale-service
port: 8080
- match: Host(`hs.workstation.internal`)
kind: Rule
services:
- name: headscale-server-external
port: 8080
tls:
secretName: local-tls
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: headscale-dev
name: headscale-server-dev
namespace: headscale
spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.gigaforust.internal`)
kind: Rule
services:
- name: headscale-service
port: 8080
- match: Host(`hs.gigaforust.internal`)
kind: Rule
services:
- name: headscale-server-external
port: 8080
tls:
secretName: local-tls
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: headscale-ui-prod
namespace: headscale
spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.forust.xyz`) && PathPrefix(`/admin`)
kind: Rule
middlewares:
- name: security-chain@file
services:
- name: headscale-ui-external
port: 80
tls:
certResolver: letsencrypt
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: headscale-ui-local
namespace: headscale
spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.workstation.internal`) && PathPrefix(`/admin`)
kind: Rule
services:
- name: headscale-ui-external
port: 80
tls:
secretName: local-tls
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: headscale-ui-dev
namespace: headscale
spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.gigaforust.internal`) && PathPrefix(`/admin`)
kind: Rule
services:
- name: headscale-ui-external
port: 80
tls:
secretName: local-tls
---
# Headscale metrics
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
@@ -60,11 +111,11 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.forust.xyz`) && PathPrefix(`/metrics`)
kind: Rule
services:
- name: headscale-service
port: 9090
- match: Host(`hs.forust.xyz`) && PathPrefix(`/metrics`)
kind: Rule
services:
- name: headscale-server-external
port: 9090
tls:
certResolver: letsencrypt
---
@@ -77,11 +128,11 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.workstation.internal`) && PathPrefix(`/metrics`)
kind: Rule
services:
- name: headscale-service
port: 9090
- match: Host(`hs.workstation.internal`) && PathPrefix(`/metrics`)
kind: Rule
services:
- name: headscale-server-external
port: 9090
tls:
secretName: local-tls
---
@@ -94,64 +145,10 @@ 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:
certResolver: letsencrypt
---
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
- match: Host(`hs.gigaforust.internal`) && PathPrefix(`/metrics`)
kind: Rule
services:
- name: headscale-server-external
port: 9090
tls:
secretName: local-tls