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

Provide AIO Arch Linux packages #44

Open
bastelfreak opened this issue Jan 29, 2025 · 2 comments
Open

Provide AIO Arch Linux packages #44

bastelfreak opened this issue Jan 29, 2025 · 2 comments

Comments

@bastelfreak
Copy link

Arch Linux has their own puppet package at the moment (which I want to update to openvox soon).

I basically download the release artifact from github and run the install.rb against system Ruby: https://gitlab.archlinux.org/archlinux/packaging/packages/puppet/-/blob/main/PKGBUILD?ref_type=heads#L63

This is currently no AIO package. It's build against system Ruby/Curl/OpenSSL. While this works great, it has some issues. So so many bolt tasks for example assume a working Ruby in /opt/puppetlabs/puppet/bin/ruby. Vendoring such tools in a single package isn't allowed in the official Arch Linux repositories.

I think it would be nice if Vox Pupuli could provide an AIO package in it's own repository.

@ekohl
Copy link

ekohl commented Jan 29, 2025

You can also consider a shim package which places wrappers in /opt/puppetlabs and calls the system Ruby version, though arguably we should move away from /opt/puppetlabs in the long term anyway. By then we'll need to figure out how to deal with those broken bolt tasks so perhaps the take away should be that we need to come up with a best practice for users to call the Ruby used by the agent.

@bastelfreak
Copy link
Author

I considered a shim package some time ago. But this is problematic, because then it's not obvious anymore, from a bolt point of view, that this isn't an AIO system. There's a Ruby/Curl/OpenSSL binary in the assumed place, but totally different versions.

For example people that are on Puppet LTS assume Ruby 2.7, on Arch it's currently 3.3.

I would love to have a proper specification for bolt that doesn't assume /opt/puppetlabs/... but properly detects binaries and their versions, but that's a long way to go.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

2 participants