Containers without a resources section run with no CPU or memory limit
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- docker, go, typescript
- Bereich
- devops, infrastructure
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 2
- Forks
- 1
- Ø Merge
- 7 Std. 17 Min.
- Gemergte PRs (30 T.)
- 197
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus shipkeepdev/shipkeep
-
good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
shipkeepdev/shipkeep#295 ·
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue priority:P2 track:control-plane
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
shipkeepdev/shipkeep#212 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement good first issue priority:P3 track:web
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
shipkeepdev/shipkeep#144 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation good first issue priority:P3 track:control-plane
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
shipkeepdev/shipkeep#143 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement good first issue priority:P3 track:control-plane
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
shipkeepdev/shipkeep#142 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in shipkeepdev/shipkeep
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
vercel-labs/ui#540 ·
Maintainer antworten meist innerhalb von 1 Tag
-
accepted ai-dev ai-implementing
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
livesport/homer#218 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
normalizePropName strips `#` characters from Figma property names instead of only the `#id` suffixOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
figma/code-connect#419 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
Negative values skip k/M abbreviation and medium decimal format on line, stacked-area, and tooltipOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
britecharts/britecharts#1255 ·
Maintainer antworten meist innerhalb von 1 Tag