feat(gateway): Switch public sites over to Gateway instead of Traefik IngressRoute

This commit is contained in:
Vegard Hagen
2023-12-30 13:19:06 +01:00
parent b066e54304
commit 6a3fffb8c3
18 changed files with 110 additions and 27 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: jellyfin-http-route
name: jellyfin
spec:
parentRefs:
- name: cilium-gateway
+1 -1
View File
@@ -19,5 +19,5 @@ resources:
- pvc-jellyfin-media.yaml
- service.yaml
- deployment.yaml
- ingress.yaml
# - ingress.yaml
- http-route.yaml
+1 -1
View File
@@ -19,5 +19,5 @@ resources:
- pvc-plex-media.yaml
- service.yaml
- deployment.yaml
- ingress.yaml
# - ingress.yaml
- http-route.yaml
+18
View File
@@ -0,0 +1,18 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: blog-http-route
spec:
parentRefs:
- name: cilium-gateway
namespace: gateway
hostnames:
- "blog.stonegarden.dev"
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- name: blog
port: 80
+1
View File
@@ -6,6 +6,7 @@ commonLabels:
resources:
- remark42
- http-route.yaml
helmGlobals:
chartHome: ../../../charts
+18
View File
@@ -0,0 +1,18 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: remark42-http-route
spec:
parentRefs:
- name: cilium-gateway
namespace: gateway
hostnames:
- "remark42.stonegarden.dev"
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- name: remark42-web
port: 80
+2 -1
View File
@@ -11,7 +11,8 @@ configMapGenerator:
resources:
- deployment.yaml
- ingress-route.yaml
# - ingress-route.yaml
- http-route.yaml
- pv.yaml
- pvc.yaml
- secret-github.yaml
+18
View File
@@ -0,0 +1,18 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: jellyfin-http-route
spec:
parentRefs:
- name: cilium-gateway
namespace: gateway
hostnames:
- "stonegarden.dev"
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- name: stonegarden
port: 3000
+3 -1
View File
@@ -5,6 +5,8 @@ commonLabels:
app: stonegarden
resources:
- ns.yaml
- service.yaml
- deployment.yaml
- ingress.yaml
# - ingress.yaml
- http-route.yaml
+6
View File
@@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
name: stonegarden
labels:
dev.stonegarden.app: homepage
+1 -2
View File
@@ -3,9 +3,8 @@ kind: Kustomization
namespace: whoami
resources:
# - issuer.yaml
# - ingress.yaml
- ingress-route.yaml
# - ingress-route.yaml
- http-route.yaml
- traefik-forward-auth
- whoami
+2 -1
View File
@@ -11,7 +11,8 @@ resources:
helmCharts:
- name: cilium
repo: https://helm.cilium.io
version: 1.14.5
version: 1.15.0-rc.0
releaseName: "cilium"
includeCRDs: true
namespace: kube-system
valuesFile: values.yaml
-3
View File
@@ -18,9 +18,6 @@ rollOutCiliumPods: true
#debug:
# enabled: true
image:
tag: "v1.15.0-rc.0"
# Increase rate limit when doing L2 announcements
k8sClientRateLimit:
qps: 100
+17 -5
View File
@@ -5,16 +5,11 @@ metadata:
namespace: gateway
annotations:
cert-manager.io/issuer: cloudflare-issuer
io.cilium/lb-ipam-ips: 192.168.1.172
spec:
gatewayClassName: cilium
infrastructure:
labels:
test-label: test-label
annotations:
io.cilium/lb-ipam-ips: 192.168.1.172
addresses:
- value: 192.168.1.172
listeners:
- protocol: HTTPS
port: 443
@@ -27,3 +22,20 @@ spec:
allowedRoutes:
namespaces:
from: All
- protocol: HTTPS
port: 443
name: https-domain-gateway
hostname: stonegarden.dev
tls:
certificateRefs:
- kind: Secret
name: cloudflare-domain-cert
allowedRoutes:
namespaces:
from: All
# allowedRoutes:
# namespaces:
# from: Selector
# selector:
# matchLabels:
# dev.stonegarden.app: homepage
+1
View File
@@ -3,6 +3,7 @@ kind: Kustomization
resources:
- https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/experimental-install.yaml
# - https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/standard-install.yaml
- gateway-class.yaml
- ns.yaml
- cloudflare-api-token.yaml
+13 -4
View File
@@ -19,16 +19,25 @@ ingress:
- aud1 d34ec64c62e56195ac6158dbfbeae62155d110f5c3a3b7e949572916dc57a6f3
- hostname: ssh.stonegarden.dev
service: ssh://192.168.1.12:22
- hostname: blog.stonegarden.dev
service: https://cilium-gateway-cilium-gateway.gateway.svc.cluster.local:443
originRequest:
originServerName: blog.stonegarden.dev
- hostname: remark42.stonegarden.dev
service: https://cilium-gateway-cilium-gateway.gateway.svc.cluster.local:443
originRequest:
originServerName: remark42.stonegarden.dev
- hostname: gateway.stonegarden.dev
service: https://cilium-gateway-cilium-gateway.gateway.svc.cluster.local:443
originRequest:
originServerName: "*.stonegarden.dev"
originServerName: gateway.stonegarden.dev
- hostname: stonegarden.dev
service: https://traefik.traefik.svc.cluster.local:443
service: https://cilium-gateway-cilium-gateway.gateway.svc.cluster.local:443
#service: https://traefik.traefik.svc.cluster.local:443
originRequest:
originServerName: "*.stonegarden.dev"
originServerName: stonegarden.dev
- hostname: "*.stonegarden.dev"
service: https://traefik.traefik.svc.cluster.local:443
originRequest:
originServerName: stonegarden.dev
originServerName: "*.stonegarden.dev"
- service: http_status:404
+3 -3
View File
@@ -1,5 +1,5 @@
address=/stonegarden.dev/192.168.1.142
address=/gateway.stonegarden.dev/192.168.1.219
address=/jellyfin.stonegarden.dev/192.168.1.219
address=/plex.stonegarden.dev/192.168.1.219
address=/gateway.stonegarden.dev/192.168.1.172
address=/jellyfin.stonegarden.dev/192.168.1.172
address=/plex.stonegarden.dev/192.168.1.172
edns-packet-max=1232
+3 -3
View File
@@ -1,5 +1,5 @@
address=/stonegarden.dev/192.168.1.142
address=/gateway.stonegarden.dev/192.168.1.219
address=/jellyfin.stonegarden.dev/192.168.1.219
address=/plex.stonegarden.dev/192.168.1.219
address=/gateway.stonegarden.dev/192.168.1.172
address=/jellyfin.stonegarden.dev/192.168.1.172
address=/plex.stonegarden.dev/192.168.1.172
edns-packet-max=1232