-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make flist format OCI compliant #9
Comments
As per this comment here threefoldtech/zos#5 (comment) we can have the flist (which is basically a tar) have (next to the sql database) a config.json file which has a subset of the OCI config.json file. The one included can define exec command, env vars, ports, etc ... where the system config.json will define permissions. we can have different variants of the system config.json file (profiles) which defines different privileged levels. |
yep that's pretty much how I was seeing things too. |
After a bit more thinking about this, I don't think we should make the flist OCI compilant directly. example of configurable :
|
Implemented on the latest
Data structureBackendThe backend is stored in a json object with theses members:
EntrypointIt's just a json array of the arguments, eg:
Environment variablesIt's a json dictionary, key is the variable name, content is a string with the value contents, eg:
Exposed portsIt's a json dictionary, key is
VolumesIt's a json dictionary, key is the host path, value is an object: key
ImplementationAll the output above are raw output from latest implementation on
Command lineEach metadata have a When not providing any values (eg: Each metadata subcommands have help message, eg:
|
I'm adding a metadata: |
I made a modification on volumes metadata: the dictionary key is the target mountpoint and not the host mountpoint. Like this, you can specify which mountpoint your flist wants, without specifying the host mountpoint. Eg: you can set on your flist |
This is the first step to be able to use flist format run any OCI runtime (runc, ...)
The definition of an OCI bundle: https://github.com/opencontainers/runtime-spec/blob/master/bundle.md
So it really only requires 2 things:
config.json
Flist format already provide a way to have a full filesystem mounted using 0-fs
So the only things missing is the config.json.
The text was updated successfully, but these errors were encountered: