Skip to content

docs: Document endpoint teardown in flash app delete - #826

Open
promptless[bot] wants to merge 1 commit into
mainfrom
promptless/flash-app-delete-endpoint-teardown
Open

docs: Document endpoint teardown in flash app delete#826
promptless[bot] wants to merge 1 commit into
mainfrom
promptless/flash-app-delete-endpoint-teardown

Conversation

@promptless

@promptless promptless Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Open in Promptless

flash app delete now 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: the app delete process 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 new Troubleshooting entry 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 a runpodctl serverless delete remediation 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 @Promptless on a Promptless PR, Promptless will remember it for future suggestions 🧠

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
Comment thread flash/cli/app.mdx
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).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Source: https://github.com/runpod/flash/blob/5ed991aae745d9cbd0ce02b3dc7c0cb2e5d49beb/src/runpod_flash/core/resources/app.py#L564-L611

Comment thread flash/cli/app.mdx
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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Source: https://github.com/runpod/flash/blob/5ed991aae745d9cbd0ce02b3dc7c0cb2e5d49beb/src/runpod_flash/cli/commands/apps.py#L117-L122

@mintlify

mintlify Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
runpod-docs 🟢 Ready View Preview Aug 31, 2026, 6:47 PM

Comment thread flash/cli/app.mdx

```text
✓ deleted endpoint <endpoint-name> <endpoint-id>
```

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Source: https://github.com/runpod/flash/blob/5ed991aae745d9cbd0ce02b3dc7c0cb2e5d49beb/src/runpod_flash/cli/commands/apps.py#L124-L142

Comment thread flash/cli/app.mdx
```

<Warning>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Source: https://github.com/runpod/flash/blob/5ed991aae745d9cbd0ce02b3dc7c0cb2e5d49beb/src/runpod_flash/cli/commands/apps.py#L130-L135

Comment thread flash/cli/app.mdx

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(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.

Source: https://github.com/runpod/flash/blob/5ed991aae745d9cbd0ce02b3dc7c0cb2e5d49beb/src/runpod_flash/core/api/runpod.py#L991-L1026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants