-
Notifications
You must be signed in to change notification settings - Fork 70
Add quadlet #119
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
Add quadlet #119
Conversation
Also, it would be great if you could add a simple test case here that uses the quadlet to generate a systemd unit. |
OK, @mgoltzsche, we should be good to go. The tests are in place and everything seems to be working. The last thing to check/confirm is whether you want me to move the dependencies to By the way, I needed full builds because I was testing real deployment with an Ansible playbook. I wanted to make sure this would work for us. |
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.
The last thing to check/confirm is whether you want me to move the dependencies to libexec to align with upstream or keep everything in lib for simplicity.
Why is the quadlet
binary stored within libexec
in the first place when it is supposed to be called directly by users (or their scripts), not indirectly by podman? Do you know the reason for that by any chance?
Unless podman is calling the quadlet
under the hood, I am inclined to store it at /usr/local/bin/quadlet
as any other binary that is supposed to be called by users directly - after all it needs to be linked there at least.
Otherwise, given that the other binaries podman calls are already within /usr/local/lib/podman
I'd prefer also storing the quadlet
binary there for simplicity (so that users don't have to care about another binary location).
The rootless test against the minimal image variant failed due to the |
So I assume the rationale is not to let users call it directly while clearly signalling it is a binary and not a library. But if you prefer we can move it to |
Isn't the If you're going to store the |
No. Users are not supposed to call it directly. The test I used is from redhat docs on how to test quadlet generation. Not how it is used.
|
ah, okay. Then storing/linking the binary within Though, how does |
Technically we shouldn't store |
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.
systemd gets it from these two symlinks. On daemon-reload it runs generators and generates units automatically.
ah, right. Then the PR should be good. You can leave the quadlet
within the libexec
directory.
Ideally, it shouldn't be stored within the published container image, indeed, but another image variant (new stage within the Dockerfile) could be built instead that is used only to prepare the tar archive but it would increase the complexity of the build and I don't want to block the PR from being merged just because of that. |
Ready for a review @mgoltzsche . |
@cryi Thanks for creating the PR btw! |
Add Quadlet Support in Build Pipeline
With
podman generate systemd
now deprecated in favor of Quadlet, this PR integrates Quadlet into the build pipeline.Changes
Notes
Please let me know if this is acceptable or if any changes are required.
Closes #120