Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 931bfcf923 |
@@ -1,11 +1,9 @@
|
|||||||
---
|
---
|
||||||
# External (DMZ) front for the arrstack, served on arrstack.unkin.net via the
|
# External (DMZ) front for the arrstack, served on arrstack.unkin.net via the
|
||||||
# external Traefik (LB VIP 198.18.199.0). The apex arrstack.unkin.net A record
|
# external Traefik (LB VIP 198.18.199.0). cert-manager mints arrproxy-gateway-tls
|
||||||
# lives in the bind-operator unkin.net zone (bind-internal/authoritative), NOT
|
# (CN arrstack.unkin.net) off the internal Vault-PKI CA. The apex arrstack.unkin.net
|
||||||
# external-dns, so no external-dns annotation here. Public TLS is terminated with
|
# A record lives in the bind-operator unkin.net zone (bind-internal/authoritative),
|
||||||
# the real Let's Encrypt *.unkin.net wildcard, centrally minted once in the
|
# NOT external-dns, so no external-dns annotation here.
|
||||||
# cert-manager namespace (Certificate wildcard-unkin-net) and reflected into this
|
|
||||||
# namespace by the emberstack reflector as wildcard-unkin-net-tls, not Vault PKI.
|
|
||||||
apiVersion: gateway.networking.k8s.io/v1
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
kind: Gateway
|
kind: Gateway
|
||||||
metadata:
|
metadata:
|
||||||
@@ -13,6 +11,9 @@ metadata:
|
|||||||
traefik.io/instance: external
|
traefik.io/instance: external
|
||||||
annotations:
|
annotations:
|
||||||
argocd.argoproj.io/sync-wave: "2"
|
argocd.argoproj.io/sync-wave: "2"
|
||||||
|
cert-manager.io/cluster-issuer: vault-issuer
|
||||||
|
cert-manager.io/common-name: arrstack.unkin.net
|
||||||
|
cert-manager.io/private-key-size: "4096"
|
||||||
name: arrproxy
|
name: arrproxy
|
||||||
namespace: arrstack
|
namespace: arrstack
|
||||||
spec:
|
spec:
|
||||||
@@ -37,4 +38,4 @@ spec:
|
|||||||
certificateRefs:
|
certificateRefs:
|
||||||
- group: ""
|
- group: ""
|
||||||
kind: Secret
|
kind: Secret
|
||||||
name: wildcard-unkin-net-tls
|
name: arrproxy-gateway-tls
|
||||||
|
|||||||
@@ -1,47 +1,4 @@
|
|||||||
---
|
---
|
||||||
# External (DMZ) front for public identity.unkin.net, served via the external
|
|
||||||
# Traefik (LB VIP 198.18.199.0). The apex identity.unkin.net A record lives in
|
|
||||||
# the bind-operator unkin.net zone (bind-internal/authoritative), NOT
|
|
||||||
# external-dns, so no external-dns annotation here. Public TLS is terminated with
|
|
||||||
# the real Let's Encrypt *.unkin.net wildcard, centrally minted once in the
|
|
||||||
# cert-manager namespace (Certificate wildcard-unkin-net) and reflected into this
|
|
||||||
# namespace by the emberstack reflector as wildcard-unkin-net-tls, not Vault PKI.
|
|
||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: Gateway
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
traefik.io/instance: external
|
|
||||||
annotations:
|
|
||||||
argocd.argoproj.io/sync-wave: "2"
|
|
||||||
name: authentik
|
|
||||||
namespace: authentik
|
|
||||||
spec:
|
|
||||||
gatewayClassName: traefik-external
|
|
||||||
listeners:
|
|
||||||
- allowedRoutes:
|
|
||||||
namespaces:
|
|
||||||
from: Same
|
|
||||||
hostname: identity.unkin.net
|
|
||||||
name: http
|
|
||||||
port: 80
|
|
||||||
protocol: HTTP
|
|
||||||
- allowedRoutes:
|
|
||||||
namespaces:
|
|
||||||
from: Same
|
|
||||||
hostname: identity.unkin.net
|
|
||||||
name: https
|
|
||||||
port: 443
|
|
||||||
protocol: HTTPS
|
|
||||||
tls:
|
|
||||||
certificateRefs:
|
|
||||||
- group: ""
|
|
||||||
kind: Secret
|
|
||||||
name: wildcard-unkin-net-tls
|
|
||||||
mode: Terminate
|
|
||||||
---
|
|
||||||
# Cluster hostname variant, identity.k8s.syd1.au.unkin.net. Internal Traefik,
|
|
||||||
# external-dns at 198.18.200.4. Own leaf from the Vault PKI issuer via the
|
|
||||||
# cert-manager gateway-shim; the common-name keys off this cluster host.
|
|
||||||
apiVersion: gateway.networking.k8s.io/v1
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
kind: Gateway
|
kind: Gateway
|
||||||
metadata:
|
metadata:
|
||||||
@@ -49,11 +6,11 @@ metadata:
|
|||||||
traefik.io/instance: internal
|
traefik.io/instance: internal
|
||||||
annotations:
|
annotations:
|
||||||
cert-manager.io/cluster-issuer: vault-issuer
|
cert-manager.io/cluster-issuer: vault-issuer
|
||||||
cert-manager.io/common-name: identity.k8s.syd1.au.unkin.net
|
cert-manager.io/common-name: identity.unkin.net
|
||||||
cert-manager.io/private-key-size: "4096"
|
cert-manager.io/private-key-size: "4096"
|
||||||
external-dns.alpha.kubernetes.io/hostname: identity.k8s.syd1.au.unkin.net
|
external-dns.alpha.kubernetes.io/hostname: identity.unkin.net,identity.k8s.syd1.au.unkin.net
|
||||||
external-dns.alpha.kubernetes.io/target: 198.18.200.4
|
external-dns.alpha.kubernetes.io/target: 198.18.200.4
|
||||||
name: authentik-internal
|
name: authentik
|
||||||
namespace: authentik
|
namespace: authentik
|
||||||
spec:
|
spec:
|
||||||
gatewayClassName: traefik-internal
|
gatewayClassName: traefik-internal
|
||||||
@@ -61,14 +18,14 @@ spec:
|
|||||||
- allowedRoutes:
|
- allowedRoutes:
|
||||||
namespaces:
|
namespaces:
|
||||||
from: Same
|
from: Same
|
||||||
hostname: identity.k8s.syd1.au.unkin.net
|
hostname: identity.unkin.net
|
||||||
name: http
|
name: http
|
||||||
port: 80
|
port: 80
|
||||||
protocol: HTTP
|
protocol: HTTP
|
||||||
- allowedRoutes:
|
- allowedRoutes:
|
||||||
namespaces:
|
namespaces:
|
||||||
from: Same
|
from: Same
|
||||||
hostname: identity.k8s.syd1.au.unkin.net
|
hostname: identity.unkin.net
|
||||||
name: https
|
name: https
|
||||||
port: 443
|
port: 443
|
||||||
protocol: HTTPS
|
protocol: HTTPS
|
||||||
@@ -78,3 +35,23 @@ spec:
|
|||||||
kind: Secret
|
kind: Secret
|
||||||
name: authentik-tls
|
name: authentik-tls
|
||||||
mode: Terminate
|
mode: Terminate
|
||||||
|
- allowedRoutes:
|
||||||
|
namespaces:
|
||||||
|
from: Same
|
||||||
|
hostname: identity.k8s.syd1.au.unkin.net
|
||||||
|
name: http-internal
|
||||||
|
port: 80
|
||||||
|
protocol: HTTP
|
||||||
|
- allowedRoutes:
|
||||||
|
namespaces:
|
||||||
|
from: Same
|
||||||
|
hostname: identity.k8s.syd1.au.unkin.net
|
||||||
|
name: https-internal
|
||||||
|
port: 443
|
||||||
|
protocol: HTTPS
|
||||||
|
tls:
|
||||||
|
certificateRefs:
|
||||||
|
- group: ""
|
||||||
|
kind: Secret
|
||||||
|
name: authentik-tls
|
||||||
|
mode: Terminate
|
||||||
|
|||||||
@@ -7,11 +7,16 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
hostnames:
|
hostnames:
|
||||||
- identity.unkin.net
|
- identity.unkin.net
|
||||||
|
- identity.k8s.syd1.au.unkin.net
|
||||||
parentRefs:
|
parentRefs:
|
||||||
- group: gateway.networking.k8s.io
|
- group: gateway.networking.k8s.io
|
||||||
kind: Gateway
|
kind: Gateway
|
||||||
name: authentik
|
name: authentik
|
||||||
sectionName: http
|
sectionName: http
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: Gateway
|
||||||
|
name: authentik
|
||||||
|
sectionName: http-internal
|
||||||
rules:
|
rules:
|
||||||
- filters:
|
- filters:
|
||||||
- type: RequestRedirect
|
- type: RequestRedirect
|
||||||
@@ -31,60 +36,16 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
hostnames:
|
hostnames:
|
||||||
- identity.unkin.net
|
- identity.unkin.net
|
||||||
|
- identity.k8s.syd1.au.unkin.net
|
||||||
parentRefs:
|
parentRefs:
|
||||||
- group: gateway.networking.k8s.io
|
- group: gateway.networking.k8s.io
|
||||||
kind: Gateway
|
kind: Gateway
|
||||||
name: authentik
|
name: authentik
|
||||||
sectionName: https
|
sectionName: https
|
||||||
rules:
|
- group: gateway.networking.k8s.io
|
||||||
- backendRefs:
|
kind: Gateway
|
||||||
- group: ""
|
name: authentik
|
||||||
kind: Service
|
sectionName: https-internal
|
||||||
name: authentik-server
|
|
||||||
port: 80
|
|
||||||
weight: 1
|
|
||||||
matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
---
|
|
||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: authentik-http-redirect-internal
|
|
||||||
namespace: authentik
|
|
||||||
spec:
|
|
||||||
hostnames:
|
|
||||||
- identity.k8s.syd1.au.unkin.net
|
|
||||||
parentRefs:
|
|
||||||
- group: gateway.networking.k8s.io
|
|
||||||
kind: Gateway
|
|
||||||
name: authentik-internal
|
|
||||||
sectionName: http
|
|
||||||
rules:
|
|
||||||
- filters:
|
|
||||||
- type: RequestRedirect
|
|
||||||
requestRedirect:
|
|
||||||
scheme: https
|
|
||||||
statusCode: 301
|
|
||||||
matches:
|
|
||||||
- path:
|
|
||||||
type: PathPrefix
|
|
||||||
value: /
|
|
||||||
---
|
|
||||||
apiVersion: gateway.networking.k8s.io/v1
|
|
||||||
kind: HTTPRoute
|
|
||||||
metadata:
|
|
||||||
name: authentik-internal
|
|
||||||
namespace: authentik
|
|
||||||
spec:
|
|
||||||
hostnames:
|
|
||||||
- identity.k8s.syd1.au.unkin.net
|
|
||||||
parentRefs:
|
|
||||||
- group: gateway.networking.k8s.io
|
|
||||||
kind: Gateway
|
|
||||||
name: authentik-internal
|
|
||||||
sectionName: https
|
|
||||||
rules:
|
rules:
|
||||||
- backendRefs:
|
- backendRefs:
|
||||||
- group: ""
|
- group: ""
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ spec:
|
|||||||
type: A
|
type: A
|
||||||
ttl: 600
|
ttl: 600
|
||||||
values:
|
values:
|
||||||
# traefik-EXTERNAL (DMZ) gateway VIP; the authentik Gateway serves the
|
# traefik-internal gateway VIP; the authentik Gateway serves the
|
||||||
# identity.unkin.net hostname there.
|
# identity.unkin.net hostname there.
|
||||||
- 198.18.199.0
|
- 198.18.200.4
|
||||||
---
|
---
|
||||||
# PRODUCTION CUTOVER RECORD — intentionally commented out.
|
# PRODUCTION CUTOVER RECORD — intentionally commented out.
|
||||||
# git.unkin.net currently resolves to the LIVE VM forge (HAProxy VRRP VIP
|
# git.unkin.net currently resolves to the LIVE VM forge (HAProxy VRRP VIP
|
||||||
@@ -135,21 +135,6 @@ spec:
|
|||||||
---
|
---
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
apiVersion: bind.unkin.net/v1alpha1
|
||||||
kind: DNSRecord
|
kind: DNSRecord
|
||||||
metadata:
|
|
||||||
name: cheeztv-dns-internal
|
|
||||||
namespace: bind-internal
|
|
||||||
spec:
|
|
||||||
zoneRef: unkin-net
|
|
||||||
name: cheeztv
|
|
||||||
type: A
|
|
||||||
ttl: 600
|
|
||||||
values:
|
|
||||||
# traefik-internal gateway VIP; the cheeztv Gateway serves cheeztv.unkin.net
|
|
||||||
# there.
|
|
||||||
- 198.18.200.4
|
|
||||||
---
|
|
||||||
apiVersion: bind.unkin.net/v1alpha1
|
|
||||||
kind: DNSRecord
|
|
||||||
metadata:
|
metadata:
|
||||||
name: watchstate-dns-internal
|
name: watchstate-dns-internal
|
||||||
namespace: bind-internal
|
namespace: bind-internal
|
||||||
|
|||||||
@@ -14,9 +14,9 @@ spec:
|
|||||||
secretTemplate:
|
secretTemplate:
|
||||||
annotations:
|
annotations:
|
||||||
reflector.v1.k8s.emberstack.com/reflection-allowed: "true"
|
reflector.v1.k8s.emberstack.com/reflection-allowed: "true"
|
||||||
reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces: "cheeztv,arrstack,authentik,gitea,watchstate"
|
reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces: "cheeztv"
|
||||||
reflector.v1.k8s.emberstack.com/reflection-auto-enabled: "true"
|
reflector.v1.k8s.emberstack.com/reflection-auto-enabled: "true"
|
||||||
reflector.v1.k8s.emberstack.com/reflection-auto-namespaces: "cheeztv,arrstack,authentik,gitea,watchstate"
|
reflector.v1.k8s.emberstack.com/reflection-auto-namespaces: "cheeztv"
|
||||||
privateKey:
|
privateKey:
|
||||||
size: 4096
|
size: 4096
|
||||||
dnsNames:
|
dnsNames:
|
||||||
|
|||||||
Reference in New Issue
Block a user