crunchloop / crunchloop/devcontainer
ComposeStop primitive (currently approximated by single-container Stop)
- Langage dominant
- Go
- Étoiles
- 5
- Forks
- 0
- Merge moyen
- 6 h 17 min
- PR mergées (30 j)
- 15
Description
`Engine.Down` on a compose workspace handles `Remove: true` cleanly (calls `ComposeDown` → `docker compose down`). For `Remove: false` (stop without removing) we approximate by stopping just the primary service's container — sidecars stay running. Documented in down.go:
```go
// We approximate by stopping each container individually since
// our ComposeRuntime interface doesn't expose Stop separately.
```
### Plan
- Add `ComposeStop(ctx, ComposeStopSpec) error` to `runtime.ComposeRuntime`
- Implement in `runtime/docker/compose.go` via `docker compose stop` — no flags
- Update `down.go::downCompose` to call `ComposeStop` when `opts.Remove` is false
- Integration test: Up project → Down(no remove) → assert ALL services stopped, no containers removed
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par l’interface ComposeRuntime et runtime/docker/compose.go, puis examinez down.go::downCompose ainsi que le chemin ComposeDown existant. Ajoutez le point d’entrée ComposeStop et une couverture d’intégration pour Up suivi de Down avec Remove false. C’est terminé lorsque docker compose stop est utilisé et que tous les services sont arrêtés sans supprimer les conteneurs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- docker-compose, go
- Domaine
- devops, tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Calme
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 78/100