fix(k8s): drop the stale hand-delete instruction from zombie retirement #919

Merged
coilyco-ops merged 2 commits from ops/914-drop-stale-dns-instruction into main 2026-08-25 02:47:44 +00:00
Member

Follow-on to the #914 deletions, which are applied. The closing message in retire-zombie-namespaces.sh told a future operator to hand-delete two Route53 records that no longer exist.

Before

echo "ExternalDNS is upsert-only. Delete the eco-mcp.coilysiren.me and"
echo "eco-jobs-tracker.coilysiren.me records in Route 53 by hand."

After

echo "The eco-mcp and eco-jobs-tracker records are already gone (infra#914)."
echo "ExternalDNS is upsert-only, so retiring a namespace never removes its"
echo "DNS. Drop the record from terraform/aws-inventory and apply, targeted."

The lesson worth keeping is that ExternalDNS being upsert-only is why retiring a namespace leaves its DNS behind. What changed is the mechanism it points at.

"By hand" was never quite right for these two. No extdns-a-* ownership TXT ever existed for either, so ExternalDNS never managed them. terraform/aws-inventory did, which is exactly why they sat in tfstate as pending destroys. The removal is a targeted apply, not a console edit.

pre-commit run --all-files green, shellcheck included.

🤖 Generated with Claude Code

Follow-on to the #914 deletions, which are applied. The closing message in `retire-zombie-namespaces.sh` told a future operator to hand-delete two Route53 records that no longer exist. ## Before ``` echo "ExternalDNS is upsert-only. Delete the eco-mcp.coilysiren.me and" echo "eco-jobs-tracker.coilysiren.me records in Route 53 by hand." ``` ## After ``` echo "The eco-mcp and eco-jobs-tracker records are already gone (infra#914)." echo "ExternalDNS is upsert-only, so retiring a namespace never removes its" echo "DNS. Drop the record from terraform/aws-inventory and apply, targeted." ``` The lesson worth keeping is that ExternalDNS being upsert-only is why retiring a namespace leaves its DNS behind. What changed is the mechanism it points at. "By hand" was never quite right for these two. No `extdns-a-*` ownership TXT ever existed for either, so ExternalDNS never managed them. `terraform/aws-inventory` did, which is exactly why they sat in tfstate as pending destroys. The removal is a targeted apply, not a console edit. `pre-commit run --all-files` green, shellcheck included. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(k8s): drop the stale hand-delete instruction from zombie retirement
All checks were successful
TruffleHog / Scan for secrets (pull_request) Successful in 4s
CI / lint (pull_request) Successful in 41s
27ae2a5474
The eco-mcp and eco-jobs-tracker A records are deleted (infra#914), so
the closing message told a future operator to do something already done.

Keep the lesson it was carrying, since ExternalDNS being upsert-only is
still why retiring a namespace leaves its DNS behind, and point at the
mechanism that actually owns those records now. They were never
ExternalDNS-managed: no extdns-a-* ownership TXT ever existed for either.
terraform/aws-inventory owns them, so the removal is a targeted apply
rather than a console edit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Agent-Role: sysadmin
Merge branch 'main' into ops/914-drop-stale-dns-instruction
All checks were successful
TruffleHog / Scan for secrets (pull_request) Successful in 4s
CI / lint (pull_request) Successful in 41s
d388f747cb
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/infrastructure!919
No description provided.