fix(gateway): recover DNS intent after endpoint deletion - #5
Conversation
|
Release candidate: appthrust/dns-api v0.2.8
|
Merge and release tracking result
Registry readback
Important artifact acceptance failureARM64 is NOT ready: its /manager binary is x86-64, confirmed by extracting the executable from the ARM64 manifest. Tracked with exact evidence in #6 . Workflow success and manifest platform labels are not sufficient architecture acceptance. The published tag was not overwritten or rerun. The Gateway DNS recovery source and local AMD64 image/Kind scenario passed. Test-owned Kind cluster, kubeconfig, and stopped inspection container were cleaned up. No shared/live deployment, Payment DNS mutation, ARM64 runtime certification, or Platform signed-catalog certification was performed. |
Problem
A generated Gateway EndpointRecordSet can still be terminating when an HTTPRoute becomes accepted again. The source controller updates the terminating object and returns success; when provider cleanup removes its finalizer, the intent disappears. Only Route/Gateway events were watched, so an otherwise healthy publication can remain without DNS indefinitely.
Observed on payment.appthrust.dev: HTTPRoute Accepted/ResolvedRefs and Gateway addresses were current, but generated endpoint and Core records were absent. The exact live deletion ordering remains an inference; the controller failure class was reproduced locally.
Change
No public API, RBAC, provider cleanup, or publication-authority changes. No direct live DNS changes.
Verification
Development-only, Kubernetes 1.36.0 envtest with the real controller-runtime manager/cache/watch:
Throwaway envtest scaffolding was removed after verification. Existing source CI provides broader integration checks. No release/certification or live deployment performed.