fix(destroy-addons): dynamic addon discovery and composition deletion ordering#641
Open
punkwalker wants to merge 2 commits into
Open
fix(destroy-addons): dynamic addon discovery and composition deletion ordering#641punkwalker wants to merge 2 commits into
punkwalker wants to merge 2 commits into
Conversation
…m abstractions External-dns was CrashLoopBackOff on the hub because the default liveness probe (10s initial, 2 failures) killed it before Route53 zone listing completed. Increase to 60s initial / 5 failures. Exclude aws-resources directory from the abstractions ApplicationSet git generator to prevent deploying the unused aws-resources app. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
… ordering - Replace static registry-based addon list with dynamic kubectl query from hub cluster - Add Phase 4.5 to stop agent-platform AppSet regeneration before addon deletion - Use ownerReference for child app detection (works for unlabeled apps) - Skip wait loops when no child apps exist (avoids 30s timeouts on disabled addons) - Remove all ignore_error:true, handle benign exits inline with || true - Surface errors via 2>&1 instead of suppressing with 2>/dev/null - Fix shell compatibility with Go Task errexit/pipefail (explicit if statements) - Add 6 Usage resources to PlatformCluster composition for deletion ordering: natgw-uses-eip, route-uses-igw, route-uses-natgw, rta-uses-rt, cluster-uses-subnets, cluster-uses-vpc - Document Crossplane deletion ordering behavior and workarounds
Contributor
|
was this tested ? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
hub:destroy-addonsto dynamically query ApplicationSets from the hub cluster instead of computing from local registry files, ensuring agent-platform addons (kagent, litellm, langfuse, jaeger, agentgateway, etc.) are properly cleaned upChanges
Taskfile (
hub:destroy-addons)vars.ADDONSblock with inline kubectl query + sync-wave sortingagent-platformAppSet (preserveResources) then orphan child apps before Phase 5ignore_error: true— handle benign exits inline2>/dev/nullto2>&1on action commands for error visibilityset: [errexit, pipefail]Composition (Usage resources)
natgw-uses-eip— block EIP deletion until NAT Gateway is goneroute-uses-igw— block IGW deletion until Routes are goneroute-uses-natgw— block NAT GW deletion until private Route is gonerta-uses-rt— block RouteTable deletion until associations are gonecluster-uses-subnets— block Subnet deletion until EKS Cluster is gonecluster-uses-vpc— block VPC deletion until EKS Cluster is goneDocumentation
DELETION-ORDERING.mddocumenting the root cause, Usage fix, and referencesTest plan
task hub:destroy-addons— verify Phase 5 lists all addon AppSets dynamically