oxidecomputer / oxidecomputer/omicron
have propolis-servers started by omicron listen on arbitrary ports
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
right now we hardcode const PROPOLIS_PORT: u16 = 12400 in omicron, which at the very least isn't great for things like integration tests where we'd like to be able to start multiple mock servers simultaneously on localhost. consider binding port 0 instead to let the kernel do the allocation. (update nexus's DB to store the full address + port of the API endpoint rather than just the address, add logic to inform nexus of what port we were allocated)
Contributor guide
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
Locate the hardcoded PROPOLIS_PORT in omicron and trace how propolis-servers are started and how Nexus stores the API endpoint. Follow the integration-test setup to understand the required address format and allocation flow. Done means servers can bind arbitrary ports, Nexus receives the allocated port, and the endpoint is stored with its full address and port.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, databases, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100