Comments (9)
thanks for the report. I'll take a look at it.
While currently available, the python bindings are not really used/supported at the moment, just out of curiosity, are you planning on using them?
from crun.
@giuseppe I don't have a "business" use case for it, but I would like to experiment more with container management, and I am more productive in Python, while most of the current container related tools/libraries are in Go. Because of this I have started a Python "pure" approach (https://github.com/joaompinto/pylibcontainer) but it stills needs a lot of work, and it is mostly a wrapper around kernel syscalls. It would make more sense to leverage the libcrun interface.
If there are no plans to have it widely maintained I will take ownership of the issue when I have some more spare time, I will need to revive my automake/autoconf/C development skils :)
I am not a big fan of some of "Docker" methods for building and distributing containers, podman/buildah are nice, but in the "Golang" domain, so in the long term, If I am able to produce minimal stable Pythons bindings I expect to provide some container management options to Python developers.
from crun.
Sounds cool. Any help from you @joaompinto Would be appreciated.
from crun.
Since Python2 will be EOL soon, would be acceptable to provide Python3 only bindings ?
from crun.
@joaompinto yes, we can use only python3
from crun.
I am thinking about the benefits vs effort of the work on this issue, taking in account that:
a) Distributing python packages with native library dependencies is tricky
b) Rewriting the crun (cli) specific features in Python provides little benefit
c) Many other "consumers" (e.g. podman ) are already using the binary runtime configuration
Are there some library features that might be interesting from a container management point of view that arenot available trough the "crun" CLI ?
from crun.
I've played slightly with them: https://github.com/giuseppe/oci-auto-capabilities/blob/master/oci-auto-capabilities.py but honestly I think there are not many benefits. The same script can be written using the Podman CLI (even if with less control on the kind of the capabilities).
The OCI runtime works at a low level and many importants parts like storage or networking are out of scope. This limits significantly what we can provide via the Python hooks.
from crun.
Based on this assessment I am closing this issue, I will create a new one for the removal the current python bindings configure option and related documentation.
I will do some more research for a better option for a Python framework, eventually similar to "libpod" but without the podman dependency. A thin runtime layer: python3 (stdlib) + python-libpod + runc binary.
from crun.
I don't think we need to remove the current ones. They can be useful if all you need is an OCI runtime.
from crun.
Related Issues (20)
- what is the purpose and future of crun-wasm - asking for (a friend) Debian packaging :) ? HOT 5
- Different CRUN/RUNC cgroup hierarchy HOT 6
- weird seccomp caching bug, causes bud-runtime-flag test to flake HOT 4
- The flag `O_PATH` could be added in more places HOT 1
- Pod cannot be deleted due to missing container startup command when using crun HOT 8
- Cannot run any container if storage location is owned by a group that is not the users main group (rootless mode) HOT 5
- OCI runtime create failed: unknown version specified: unknown. HOT 2
- Systemd not supported on crun - s390x HOT 14
- Support for wasm-micro-runtime handler HOT 1
- Why fork the current process on create when libcrun_container_create() is called by python process? HOT 5
- can't see poststart running. HOT 1
- [Feature] Setup parent mount before pivot_root if on initramfs HOT 2
- read from the init process HOT 1
- Inconsistent Error Reporting: runc vs crun for Stopped Containers HOT 1
- [packit] Propose downstream failed for release 1.16 HOT 1
- crun 1.16: critest "[k8s.io] Container Mount Propagation runtime should support mount propagation [It] mount with 'rshared' should support propagation from host to container and vice versa" fails HOT 9
- Exec does not inherit values from the `config.json` HOT 3
- [packit] Propose downstream failed for release 1.16.1 HOT 1
- crun does not wait for tty to receive error message for short lived process HOT 1
- Feature: enhanced debug logging HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crun.