kubero-dev / kubero-dev/kubero

Missing build: key in Procfile silently produces empty init-build.sh instead of falling back to default

Open
#795 2 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
4.4k
Forks
213
PR merge metrics
No merged PRs in 30d

Description

### Which component(s) is affected?

Kubero version: v3.1.1

### Describe the bug

When a repo's Procfile contains only a web: key (no build: key), Kubero's Runpacks build strategy generates an empty init-build.sh (just #!/bin/sh) instead of falling back to the default build command for the detected language/buildpack.

If the Procfile is removed entirely, Kubero correctly falls back to its default build command and the build succeeds. So the default-fallback logic exists and works — it's just not triggered when a Procfile is present but incomplete.

### Steps to reproduce

1. Create a repo with a Procfile containing only web: (no build: key)
2. Deploy via Kubero using the Runpacks/git-based build strategy
3. Inspect the generated init-build.sh (e.g. via the pod's emptyDir volume) — it contains only #!/bin/sh
4. Remove the Procfile entirely and redeploy — the build now succeeds using the default build command

### Expected behavior

When build: is missing from the Procfile, Kubero should fall back to the same default build command it uses when no Procfile exists at all.

Actual behavior:
Kubero silently writes an empty build script. No error is surfaced; the build/deploy appears to proceed, but the build step does nothing.

### Screenshots

_No response_

### Additional information

This is a silent failure — there's no error message pointing to the actual cause, which made this time-consuming to diagnose. Happy to provide the empty vs. working init-build.sh contents side by side if helpful.

### Debug information

_No response_

Contributor guide

Open the contributing guide

Research direction

Reproduce the Runpacks deployment with a Procfile containing only a web: entry, then inspect the generated init-build.sh and the Procfile handling path. Compare it with a deployment where the Procfile is absent; done means a missing build: key produces the same default build command rather than an empty script.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
70/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.