Comments (7)
After further investigation, it looks like a CLI wrapper would be the simplest implementation. Although podman
creates lightweight VMs on MacOS
and Windows
and establishes an SSH tunnel to the VM to access the socket, it requires parsing a configuration file and setting up the tunnel for these platforms.
So, yeah, a CLI wrapper it is for now 😄
from tork.
This is great to know!
from tork.
@runabol would it be okay if you assign this issue to me?
from tork.
Done
from tork.
Hey @runabol,
While investigating the initial implementation, I encountered an issue. The current Podman package for Go, libpod
, has dependencies on many types that Podman uses internally (see: containers/podman#12548).
A possible workaround could involve setting some build flags, as mentioned in that issue. However, I believe a better approach would be to utilize Podman's REST API, which is exposed through a Unix socket or a normal socket, similar to Docker. This would also help avoid adding approximately 40MB of dependencies to the project.
What are your thoughts on this?
from tork.
I definitely would agree that adding the library and its attendant dependencies is probably not a great idea.
As for using the REST API through a unix socket, that doesn't sound very cross-platform friendly.
One of my favorite features about podman is its ability to run daemon-less. So if we resort to running it as a service, I feel like we're losing on that advantage. Plus I'm not sure if there's parity between the REST API and the CLI.
What about simply calling the podman cli from Go?
from tork.
I found this issue trying to see whether I could use tork via podman on arch and thought it worth adding this note for anyone who comes after me, whose situation is similar to mine.
If you're happy to run podman with a daemon (which on systemd in my distro is accomplished with systemctl start podman.socket
) then just setting DOCKER_HOST
to the relevant socket is enough.
from tork.
Related Issues (20)
- [bug] entrypoint can't find script inside HOT 1
- RUNNING state change not shown on middleware HOT 1
- Pre/Post task evaluate issue when used with job middleware HOT 3
- Feature Request: support allowing custom headers in webhooks HOT 1
- feature request: Download all logs for a job HOT 6
- Option to delete old jobs HOT 2
- Task container port mapping HOT 11
- quality of life: when duplicate a job, don't redact environment variables in task if it inherit from input HOT 3
- Like how simple this application is. How to contribute? HOT 3
- Support of recurring jobs
- Passing in JSON through task output HOT 1
- request: make get log max page size configurable HOT 2
- request: disable logging HOT 11
- Tork worker inside script doesn't see host env vars HOT 8
- Setting task working dirs
- Kicking jobs off with arbitrary data HOT 2
- Setting job failed state in Job HandlerFunc HOT 2
- Jobs with Parallel, Each, and SubJobs HOT 1
- Custom Mounter for docker HOT 5
- Question: tork-coordinator behaviour HOT 2
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 tork.