docs: Document endpoint teardown in flash app delete - #826
Conversation
flash app delete now tears down the app's Serverless endpoints before removing the app record, and on partial failure keeps the app record, exits non-zero, and names each surviving endpoint with a runpodctl serverless delete remediation command. Source: runpod/flash#371
| 3. Deletes all environments and their resources. | ||
| 4. Deletes all builds. | ||
| 5. Deletes the app. | ||
| 5. Tears down the app's Serverless endpoints. Flash discovers them per Flash environment on Runpod's backend, so teardown works even when no local resource tracking exists (for example, in CI). |
There was a problem hiding this comment.
Claim: teardown discovers endpoints per Flash environment on Runpod's backend, working without local resource tracking (e.g. CI). Verified against FlashApp.delete_endpoints(), which lists environments via list_flash_environments_by_app_id and fetches each via get_flash_environment to enumerate endpoints server-side.
| If any endpoint cannot be removed, the app record is not deleted and the command exits with a non-zero status; see [app delete fails to remove an endpoint](#app-delete-fails-to-remove-an-endpoint). | ||
|
|
||
| ### Output | ||
|
|
There was a problem hiding this comment.
Claim: each removed endpoint prints "✓ deleted endpoint ". Verified against delete_flash_app's per-endpoint print loop, which prints a green checkmark, "deleted endpoint", the endpoint name (or id fallback), and the id with two-space separation.
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
|
||
| ```text | ||
| ✓ deleted endpoint <endpoint-name> <endpoint-id> | ||
| ``` |
There was a problem hiding this comment.
Claim: on any failed endpoint teardown, flash app delete keeps the app record and exits 1, naming each surviving endpoint. Verified against delete_flash_app: on failed list non-empty, prints error, per-endpoint remediation, then raise typer.Exit(1) before the app-record delete call is ever reached.
| ``` | ||
|
|
||
| <Warning> | ||
|
|
There was a problem hiding this comment.
Claim: failure message is "endpoint not removed; delete it with runpodctl serverless delete ". Verified exact string match against the console.print in the failed-endpoint loop (id present branch).
There was a problem hiding this comment.
(Line 169)
Claim: re-running flash app delete after a partial teardown is safe because already-removed endpoints count as removed. Verified against _delete_endpoint_idempotent, which treats a missing/already-deleted endpoint as successfully removed on retry.
|
Just a reminder: If you'd like me to act on any feedback you have via Github comments, just type @Promptless in your suggestion and I'll get right on it! (I won't show up in the user dropdown, but I'll process any request that has @Promptless in the comment body.) |
Open in Promptless
flash app deletenow tears down the app's serverless endpoints before removing the app record, instead of leaving them running and billable. The Flash CLI reference (flash/cli/app.mdx) now reflects this: theapp deleteprocess lists endpoint teardown (discovered server-side per Flash environment, so it works in CI) ahead of the now-conditional app-record deletion, and shows the per-endpoint confirmation output. A newTroubleshootingentry documents the partial-failure path — the app record is kept, the command exits with a non-zero status, and each surviving endpoint is named with arunpodctl serverless deleteremediation command (or, for an endpoint reported without an ID, removal from the Runpod console) — and notes that re-running the command after a partial teardown is safe.Trigger Events
Tip: Whenever you leave a comment tagged
@Promptlesson a Promptless PR, Promptless will remember it for future suggestions 🧠