Application Stuck Without a Terminate Button Due to an OOMKilled Application Controller
What to check when an Argo CD Application shows as syncing but has no way to terminate or delete it from the UI
If an Application appears to be actively syncing but the Terminate button is missing, and it can't be deleted from the UI or CLI, check whether the argocd-application-controller container on that cluster is being OOMKilled and restart-looping. A controller stuck in a restart loop can leave Applications in an inconsistent state where sync-control actions aren't available.
How to confirm: check the application-controller pod for a high restart count with exit code 137, and compare its memory limit against actual usage.
How to fix:
- If the cluster's agent size is already set to Large and you're still OOMing, switch it to Custom and set a memory limit higher than the current one. See Configuring Custom Agent Resource Sizes in Akuity for the steps.
- Alternatively, use Auto sizing so Akuity scales the agent automatically. ⚠️ There is a delay while the platform reacts to increased resource needs — a fast spike in cluster activity can still trigger an OOMKilled restart before auto-scaling catches up. Tuning the minimums can reduce this risk.
- If you've recently enabled Akuity Intelligence, factor that in when sizing — it increases controller memory usage by a variable amount depending on cluster activity.
⚠️ Flag for review: the auto-sizing reaction-delay behavior described above should be re-verified against current platform behavior before publishing, since scaling responsiveness may have changed since this conversation.