feat(homelab)!: create interface for homelab management, use templating for route generation & support more options and route types

This commit is contained in:
2026-01-11 14:57:19 -08:00
parent 29cff3bf84
commit 1f43dff2c5
46 changed files with 3908 additions and 109 deletions

View File

@@ -5,6 +5,7 @@ resources:
- ./metallb/pool.yaml
- ./traefik/config.yaml
- ./traefik/private-networks.yaml
- ./traefik/private-networks-tcp.yaml
- ./traefik/chains.yaml
- ./cert-manager/config.yaml
- ./routes.yaml

View File

@@ -130,6 +130,23 @@ spec:
- name: minecraft-router-mc-router
port: 25565
---
apiVersion: traefik.io/v1alpha1
kind: IngressRouteTCP
metadata:
name: minecraft-rcon
namespace: minecraft
spec:
entryPoints:
- rcon
routes:
- match: HostSNI(`*`)
middlewares:
- name: private-networks-tcp
namespace: kube-system
services:
- name: minecraft-main-rcon
port: 25575
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:

View File

@@ -36,6 +36,12 @@ spec:
default: true
exposedPort: 25565
protocol: TCP
rcon:
port: 25575
expose:
default: true
exposedPort: 25575
protocol: TCP
persistence:
enabled: true

View File

@@ -0,0 +1,12 @@
apiVersion: traefik.io/v1alpha1
kind: MiddlewareTCP
metadata:
name: private-networks-tcp
namespace: kube-system
spec:
ipAllowList:
sourceRange:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
- 100.64.0.0/10