chore: compact ingress rules with regex

This commit is contained in:
2026-06-11 14:20:03 +02:00
parent 30f0f05150
commit 68c5eac164
20 changed files with 58 additions and 421 deletions
+5 -19
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`adguard.forust.xyz`) || Host(`dns.forust.xyz`)
- match: HostRegexp(`^(adguard|dns)\.forust\.xyz$`)
kind: Rule
services:
- name: adguard-service
@@ -24,22 +24,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`adguard.workstation.internal`) || Host(`dns.workstation.internal`)
kind: Rule
services:
- name: adguard-service
port: 3000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: adguard-dev
namespace: adguard
spec:
entryPoints:
- websecure
routes:
- match: Host(`adguard.gigaforust.internal`) || Host(`dns.gigaforust.internal`)
- match: HostRegexp(`^(adguard|dns)\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: adguard-service
@@ -54,12 +39,13 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`dns.forust.xyz`) && PathPrefix(`/dns-query`)
- match: HostRegexp(`^(adguard|dns)\.forust\.xyz$`) && PathPrefix(`/dns-query`)
kind: Rule
services:
- name: adguard-service
port: 3000
tls: {}
tls:
certResolver: letsencrypt
---
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
+3 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`auth.forust.xyz`)
- match: HostRegexp(`^auth\.forust\.xyz$`)
kind: Rule
services:
- name: authentik-server-service
@@ -24,23 +24,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`auth.workstation.internal`)
kind: Rule
services:
- name: authentik-server-service
port: 9000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: authentik-dev
namespace: authentik
spec:
entryPoints:
- websecure
routes:
- match: Host(`auth.gigaforust.internal`)
- match: HostRegexp(`^auth\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: authentik-server-service
port: 9000
+3 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`cmk.forust.xyz`)
- match: HostRegexp(`^cmk\.forust\.xyz$`)
kind: Rule
services:
- name: checkmk-service
@@ -24,23 +24,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`cmk.workstation.internal`)
kind: Rule
services:
- name: checkmk-service
port: 5000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: checkmk-dev
namespace: checkmk
spec:
entryPoints:
- websecure
routes:
- match: Host(`cmk.gigaforust.internal`)
- match: HostRegexp(`^cmk\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: checkmk-service
port: 5000
+3 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`forust.xyz`) && PathPrefix(`/convert`)
- match: HostRegexp(`^forust\.xyz$`) && PathPrefix(`/convert`)
kind: Rule
services:
- name: convertx-service
@@ -24,23 +24,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`workstation.internal`) && PathPrefix(`/convert`)
kind: Rule
services:
- name: convertx-service
port: 3000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: convertx-dev
namespace: convertx
spec:
entryPoints:
- websecure
routes:
- match: Host(`gigaforust.internal`) && PathPrefix(`/convert`)
- match: HostRegexp(`^(workstation|gigaforust)\.internal$`) && PathPrefix(`/convert`)
kind: Rule
services:
- name: convertx-service
port: 3000
+3 -18
View File
@@ -15,7 +15,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`dockmon.forust.xyz`)
- match: HostRegexp(`^dockmon\.forust\.xyz$`)
kind: Rule
middlewares:
- name: security-headers@file
@@ -35,25 +35,10 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`dockmon.workstation.internal`)
kind: Rule
services:
- name: dockmon-service
port: 443
serversTransport: dockmon-transport
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: dockmon-dev
namespace: dockmon
spec:
entryPoints:
- websecure
routes:
- match: Host(`dockmon.gigaforust.internal`)
- match: HostRegexp(`^dockmon\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: dockmon-service
port: 443
serversTransport: dockmon-transport
+3 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`downtify.forust.xyz`)
- match: HostRegexp(`^downtify\.forust\.xyz$`)
kind: Rule
middlewares:
- name: security-chain@file
@@ -26,23 +26,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`downtify.workstation.internal`)
kind: Rule
services:
- name: downtify-service
port: 8000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: downtify-dev
namespace: downtify
spec:
entryPoints:
- websecure
routes:
- match: Host(`downtify.gigaforust.internal`)
- match: HostRegexp(`^downtify\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: downtify-service
port: 8000
+2 -18
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`gitea.forust.xyz`)
- match: HostRegexp(`^gitea\.forust\.xyz$`)
kind: Rule
services:
- name: gitea-service
@@ -24,23 +24,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`gitea.workstation.internal`)
kind: Rule
services:
- name: gitea-service
port: 3000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: gitea-dev
namespace: gitea
spec:
entryPoints:
- websecure
routes:
- match: Host(`gitea.gigaforust.internal`)
- match: HostRegexp(`^gitea\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: gitea-service
+3 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`forust.xyz`)
- match: HostRegexp(`^forust\.xyz$`)
kind: Rule
middlewares:
- name: glance-strupprefix
@@ -26,24 +26,10 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`glance.workstation.internal`)
- match: HostRegexp(`^glance\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: glance-service
port: 8080
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: glance-dev
namespace: glance
spec:
entryPoints:
- websecure
routes:
- match: Host(`glance.gigaforust.internal`)
kind: Rule
services:
- name: glance-service
port: 8080
+7 -53
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.forust.xyz`)
- match: HostRegexp(`^hs\.forust\.xyz$`)
kind: Rule
services:
- name: headscale-server-external
@@ -24,23 +24,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.workstation.internal`)
kind: Rule
services:
- name: headscale-server-external
port: 8080
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: headscale-server-dev
namespace: headscale
spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.gigaforust.internal`)
- match: HostRegexp(`^hs\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: headscale-server-external
@@ -56,7 +40,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.forust.xyz`) && PathPrefix(`/admin`)
- match: HostRegexp(`^hs\.forust\.xyz$`) && PathPrefix(`/admin`)
kind: Rule
middlewares:
- name: security-chain@file
@@ -75,23 +59,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.workstation.internal`) && PathPrefix(`/admin`)
kind: Rule
services:
- name: headscale-ui-external
port: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: headscale-ui-dev
namespace: headscale
spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.gigaforust.internal`) && PathPrefix(`/admin`)
- match: HostRegexp(`^hs\.(workstation|gigaforust)\.internal$`) && PathPrefix(`/admin`)
kind: Rule
services:
- name: headscale-ui-external
@@ -107,7 +75,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.forust.xyz`) && PathPrefix(`/metrics`)
- match: HostRegexp(`^hs\.forust\.xyz$`) && PathPrefix(`/metrics`)
kind: Rule
services:
- name: headscale-server-external
@@ -124,24 +92,10 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`hs.workstation.internal`) && PathPrefix(`/metrics`)
- match: HostRegexp(`^hs\.(workstation|gigaforust)\.internal$`) && PathPrefix(`/metrics`)
kind: Rule
services:
- name: headscale-server-external
port: 9090
---
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-server-external
port: 9090
+4 -36
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`forust.xyz`) || Host(`www.forust.xyz`)
- match: HostRegexp(`^(forust\.xyz|www\.forust\.xyz)$`)
kind: Rule
services:
- name: forust-homepage-service
@@ -24,28 +24,11 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`landing.workstation.internal`)
- match: HostRegexp(`^landing\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: forust-homepage-service
port: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: forust-homepage-dev
namespace: homepages
spec:
entryPoints:
- websecure
routes:
- match: Host(`landing.gigaforust.internal`)
kind: Rule
services:
- name: forust-homepage-service
port: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
@@ -56,7 +39,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`xdfnx.cfd`) || Host(`www.xdfnx.cfd`)
- match: HostRegexp(`^(xdfnx\.cfd|www\.xdfnx\.cfd)$`)
kind: Rule
services:
- name: xdfnx-homepage-service
@@ -73,24 +56,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`xdfnx.workstation.internal`)
- match: HostRegexp(`^xdfnx\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: xdfnx-homepage-service
port: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: xdfnx-homepage-dev
namespace: homepages
spec:
entryPoints:
- websecure
routes:
- match: Host(`xdfnx.gigaforust.internal`)
kind: Rule
services:
- name: xdfnx-homepage-service
port: 80
+2 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`status.forust.xyz`)
- match: HostRegexp(`^status\.forust\.xyz$`)
kind: Rule
services:
- name: kener-service
@@ -24,24 +24,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`status.workstation.internal`)
- match: HostRegexp(`^status\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: kener-service
port: 3000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: kener-dev
namespace: kener
spec:
entryPoints:
- websecure
routes:
- match: Host(`status.gigaforust.internal`)
kind: Rule
services:
- name: kener-service
port: 3000
+2 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`metube.forust.xyz`)
- match: HostRegexp(`^metube\.forust\.xyz$`)
kind: Rule
middlewares:
- name: security-headers@file
@@ -26,24 +26,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`metube.workstation.internal`)
- match: HostRegexp(`^metube\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: metube-service
port: 8081
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: metube-dev
namespace: metube
spec:
entryPoints:
- websecure
routes:
- match: Host(`metube.gigaforust.internal`)
kind: Rule
services:
- name: metube-service
port: 8081
+2 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`n8n.forust.xyz`)
- match: HostRegexp(`^n8n\.forust\.xyz$`)
kind: Rule
services:
- name: n8n-service
@@ -24,24 +24,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`n8n.workstation.internal`)
- match: HostRegexp(`^n8n\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: n8n-service
port: 5678
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: n8n-dev
namespace: n8n
spec:
entryPoints:
- websecure
routes:
- match: Host(`n8n.gigaforust.internal`)
kind: Rule
services:
- name: n8n-service
port: 5678
+2 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`nm.forust.xyz`)
- match: HostRegexp(`^nm\.forust\.xyz$`)
kind: Rule
services:
- name: netronome-service
@@ -24,24 +24,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`nm.workstation.internal`)
- match: HostRegexp(`^nm\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: netronome-service
port: 7575
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: netronome-dev
namespace: netronome
spec:
entryPoints:
- websecure
routes:
- match: Host(`nm.gigaforust.internal`)
kind: Rule
services:
- name: netronome-service
port: 7575
+4 -39
View File
@@ -8,7 +8,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`nextcloud.forust.xyz`)
- match: HostRegexp(`^nextcloud\.forust\.xyz$`)
kind: Rule
middlewares:
- name: nextcloud-chain@file
@@ -27,25 +27,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`nextcloud.workstation.internal`)
kind: Rule
middlewares:
- name: nextcloud-chain@file
services:
- name: nextcloud-apache
port: 11000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: nextcloud-dev
namespace: nextcloud
spec:
entryPoints:
- websecure
routes:
- match: Host(`nextcloud.gigaforust.internal`)
- match: HostRegexp(`^nextcloud\.(workstation|gigaforust)\.internal$`)
kind: Rule
middlewares:
- name: nextcloud-chain@file
@@ -64,7 +46,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`naio.forust.xyz`)
- match: HostRegexp(`^naio\.forust\.xyz$`)
kind: Rule
services:
- name: nextcloud-aio
@@ -83,7 +65,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`naio.workstation.internal`)
- match: HostRegexp(`^naio\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: nextcloud-aio
@@ -91,20 +73,3 @@ spec:
scheme: https
serversTransport: insecure-transport
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: naio-dev
namespace: nextcloud
spec:
entryPoints:
- websecure
routes:
- match: Host(`naio.gigaforust.internal`)
kind: Rule
services:
- name: nextcloud-aio
port: 8888
scheme: https
serversTransport: insecure-transport
+2 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`portainer.forust.xyz`)
- match: HostRegexp(`^portainer\.forust\.xyz$`)
kind: Rule
services:
- name: portainer-service
@@ -24,24 +24,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`portainer.workstation.internal`)
- match: HostRegexp(`^portainer\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: portainer-service
port: 9000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: portainer-dev
namespace: portainer
spec:
entryPoints:
- websecure
routes:
- match: Host(`portainer.gigaforust.internal`)
kind: Rule
services:
- name: portainer-service
port: 9000
+2 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`s.forust.xyz`) || Host(`searxng.forust.xyz`)
- match: HostRegexp(`^(s|searxng)\.forust\.xyz$`)
kind: Rule
services:
- name: searxng-service
@@ -24,24 +24,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`s.workstation.internal`) || Host(`searxng.workstation.internal`)
- match: HostRegexp(`^(s|searxng)\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: searxng-service
port: 8080
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: searxng-dev
namespace: searxng
spec:
entryPoints:
- websecure
routes:
- match: Host(`searxng.gigaforust.internal`)
kind: Rule
services:
- name: searxng-service
port: 8080
+2 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`termix.forust.xyz`)
- match: HostRegexp(`^termix\.forust\.xyz$`)
kind: Rule
services:
- name: termix-service
@@ -24,24 +24,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`termix.workstation.internal`)
- match: HostRegexp(`^termix\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: termix-service
port: 8080
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: termix-dev
namespace: termix
spec:
entryPoints:
- websecure
routes:
- match: Host(`termix.gigaforust.internal`)
kind: Rule
services:
- name: termix-service
port: 8080
+2 -17
View File
@@ -8,7 +8,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`traefik.forust.xyz`)
- match: HostRegexp(`^traefik\.forust\.xyz$`)
kind: Rule
services:
- name: api@internal
@@ -25,24 +25,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`traefik.workstation.internal`)
- match: HostRegexp(`^traefik\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: api@internal
kind: TraefikService
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: dashboard-dev
namespace: traefik
spec:
entryPoints:
- websecure
routes:
- match: Host(`traefik.gigaforust.internal`)
kind: Rule
services:
- name: api@internal
kind: TraefikService
+2 -17
View File
@@ -7,7 +7,7 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`uptime.forust.xyz`)
- match: HostRegexp(`^uptime\.forust\.xyz$`)
kind: Rule
services:
- name: uptime-kuma-service
@@ -24,24 +24,9 @@ spec:
entryPoints:
- websecure
routes:
- match: Host(`uptime.workstation.internal`)
- match: HostRegexp(`^uptime\.(workstation|gigaforust)\.internal$`)
kind: Rule
services:
- name: uptime-kuma-service
port: 3001
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: uptime-kuma-dev
namespace: uptime-kuma
spec:
entryPoints:
- websecure
routes:
- match: Host(`uptime.gigaforust.internal`)
kind: Rule
services:
- name: uptime-kuma-service
port: 3001