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 Podman #15105

Open
m4r1k opened this issue Jun 9, 2021 · 11 comments
Open

Support Podman #15105

m4r1k opened this issue Jun 9, 2021 · 11 comments
Assignees
Labels
help wanted The issues that is valid but needs help from community kind/requirement New feature or idea on top of harbor

Comments

@m4r1k
Copy link

m4r1k commented Jun 9, 2021

Is your feature request related to a problem? Please describe.
Today Harbor requires Docker and docker-compose for installations and upgrades.

https://github.com/goharbor/harbor/blob/master/make/common.sh#L78-L130
https://github.com/goharbor/harbor/blob/master/README.md#install--run

Red Hat has deprecated and removed Docker since RHEL8 :-(
https://access.redhat.com/solutions/3696691

While Docker (the company) is still shipping CE and EE binaries for RHEL, the lack of official support from Red Hat may be a source of conflict.

This proposal is to support also Podman as a container Engine. This is not only in favor of Red Hat but more generally of the added security features of Podman.
http://people.redhat.com/abach/OSAW/FILES/DAY1/5%20Moving%20on%20from%20Docker.pdf

Describe the solution you'd like
Since Podman 3.0, docker-compose is fully supported
https://www.redhat.com/sysadmin/podman-docker-compose

Perhaps the logic at check_docker in common.sh could be reworked to also support Podman

Describe the main design/architecture of your solution
Podman supports docker alias but using Podman CLI would be best.
The idea would be to first rework the logic in check_docker verifying whether Docker is present and meet the minimum version and same story to Podman.

Describe the development plan you've considered
Assuming the proposal is acceptable, I can work on a prototype solution and have something available in a few weeks (the logic isn't that hard but perhaps there are all sort of documentation references to update)

@bitsf bitsf added the kind/requirement New feature or idea on top of harbor label Jun 10, 2021
@mohag
Copy link

mohag commented Jun 10, 2021

Kubernetes works fine, there is no need to use docker-compose or docker...

@bitsf
Copy link
Contributor

bitsf commented Jun 16, 2021

you can help submit a PR to fix this, we don't have such environment to test

@m4r1k
Copy link
Author

m4r1k commented Jun 19, 2021

On hold due to CentOS 8 Stream issue with lack of CAP_PERFMON
https://bugzilla.redhat.com/show_bug.cgi?id=1946982

@m-yosefpor
Copy link

For docker-compose part, this project can also be used directly: https://github.com/containers/podman-compose , it does not need any additional podman-docker-compose setup.

@goshansp
Copy link

@m4r1k my target is also rhel8 but i am currently working on fedora34. using podman-3.3.1-1.fc34.x86_64 / podman-3.3.1-1.fc34.x86_64 i got ./install.sh to execute without error and containers spin up. docker version checks commented, renamed docker-compose to podman-compose, setenforce 0 and delete pg-database directory because permission issue. now see nginx: [emerg] bind() to 0.0.0.0:8080 failed (98: Unknown error) and suspect all 8080's sitting on the same interface as pods share net by design. remapping docker-compose.yml and env variables to use non-colliding portnumbers may do the trick. better suggestions?

@bpereto
Copy link

bpereto commented Apr 19, 2022

related pull request
#15986

@github-actions
Copy link

github-actions bot commented Jul 5, 2022

This issue is being marked stale due to a period of inactivity. If this issue is still relevant, please comment or remove the stale label. Otherwise, this issue will close in 30 days.

@github-actions github-actions bot added the Stale label Jul 5, 2022
@stonezdj stonezdj removed the Stale label Jul 7, 2022
@wy65701436 wy65701436 assigned qnetter and unassigned xaleeks Aug 4, 2022
@wy65701436 wy65701436 added the help wanted The issues that is valid but needs help from community label Aug 4, 2022
@leonidas-o
Copy link

What about this, at least as first step until more resources are available for an official podman support? #15986 (comment)

@holgrrr
Copy link

holgrrr commented Jul 13, 2023

Would also be much in favor of additional podman support, due to the need to run this in an RHEL-based HPC environment with no additional K8s infrastructure to deploy Harbor on.

@ijustworkhereshrug
Copy link

ijustworkhereshrug commented Aug 23, 2023

I was able to get it almost working with just Podman and docker-compose-plugin.

After creating needed folders and removing the version checks, it errors out on the logger. Podman doesn't support the rsyslog logger, so I modified the installation scripts, before runtime, to utilize the systemd logger. Unfortunately, the containers appear to rely heavily on rsyslog.

Therefore, I'm sure it's quite involved to utilize a different logger

@leonidas-o
Copy link

leonidas-o commented Aug 23, 2023

@ijustworkhereshrug yeah well, that's what I said in the following comment and asked for making the logger configurable: #15986 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted The issues that is valid but needs help from community kind/requirement New feature or idea on top of harbor
Projects
None yet
Development

No branches or pull requests