ghp: serve at ghp.unkin.net (gateway + cert + httproute + DNS) #360
Reference in New Issue
Block a user
Delete Branch "benvin/ghp-unkin-net"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
Make
ghp.unkin.netthe primary URL that the ghp app responds to. Until now ghp has only been reachable at the internal admin nameghp.k8s.syd1.au.unkin.net; this promotes the apexunkin.netname to canonical (mirroring the gitea apex pattern) while keeping the k8s name as the admin/internal route.How
apps/base/ghp/gateway.yaml— addghp.unkin.netas the PRIMARY http/https listeners (http-primary/https-primary) and keepghp.k8s.syd1.au.unkin.netas the admin route (http-admin/https-admin), mirroring gitea. Add the cert-manager gateway annotations (cluster-issuer: vault-issuer,common-name: ghp.unkin.net,private-key-size: "4096") so cert-manager mints a NEWghp-gateway-tlsSecret with CNghp.unkin.net+ a SAN per TLS listener hostname (so it also covers the k8s host). Both https listeners'certificateRefspoint atghp-gateway-tls. This is a separate Secret fromghp-tls(ghp's own GitHub-impersonation cert), so cert-manager never fights over it. external-dns annotation stays scoped to the k8s host only — the apex is not published by external-dns.apps/base/ghp/httproute.yaml— addghp.unkin.nettohostnames; updateparentRefsto attach to the renamedhttp-primary/http-admin/https-primary/https-adminsections.apps/base/ghp/configmap.yaml— setGHP_SERVER_MANAGEMENT_HOST: ghp.unkin.netandGHP_SERVER_BASE_URL: https://ghp.unkin.net, so ghp serves its mgmt UI on that Host and OAuth callbacks use the new base.apps/base/bind-internal/authoritative/records.yaml— add a bind-operatorDNSRecordghp-dns-internalforghp.unkin.net-> A 198.18.200.4 (traefik-internal gateway VIP), mirroring the activeidentity-dns-internalrecord in the same file.⚠️ NOTE — GitHub App OAuth callback must be updated on github.com
The GitHub App's OAuth callback URL must be changed on github.com to
https://ghp.unkin.net/auth/github/callback. It was set to the k8s host in the runbook; OAuth login will break until this is updated.Note on DNS authority
The bind-operator apex
unkin.netzone comments warn that some apex names may still be served by the puppet DNS master (records from PuppetDB), with the k8s bind cluster not yet confirmed as the live authority forunkin.net. This DNSRecord mirrors the already-activeidentity/lb1apex records in the same file, so it is consistent with them — but if the k8s bind cluster is not the live authority forunkin.net,ghp.unkin.netwill not resolve from this Record alone and the puppet master record must be added instead.Validation
kustomize buildof the ghp and bind-internal overlays render clean; kubeconform (strict) valid; yamllint + pre-commit clean. Not applied.