cloudfoundry / cloudfoundry/stratos

Additional bulk operations: app start/stop/restart, service instance delete

Open
#5,669 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.