oxidecomputer / oxidecomputer/omicron
Audit updates to firewall rules
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
We need to ensure that we push updates to firewall rules whenever the rules or an affected instance is modified. Specifically, check that we compile and send to the relevant sled-agents updated rules when:
- A firewall is modified
- An instance is created (This is almost certainly done)
- An instance is deleted
- An instance is migrated (tracked by https://github.com/oxidecomputer/omicron/issues/1783)
There are a few other events that technically require updating the rules as well, but I believe they're either not applicable because of the way we've currently structured things, or just lower priority in that things will continue to function even if they'll be less-than-perfect. These are:
- When an instance has a NIC added, deleted, or modified (say, moved to a different subnet). This handled by instance-creation, because we can currently only perform these operations when the instance is stopped, which means we'll resend the creation request to the sled agent anyway.
- When a VPC or VPC Subnet is added, modified, or deleted. For example, when we delete a VPC Subnet, any instances with a firewall rule that refers to that subnet should have that rule removed. Same for VPCs.
There are likely others I'm forgetting.
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
No files or tests are named. Start by locating the paths that compile and send firewall rules to sled-agents, then trace firewall modification and instance lifecycle handling; use issue 1783 for migration behavior. Done means updates are sent for firewall changes, instance creation, deletion, and migration, with the relevant tests passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, networking, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100