cloudfoundry / cloudfoundry/stratos
Additional bulk operations: app start/stop/restart, service instance delete
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 267
- Forks
- 137
- Avg merge
- 5h 14m
- Merged PRs (30d)
- 77
Description
The bulk action framework (multi-select checkbox column + bulk bar + backend guid-list fan-out endpoints returning a per-item BulkResult) currently covers app delete, route delete, and route unmap. Candidates for extending it, roughly in priority order:
App bulk start / stop / restart
The most likely to see real use after delete. CF v3 start/stop are synchronous per app, so these behave like route unmap: final per-item counts in one response, no job polling needed. The apps lists already have the checkbox column and bulk bar, so each op needs a backend endpoint (same fan-out pattern as native_apps_bulk_writes.go) plus a bulkAction entry in the two apps list configs.
Service instance bulk delete
Managed service instance deletes return async CF jobs, so this would ride the same per-item job handoff + polling path as app/route bulk delete. The service instances list has no checkbox column yet, so this also pulls in list work.
Later / weaker candidates
- Service instance bulk unshare (synchronous, pairs with the existing bulk share)
- Bulk role removal on the users tables
- Org/space bulk delete — async jobs again, but destructive enough that it may deserve extra friction rather than a one-click bulk action
Doesn't fit the current contract
Operations needing a parameter beyond the guid list (e.g. bulk map-route-to-app needs a target app) break the {"guids": [...]} body shape and would need their own design.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the existing app, route, and route-unmap bulk actions with native_apps_bulk_writes.go and the two apps list configurations. Choose one candidate operation, then trace its endpoint, bulkAction entry, and— for service instances—the list checkbox and async job handoff. Done means the selected operation follows the existing per-item result or polling contract.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, go, typescript
- Domain
- cloud, full-stack
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100