Skip to content
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

Support use with Docker #164

Closed
eemcmullan opened this issue Feb 27, 2024 · 7 comments
Closed

Support use with Docker #164

eemcmullan opened this issue Feb 27, 2024 · 7 comments
Labels
needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@eemcmullan
Copy link
Collaborator

Right now, kantra defaults to podman to run commands in containers. An env var PODMAN_BIN can be used to override it with docker. We want to allow kantra to detect docker use, if available, without the user having to define this variable.

@konveyor-ci-bot konveyor-ci-bot bot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Feb 27, 2024
@konveyor-ci-bot
Copy link

This issue is currently awaiting triage.
If contributors determine this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.
The triage/accepted label can be added by org members.

@konveyor-ci-bot konveyor-ci-bot bot added the needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. label Feb 27, 2024
@github-project-automation github-project-automation bot moved this to 🆕 New in Planning Feb 27, 2024
@konveyor-ci-bot konveyor-ci-bot bot added the needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. label Feb 27, 2024
@ascheman
Copy link
Contributor

Wouldn't it be sufficient to replace the one and only (currently) call to the podman (docker) binary by a suitable use of a respective library, e.g., https://pkg.go.dev/github.com/docker/docker/client?

Then only the installation guide (README.md) would be left with a hard coded use of podman to set up Kantra.

@shawn-hurley
Copy link
Contributor

IIUC, and please correct me if I am incorrect; the docker engine client uses the API to call into a docker to take action.

While this is also supported in Podman, I can't see this as a shared, agreed-on spec in OCI. While I doubt this would change, it is just something I am a little worried about. Specifically, I am looking at this part of the [https://github.com/opencontainers/runtime-spec/blob/main/glossary.md#runtime-caller]

Runtime callers often execute a runtime via runc-compatible command line interface; however, its interaction interface is currently out of the scope of the Open Container Initiative Runtime Specification.

It sounds like there are no defined specs for external callers, but I feel like I would be more comfortable using the CLI interface because of the line around runc.

Like I said I could be incorrect, and if there is some other place to look please point me to it, I honestly have no idea, just thoughts on what I am reading.

There is also the concern about having a dependency on Moby, as, in the past, this has caused me lots of pain. It may not be a real concern anymore just some past experience that I want to add to the conversation.

@eemcmullan
Copy link
Collaborator Author

Resolved in #165

@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in Planning Mar 5, 2024
@ascheman
Copy link
Contributor

ascheman commented Mar 5, 2024

If I look into the code of #165, I wonder how I could enforce using docker via ${PODMAN_BIN} if there is a podman on the path?

@shawn-hurley
Copy link
Contributor

@ascheman
Copy link
Contributor

ascheman commented Mar 5, 2024

Of course, your right as the Load() function only makes sure the path is known/set to the Config struct ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-kind Indicates an issue or PR lacks a `kind/foo` label and requires one. needs-priority Indicates an issue or PR lacks a `priority/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
Status: ✅ Done
Development

No branches or pull requests

3 participants