While banyan is the "layers" "server" (alpine-ostree memes), we still need a consistent centralisable registry for storing binaries + layer manifests. Layer manifests are a separate concept from what's currently called a squishfile; squishfiles are a mixture of both layer manifests and information about how to run a container, currently, and ideally this should be split up.
Current thoughts:
Split squishfile.toml into squish-app.toml and squish-manifest.toml
Make a registry server (basically an S3 bucket?) that stores binaries + the corresponding squish-manifest.toml
"Image tags" are immutable, and are basically just the location the "image" is uploaded to ($USER_OR_ORG/$NAME/$VERSION or smth like that)
When booting an "image," pull its squish-manifest.toml, parse the layers, and pull all of them
Cache layers locally to prevent re-pulls
Treat binaries + layer manifests + layers as immutable, ie disallow overwriting an existing image (exceptions: ex. yanking from a (public?) repo?)
Challenges:
Where the fuck do I get enough money to run a public/"primary" squish repository lmao
Related to #2.
While banyan is the "layers" "server" (alpine-ostree memes), we still need a consistent centralisable registry for storing binaries + layer manifests. Layer manifests are a separate concept from what's currently called a squishfile; squishfiles are a mixture of both layer manifests and information about how to run a container, currently, and ideally this should be split up.
Current thoughts:
squishfile.toml
intosquish-app.toml
andsquish-manifest.toml
squish-manifest.toml
$USER_OR_ORG/$NAME/$VERSION
or smth like that)squish-manifest.toml
, parse the layers, and pull all of themChallenges: