Files
argocd-apps/apps/base/pdbmux/gateway.yaml
T
unkinben b82ae4d935
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful
pdbmux: deploy the merging PuppetDB proxy in-cluster
node-lookup (and pblastreport) need a single merged view over the two PuppetDBs
that coexist during the VM -> k8s Puppet migration. pdbmux provides that merged
PuppetDB v4 surface. Per the all-in-kubernetes direction it runs in-cluster
rather than as a per-VM systemd service.

- Add apps/base/pdbmux/ (namespace, configmap, deployment, service, gateway,
  httproute) modeled on the encapi app.
- Deployment: 2 replicas, image git.unkin.net/unkin/pdbmux:v0.6.0, port 8080,
  /healthz liveness+readiness, PDBMUX_* env from a configmap. Backends: old =
  http://puppetdbapi.service.consul:8080, new =
  http://puppetdb.puppet.svc.cluster.local:8080 (in-cluster, preferred); new is
  primary/prefer.
- Expose over HTTPS at pdbmux.k8s.syd1.au.unkin.net via a traefik-internal
  Gateway (cert-manager vault-issuer, external-dns), plain-HTTP backend, same
  shape as the puppetdb/encapi gateways, so VM/workstation node-lookup can reach
  it.
- Add apps/overlays/au-syd1/pdbmux/ and wire it into the platform
  ApplicationSet + AppProject (pdbmux namespace destination), as encapi is.
2026-07-24 23:12:03 +10:00

38 lines
968 B
YAML

---
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
labels:
traefik.io/instance: internal
annotations:
cert-manager.io/cluster-issuer: vault-issuer
cert-manager.io/common-name: pdbmux.k8s.syd1.au.unkin.net
cert-manager.io/private-key-size: "4096"
external-dns.alpha.kubernetes.io/hostname: pdbmux.k8s.syd1.au.unkin.net
external-dns.alpha.kubernetes.io/target: 198.18.200.4
name: pdbmux
namespace: pdbmux
spec:
gatewayClassName: traefik-internal
listeners:
- allowedRoutes:
namespaces:
from: Same
hostname: pdbmux.k8s.syd1.au.unkin.net
name: http
port: 80
protocol: HTTP
- allowedRoutes:
namespaces:
from: Same
hostname: pdbmux.k8s.syd1.au.unkin.net
name: https
port: 443
protocol: HTTPS
tls:
certificateRefs:
- group: ""
kind: Secret
name: pdbmux-tls
mode: Terminate