feat(tls): internal CA wildcard for *.internal routes
ci / lint-prettier (push) Successful in 2s
ci / lint-ruff (push) Successful in 0s
ci / lint-yaml (push) Successful in 2s
ci / lint-dockerfiles (push) Successful in 1s
ci / validate (push) Successful in 1s
ci / build (push) Skipped
ci / deploy-userbot-panel (push) Skipped

Selfsigned root (10y) + internal-ca issuer; per-namespace
internal-wildcard-tls certs referenced by all -local routers.
Root public cert committed for client trust stores.
This commit is contained in:
forust committed 2026-09-23 14:45:05 +02:00
1 parent f29bb3d580
commit bc1e69ebe0
51 files changed
+528 -25

No files matched your search

+16
View File
@@ -10,3 +10,19 @@ spec:
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: internal-wildcard-tls
namespace: traefik
spec:
secretName: internal-wildcard-tls
dnsNames:
- "*.workstation.internal"
- "*.gigaforust.internal"
- workstation.internal
- gigaforust.internal
issuerRef:
name: internal-ca
kind: ClusterIssuer
+2
View File
@@ -33,3 +33,5 @@ spec:
services:
- name: api@internal
kind: TraefikService
tls:
secretName: internal-wildcard-tls
+1 -5
View File
@@ -121,11 +121,7 @@ persistence:
size: 100Mi
path: /data
# NOTE: no certificatesResolvers — public TLS is issued by cert-manager
# (see cert-manager/k8s/clusterissuer.yaml and per-service certificates.yaml).
# Traefik must not run its own ACME httpChallenge: its internal
# acme-http@internal router hijacks /.well-known/acme-challenge/ for every
# host and breaks external HTTP-01 solvers.
# No certificatesResolvers: public TLS comes from cert-manager.
volumes:
- name: traefik-dynamic