feat: lan-only + force-ssl for argocd/authentik/adguard labzand.com ingresses
ipAllowList middleware (192.168.0.0/16) on the websecure routers blocks external access; separate IngressRoute on web 301-redirects http->https. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <[email protected]>
This commit is contained in:
@@ -85,6 +85,10 @@ kind: Ingress
|
||||
metadata:
|
||||
name: adguard
|
||||
namespace: adguard
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||
traefik.ingress.kubernetes.io/router.middlewares: adguard-lan-only@kubernetescrd
|
||||
spec:
|
||||
rules:
|
||||
- host: adguard.labzand.com
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# HTTP (entrypoint web) -> HTTPS redirect voor adguard.labzand.com.
|
||||
# services: api@internal is een dummy - de redirect middleware stuurt
|
||||
# nooit door naar een backend.
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: adguard-redirect
|
||||
namespace: adguard
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
routes:
|
||||
- match: Host(`adguard.labzand.com`)
|
||||
kind: Rule
|
||||
middlewares:
|
||||
- name: redirect-https
|
||||
services:
|
||||
- name: api@internal
|
||||
kind: TraefikService
|
||||
@@ -0,0 +1,23 @@
|
||||
# Middlewares voor adguard.labzand.com (alleen intern):
|
||||
# - redirect-https: http (web) -> https
|
||||
# - lan-only: blokkeert verkeer van buiten het LAN op de websecure-router
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: redirect-https
|
||||
namespace: adguard
|
||||
spec:
|
||||
redirectScheme:
|
||||
scheme: https
|
||||
permanent: true
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: lan-only
|
||||
namespace: adguard
|
||||
spec:
|
||||
ipAllowList:
|
||||
sourceRange:
|
||||
- 192.168.0.0/16
|
||||
- 127.0.0.1/32
|
||||
@@ -3,7 +3,12 @@ kind: Ingress
|
||||
metadata:
|
||||
name: argocd
|
||||
namespace: argocd
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||
traefik.ingress.kubernetes.io/router.middlewares: argocd-lan-only@kubernetescrd
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: argocd.labzand.com
|
||||
http:
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# HTTP (entrypoint web) -> HTTPS redirect voor argocd.labzand.com.
|
||||
# services: api@internal is een dummy - de redirect middleware stuurt
|
||||
# nooit door naar een backend.
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: argocd-redirect
|
||||
namespace: argocd
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
routes:
|
||||
- match: Host(`argocd.labzand.com`)
|
||||
kind: Rule
|
||||
middlewares:
|
||||
- name: redirect-https
|
||||
services:
|
||||
- name: api@internal
|
||||
kind: TraefikService
|
||||
@@ -0,0 +1,23 @@
|
||||
# Middlewares voor argocd.labzand.com (alleen intern):
|
||||
# - redirect-https: http (web) -> https
|
||||
# - lan-only: blokkeert verkeer van buiten het LAN op de websecure-router
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: redirect-https
|
||||
namespace: argocd
|
||||
spec:
|
||||
redirectScheme:
|
||||
scheme: https
|
||||
permanent: true
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: lan-only
|
||||
namespace: argocd
|
||||
spec:
|
||||
ipAllowList:
|
||||
sourceRange:
|
||||
- 192.168.0.0/16
|
||||
- 127.0.0.1/32
|
||||
@@ -6,6 +6,7 @@ metadata:
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||
traefik.ingress.kubernetes.io/router.middlewares: authentik-lan-only@kubernetescrd
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Middleware voor auth.labzand.com (alleen intern): blokkeert verkeer
|
||||
# van buiten het LAN op de websecure-router.
|
||||
# (redirect-https staat in redirect.yaml)
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: lan-only
|
||||
namespace: authentik
|
||||
spec:
|
||||
ipAllowList:
|
||||
sourceRange:
|
||||
- 192.168.0.0/16
|
||||
- 127.0.0.1/32
|
||||
@@ -0,0 +1,27 @@
|
||||
# HTTP (entrypoint web) -> HTTPS redirect voor auth.labzand.com.
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: redirect-https
|
||||
namespace: authentik
|
||||
spec:
|
||||
redirectScheme:
|
||||
scheme: https
|
||||
permanent: true
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: auth-redirect
|
||||
namespace: authentik
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
routes:
|
||||
- match: Host(`auth.labzand.com`)
|
||||
kind: Rule
|
||||
middlewares:
|
||||
- name: redirect-https
|
||||
services:
|
||||
- name: api@internal
|
||||
kind: TraefikService
|
||||
Reference in New Issue
Block a user