Confine containerd dependency to specific binaries
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- go
- Domain
- operating-systems
Research direction
Start by inspecting the hcsshim module layout and the dependencies used by the library and containerd-shim binary. Evaluate how separate Go submodules would isolate containerd from library users while preserving the command dependencies. Done means the library no longer inherits containerd, while the containerd-shim binary remains buildable with its required APIs.
Written by the indexing model from the issue text.
Description
hcsshim currently depends on github.com/containerd/containerd. This dependency is only required for the containerd-shim binary, not for the library itself.
For library users, this means inheriting an unused, substantial dependency. Stripping down the dependency graph is good for download and compilation speed, as well as auditability. Additionally, as containerd prepares for its 2.x release and introduces the new containerd 1.8 API package, trying to use hcsshim along with the containerd 1.8 API in the same downstream project introduces some nasty package ambiguities.
How about moving the commands into their own Go submodules? That way, their specific dependencies won't affect the core library, reducing the dependency tree and making it easier for downstream consumers of hcsshim.
- Dominant language
- Go
- Stars
- 694
- Forks
- 304
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 28
Contributor guide
No contributing guide indexed for this repository
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.
More from microsoft/hcsshim
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Difficulty 4/5 3-5 days Newbie friendliness 62/100
-
Difficulty 4/5 3-5 days Newbie friendliness 58/100
All issues in microsoft/hcsshim
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
enhancement needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
kind/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
kubernetes-sigs/kueue#15947 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sympozium-ai/sympozium#627 ·