Serve every tool on deployshed.com instead of nip.io
Harbor, Gitea, Argo CD, Jenkins, Vault, Grafana and vmui now answer on their deployshed.com names alone. Each was already serving both while the move was proved out; this removes the nip.io half. The dual-hostname workarounds go with it. Jenkins' secondaryingress existed only because its chart's primary ingress takes one hostName and a certificate could not span both names — the real domain moves onto the primary with jenkins-tls, which it already holds. Argo CD gets extraTls rather than ingress.tls, because the boolean hardcodes secretName argocd-server-tls and would request a second certificate for a name that already has a valid one in argocd-deployshed-tls. Harbor also changes in two ways beyond the hostname: - externalURL moves to https://harbor.infra.deployshed.com. Harbor hands this to docker clients in its own API responses and builds the push commands shown in its UI from it, so a stale value is what makes a correctly-configured registry still advertise the old address. - updateStrategy is now Recreate. Its jobservice and registry volumes are standard-rwo (ReadWriteOnce), and a RollingUpdate starts the new pod before the old one releases the disk, so the replacement hangs forever on Multi-Attach. The cluster was sitting in exactly that state, old pods serving while new ones stayed in ContainerCreating. The chart's own comment on this value recommends Recreate when RWM is unavailable. The cost is a brief outage during upgrades, which beats a rollout that cannot complete. The private registry CA is not removed yet. Apps deployed before this move recorded nip.io image references that only change when each is rebuilt, so the old hostname stays served by a standalone Ingress until then. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LEsTefWWifp4ikvhHF5s6N
This commit is contained in:
co-authored by
Claude Opus 5
parent
df3e0a41af
commit
61bc4af1a0
@@ -35,10 +35,16 @@ contour:
|
||||
type: LoadBalancer
|
||||
|
||||
# The reserved address from Terraform (module.network's
|
||||
# google_compute_address). Every hostname in this deployment is
|
||||
# <name>.35.238.248.203.nip.io, so this pin is what makes DNS work at
|
||||
# all — an unpinned Service takes a fresh ephemeral IP and every
|
||||
# hostname points at nothing.
|
||||
# google_compute_address). Every hostname in this deployment — the
|
||||
# deployshed.com records, including the two wildcards — resolves here,
|
||||
# so this pin is what makes DNS work at all: an unpinned Service takes
|
||||
# a fresh ephemeral IP and every hostname points at nothing.
|
||||
#
|
||||
# More load-bearing now, not less, than when hostnames were
|
||||
# <name>.35.238.248.203.nip.io. Those encoded the address, so a changed
|
||||
# IP produced names that were merely wrong. Real DNS records point here
|
||||
# until somebody edits them in Cloudflare, so a changed IP is an
|
||||
# outage across every hostname at once.
|
||||
#
|
||||
# spec.loadBalancerIP is deprecated upstream (Kubernetes 1.24), and
|
||||
# GKE's replacement is the annotation
|
||||
|
||||
Reference in New Issue
Block a user