-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Labels
feature: workspace image buildteam: workspaceIssue belongs to the Workspace teamIssue belongs to the Workspace team
Description
Is your feature request related to a problem? Please describe
Today we pull all images from a central registry. While this is the standard way, it can become a performance bottleneck when starting many different, possibly large images. We already optimise for layer re-use, yet image pull remains one of most time-consuming tasks during workspace startup.
One way we could try and improve the situation is by using IPFS to share layers across nodes within a cluster. This approach
- is gaining tracking in the community
- is compatible with eStargz
- uses open standards and technology, i.e. we don't have to implement it all.
We need to solve two paths:
- pushing layers into IPFS
- nerdctl can push to IPFS. We could make the image-builder push to our local IPFS cluster once the image-builder lives on the workspace side. Pro: we just have to call a CLI as part of the image build. Downside: we need to give the image build workspaces access to our local cluster
- registry facade can push layers on demand to IPFS (client libraries exist). Pro: straight forward caching implementation whereby IPFS becomes a mere optimisation. Downside: we have to implement this
- pulling layers from IPFS
- the stargz snapshotter can pull from IPFS directly - registry-facade could add
ipfs://
URLs to the manifest. - we could make registry-facade try and pull from IPFS, thereby providing a standard-compliant path towards the container runtime
axonasif, szab100, krystxf, kylos101 and svenefftingeaxonasif, szab100, krystxf, kylos101, svenefftinge and 1 more
Metadata
Metadata
Assignees
Labels
feature: workspace image buildteam: workspaceIssue belongs to the Workspace teamIssue belongs to the Workspace team