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

AIO vs. Puppet-only agent packages #12

Open
nmburgan opened this issue Dec 30, 2024 · 6 comments
Open

AIO vs. Puppet-only agent packages #12

nmburgan opened this issue Dec 30, 2024 · 6 comments

Comments

@nmburgan
Copy link
Member

Some people like the AIO package, some don't. Should we make both?

@ekohl
Copy link

ekohl commented Dec 31, 2024

I like the idea of non-AIO packages, but one complication is that even EL9 only ships Ruby 3.0 by default and that's too old for Puppet 8. That makes it hard in practice.

You can however think about what you vendor in. Today curl and openssl are vendored in and those regularly have CVEs. Perhaps it's possibly to have some middle ground where you use system libraries if they're recent enough but update what you need to. However, that is more work and creates a larger support matrix.

@ripienaar
Copy link

Some people like the AIO package, some don't. Should we make both?

The value from AIO is that it’s the only way :) I mean it’s not exactly great or anything, but it’s the same everywhere and that’s what makes it good.

@tuxmea
Copy link

tuxmea commented Dec 31, 2024

Please keep AIO. Many orgs are OK with AIO.
Benefit of AIO:

If people prefer their local ruby and libraries, they can still make use of the Ruby Gem (as it is now).

@yakatz
Copy link
Member

yakatz commented Jan 1, 2025

I have a strong preference for AIO because it makes sure that Puppet on every machine will run the same way.

I would be OK with a smaller package too as long as we can also package the dependencies just in case - I don't know if there is a good way for package managers to support this - for example, saying that we need certain versions of ruby and if they aren't available, install our vendored version. (We can't just say the vendor package provides ruby because that will break other packages.)

@dhs-rec
Copy link

dhs-rec commented Jan 6, 2025

I prefer the ones from the Debian repositories (non-AIO of course), because they

  1. fit better into the distribution
  2. are available for all Debian architectures

@ekohl
Copy link

ekohl commented Jan 6, 2025

I started puppetlabs/puppet#8636 a long time ago to better define run mode between the various deployments. It would clearly standardize where to expect files. In that PR it was also mentioned that it could help reduce patches on BSDs. Perhaps the various non-AIO/distro maintainers could come together and make a decision how to ship. This should also discuss package naming and what it provides (Debian doesn't ship all vendored modules by default today).

Overall I think post-fork we need to decide on which paths are used. /etc/puppetlabs and /opt/puppetlabs feel wrong to me.

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

6 participants