FEATURE: ship h8 app restart/stop/start commands
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
## Problem
`src/commands/app/restart.ts`, `stop.ts`, and `start.ts` exist in the source tree but are not compiled/shipped. The stop command uses `PATCH /api/v1/darkube/apps/:id/` with `is_enabled: false` — exactly what's needed during migrations when you want to shut down an app, do work on its persistent disk, then restart.
During a Grist data migration, I had to use raw API calls for this instead of a simple:
```bash
h8 app stop grist
```
## Files to ship
- `src/commands/app/stop.ts` — sets `is_enabled: false` (already written)
- `src/commands/app/start.ts` — sets `is_enabled: true` (already written)
- `src/commands/app/restart.ts` — stop + wait + start (already written)
- `src/commands/app/pods.ts` — list pods for an app (already written)
## Proposed usage
```bash
h8 app stop grist # scale to 0
h8 app start grist # scale to 1
h8 app restart grist # rolling restart for debugging
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by inspecting how the TypeScript files under src/commands/app are compiled and exposed by the CLI, focusing on stop.ts, start.ts, restart.ts, and pods.ts. Build the project and verify that h8 app stop, start, restart, and pods are shipped and invoke the intended commands, including stop/start behavior and restart sequencing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100