oxidecomputer / oxidecomputer/omicron
External IPs should store the type of their parent as an enum
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
Today, we're differentiating the type of an external IP's parent (service or instance) using the is_service flag. The communication probe PR (#4585) adds a new class of entity which an IP can be owned and used by, and stores this using the is_probe flag.
When we add additional networking objects which could own one or more external IPs (e.g., load balancers, Internet gateways) we will want to represent the type of an IP's current owner using a single enum.
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
Start by reviewing the existing external IP representation and how the is_service and is_probe flags are used, then read communication probe PR #4585 for the newer ownership case. Define the enum around the currently supported parent types and verify that existing service, instance, and probe ownership remain representable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100