SAP-samples / SAP-samples/codejam-code-based-agents
Python track: exercise 08's manifest.yml "command" field isn't reliably honored on newer CF CLI versions — needs a Procfile
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 54
- Forks
- 36
- PR merge metrics
- No merged PRs in 30d
Description
Summary
08-deploy-agent-to-cf.md instructs learners to set the start command via manifest.yml's command: field only:
```yaml
command: python -m uvicorn server:app --host 0.0.0.0 --port $PORT --workers 1
No Procfile is mentioned anywhere in the exercise.
Effect
On cf push (reproduced on cf.exe version 8.6.1+b5a352a68.2023-02-27), staging fails with:
No start command specified by buildpack or via Procfile.
App will not start unless a command is provided at runtime.
despite manifest.yml's command: field being present and correctly formatted, exactly as the exercise instructs.
This appears to be a known behavior with CF CLI v7+/v8 — the command: manifest field is documented to work, but isn't always reliably honored during staging in practice. A Procfile is the more reliable mechanism. (This may be a Cloud Foundry platform/CLI-version issue rather than something specific to this repo's code — flagging here since it's a real, reproducible failure for anyone following the exercise as written, and the resulting error message gives no indication that a Procfile is the fix.)
Suggested fix
Add a Procfile (no file extension) alongside manifest.yml in the exercise instructions:
web: python -m uvicorn server:app --host 0.0.0.0 --port $PORT --workers 1
Safe to include alongside the existing command: field in manifest.yml — redundant, not conflicting, and covers CF CLI versions/configurations where the manifest field alone isn't sufficient.
Environment
Reproduced on a personal SAP AI Core tenant, Python (CrewAI + LiteLLM) track, cf.exe version 8.6.1+b5a352a68.2023-02-27.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with 08-deploy-agent-to-cf.md and the exercise's manifest.yml, then check how the deployment instructions currently specify the start command. Add the mentioned Procfile alongside manifest.yml with the documented web command, retain the existing manifest setting, and verify that cf push provides a start command and the app starts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cloud, documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100