-
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
batou_ext.oci: Add support for podman
#204
base: master
Are you sure you want to change the base?
Conversation
d83ac63
to
db0e430
Compare
FC-37959 We mostly want this for healthchecks that must pass before the unit is actually active.
db0e430
to
3476623
Compare
Considering how considerable the differences between podman and docker are I'd almost think about splitting it up into two Components 🤔 that might however introduce a bunch of copy-pasted code. This would also eliminate the need to specifiy the backend for every single container. |
Given that
I'd argue that it would be fine to keep it as-is.
Hmm... I'd have to check whether the current approach allows podman & docker in parallel in the first place now that I think of it. You set the backend globally in NixOS. |
Yeah, backend is set globally, so doing it per-container here doesn't make sense. |
FC-37959 This component is used to indicate that a host uses podman instead of docker to run containers. NixOS only allows to set this globally, so it doesn't make sense to configure it per-container in here.
…ealthy Otherwise the startup seems to run into a timeout. FC-37959
* I don't really know how to get 'container' to work, but it's probably irrelevant anyways (app in container is supposed to `sd_notify(3)` there) * Turn off lingering for conmon, this seems pretty broken. Also make sure the dependencies are set up correctly for strategy healthy.
@PhilTaken the backend setting is now done via another component. |
users.users."{{ component.user }}".linger = true; | ||
# {% endif %} | ||
# {% if component.sd_notify == "conmon" %} | ||
users.users."{{ component.user }}".linger = false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This means btw we can't have conmon & healthy for containers running as the same user, unfortunately :(
I like the podmanruntime component here, that simplifies usage a bunch. I still think theres almost too much complexity in the ocicontainer component here but I cannot think of a good solution. Did you test this with a reasonably complex deployment? |
FC-37959
We mostly want this for healthchecks that must pass before the unit is actually active.