containers / containers/gvisor-tap-vsock
Move most of gvproxy code to a reusable go package with an API
- Dominant language
- Go
- Stars
- 435
- Forks
- 102
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 14
Description
gvproxy code:
1) register/parses command line arguments
2) creates a `types.Configuration` instance from these args
3) creates some listeners/http muxers from these args + associated go routines
All of this is done in 2 big functions.
The crc daemon does 2) and 3) but with slight variations, and without sharing any code from gvproxy.
Following https://github.com/containers/gvisor-tap-vsock/pull/280 , it might be useful to podman as well to have an easy way to reimplement their own gvproxy + 9p binary.
What I aim to do is to move 2) and 3) to their own go package (maybe `pkg/usernet`) which can be used by both gvproxy and the crc daemon. Adding an API for 2) is mostly done, 3) is still being investigated.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading gvproxy's two large functions and the corresponding configuration and listener setup in the crc daemon, then review pull request 280 for context. The work is done when configuration creation and listener or HTTP muxer setup are exposed through a reusable package and shared by gvproxy and the crc daemon.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100