Containers without a resources section run with no CPU or memory limit
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- docker, go, typescript
- Domínio
- devops, infrastructure
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- TypeScript
- Estrelas
- 2
- Forks
- 1
- Merge médio
- 7h 17min
- PRs com merge (30d)
- 197
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de shipkeepdev/shipkeep
-
good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
shipkeepdev/shipkeep#295 ·
Mantenedores costumam responder em até 1 dia
-
good first issue priority:P2 track:control-plane
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
shipkeepdev/shipkeep#212 ·
Mantenedores costumam responder em até 1 dia
-
enhancement good first issue priority:P3 track:web
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
shipkeepdev/shipkeep#144 ·
Mantenedores costumam responder em até 1 dia
-
documentation good first issue priority:P3 track:control-plane
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
shipkeepdev/shipkeep#143 ·
Mantenedores costumam responder em até 1 dia
-
enhancement good first issue priority:P3 track:control-plane
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
shipkeepdev/shipkeep#142 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de shipkeepdev/shipkeep
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
vercel-labs/ui#540 ·
Mantenedores costumam responder em até 1 dia
-
accepted ai-dev ai-implementing
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
livesport/homer#218 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
normalizePropName strips `#` characters from Figma property names instead of only the `#id` suffixAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
figma/code-connect#419 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Negative values skip k/M abbreviation and medium decimal format on line, stacked-area, and tooltipAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
britecharts/britecharts#1255 ·
Mantenedores costumam responder em até 1 dia