Bulk actions¶
When you need to operate on many rows at once — selecting via the checkbox column on Fleet or Groups — Ampora exposes a small, audited set of bulk actions.
On the Fleet page¶
| Action | Effect |
|---|---|
| Move to group | Moves all selected agents into one target group atomically (single-group invariant respected) |
| Revoke certificates | Revokes the leaf cert of every selected agent. Subsequent reconnects fail until a new bootstrap |
| Force push assigned config | Re-sends the assigned config even if the hash matches |
| Drain | Closes the WebSocket on every selected agent so they reconnect via the LB |
| Tag | Adds an Ampora-side tag (not in agent_description) for filtering — useful for "ones I am investigating right now" |
| Export | Downloads the selection as CSV (capped at 10 000 rows) |
Every bulk action emits a single audit event with the actor and the list of affected agent IDs. For very large selections (> 1 000), the audit row may take a moment to commit.
On the Groups page¶
| Action | Effect |
|---|---|
| Delete | Soft-deletes every selected group. Confirmation modal lists the per-group member counts and any rollouts that reference them |
| Restore | Restores soft-deleted groups (Deleted tab) |
Confirmations¶
Bulk actions always show a confirmation modal listing the count and a sample of the affected entities. Destructive actions (Revoke certificates, Delete) require the literal word confirm to be typed before the button enables — protection against muscle-memory bulk-deletes.
Limits¶
| Action | Hard cap |
|---|---|
| Bulk move | 10 000 agents per request |
| Bulk revoke | 1 000 certs per request (KMS rate limits) |
| Bulk force push | 5 000 agents (paced internally; the request returns immediately, but pushes happen over a few minutes) |
| CSV export | 10 000 rows |
For operations that exceed these caps, use the REST API (the same endpoints back the UI) and chunk your own requests.