kubero-dev / kubero-dev/kubero
Missing build: key in Procfile silently produces empty init-build.sh instead of falling back to default
- 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
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