crunchloop / crunchloop/devcontainer

ComposeStop primitive (currently approximated by single-container Stop)

Ouverte
#10 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area/compose limitation
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.