[Request]: Support registering network plugins at runtime (no code changes)
- Dominant language
- Swift
- Stars
- 49.9k
- Forks
- 1.8k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 22
Description
### Feature or enhancement request details
I am currently having issues with establishing a connection from inside a container to resources with my company's software-defined perimeter. My experience is similar to
- #1307
- #1519
However, it seems to be more difficult to address since we run in a split-tunnel configuration.
While I wait for progress to be made on the above issues, I discovered that it would be possible to implement a quick solution with the help of `pf` rules and a network plugin. When adding support for my experimental plugin here:
https://github.com/apple/container/blob/e1a5cfdc701e96ffe4a8bb463646eaaff8badb4e/Sources/Plugins/RuntimeLinux/RuntimeLinuxHelper%2BStart.swift#L66-L72
I noticed the `FIXME:` comment. I interpret it to mean what I am requesting in this feature... that there be a system property or config that can be used to identify the supported network plugins and their associated interface strategy.
Could this be handled with new entries in config.toml?
@katiewasnothere
I figured this might be a good initial contribution.
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Contributor guide
Research direction
Start at Sources/Plugins/RuntimeLinux/RuntimeLinuxHelper+Start.swift around the mentioned FIXME and review issues #1307 and #1519 for related context. Then inspect the existing config.toml handling. Done means the runtime can identify supported network plugins and their interface strategies through configuration without code changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- infrastructure, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100