Containers without a resources section run with no CPU or memory limit
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- docker, go, typescript
- Domaine
- devops, infrastructure
Piste de recherche
Start with apps/api/src/modules/deployments/domain/container-plan.ts and agent/internal/actions/container_spec.go to trace how resource values reach Docker and placement. Read SPEC and the tests covering deployment plans and containers; the issue calls for a decision on default limits versus mandatory declarations before implementation. Done means containers always have CPU and memory limits, placement reserves those same values, SPEC documents the defaults, and a test covers an application without resources.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What
An application without a resources section gets no CPU or memory limit. The deployment plan produces cpuMillis: 0 and memoryBytes: 0 (apps/api/src/modules/deployments/domain/container-plan.ts), the agent passes them to Docker as "no limit" (agent/internal/actions/container_spec.go), and placement reserves nothing for it.
One application can then starve the others on the same server, by accident or on purpose. The process limit and log rotation do not cover CPU and memory.
Found by a security audit of the repository on 8 November 2026, still true on main.
Decision needed
- Default limits for an application that declares none. Suggested: 1 CPU and 512 MiB, overridable in
shipkeep.yml. - Whether declaring
resourcesbecomes mandatory instead. - Later: quotas per environment, and capacity kept back for the node's own services (agent, Caddy, Docker).
Done when
- A container is never created without a CPU and a memory limit.
- Placement reserves the same values it enforces.
- SPEC states the defaults, and a test covers an application without
resources.
- Langage dominant
- TypeScript
- Étoiles
- 2
- Forks
- 1
- Merge moyen
- 7 h 17 min
- PR mergées (30 j)
- 197
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de shipkeepdev/shipkeep
-
good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
shipkeepdev/shipkeep#295 ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue priority:P2 track:control-plane
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
shipkeepdev/shipkeep#212 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement good first issue priority:P3 track:web
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
shipkeepdev/shipkeep#144 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue priority:P3 track:control-plane
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
shipkeepdev/shipkeep#143 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement good first issue priority:P3 track:control-plane
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
shipkeepdev/shipkeep#142 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de shipkeepdev/shipkeep
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
vercel-labs/ui#540 ·
Les mainteneurs répondent en général sous 1 jour
-
accepted ai-dev ai-implementing
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
livesport/homer#218 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
normalizePropName strips `#` characters from Figma property names instead of only the `#id` suffixOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
figma/code-connect#419 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Negative values skip k/M abbreviation and medium decimal format on line, stacked-area, and tooltipOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
britecharts/britecharts#1255 ·
Les mainteneurs répondent en général sous 1 jour