Fixes #29039 - Make foreman::config::apache standalone
By not relying on the foreman class parameters, it becomes easier to use this class without Foreman. This can be useful when deploying it using a git checkout rather than packages.
Fixes #28436 - Add keycloak support
This adds support for keycloak when using the keycloak-httpd-client-install command. A more native integration would rely on the oidc support in puppetlabs-apache, but that's unreleased. It drops the dependency chaining for the passenger package because it was leading to dependency cycles and I don't see a reason for the explicit chaining.
Correct casing on Stdlib::HTTPUrl
While Puppet is case insensitive on data types, Kafo does care. This matches the type to its actual definition.
Fixes #29255 - Set plugin config file mode to 0640
This sets the config file mode to 0640 by default because they may contain secrets such as credentials. To keep it readable for Foreman, the group is modified to $foreman::group.
Use plugin_prefix to determine plugin packages
Previously this was duplicating the plugin prefix for packages that didn't follow the convention. By using regsubst, this can be avoided. This removes the need for separate params classes.
Refs #28436 - Drop unused parameter
0e86214 added this, but was a left over from an earlier iteration.
Various changes have gone in that make this a new major version.
Refs #29144 - Use systemd socket activation
When using systemd socket activation, it's important that the ListenSocket matches what Puma binds on. Otherwise it may fail. This happens when is configured on [::]:3000 (dual stack) and Puma on 0.0.0.0:3000. Puma will then attempt to bind and fail because the port is already in use. The service bind is now made explicit because systemd's ListenSocket=3000 binds on :: where Puma by default binds on 0.0.0.0:3000. This is IPv4-only, but is what was done prior to this as well. Apache is configured dual stack and the recommended deployment.
Refs #29144 - Correct socket override
281f196 introduced the systemd socket override, but used Service instead of Socket. This causes the service to bind incorrectly.
Make camptocamp/systemd a hard dependency
8bc1ba3 made the default deployment use the Puma service. That means the default requires systemd and a soft dependency no longer makes sense. It also updates the documentation in README to match.
Remove unused parameters from puppetmaster
These config settings are never actually read by anything.
Drop {enc,report}_api parameters
Parameters with a single value aren't really useful.
Drop the separate rails repository
Foreman 2.0 dropped this and needs to be removed.
Remove redundant reverse proxy test
Since 8bc1ba3 he default deployment is now a reverse proxy so this test is redundant.
All testing is now happening on a reverse proxy so these are no longer needed.
Only test with AIO Puppet in spec files
This is the default deployment we support and test with.
Move repository setup to the acceptance helper
Note that it disables EPEL which we no longer need.
Move certificate setup to the acceptance helper
This avoids generating certificates for every example and makes the examples easier.
Fixes #29602 - Refactor repository handling
This removes the repo parameters from the main class, in favor of a standalone class that can be included. It uses an anchor because that can be collected in the main class to keep the correct dependency chaining while using composition.
Use legacy facts for puppetmaster defaults
875c837 started to use modern facts. However, for these branches there is no coverage and facterdb can't find these modern facts. This causes issues in puppet-puppet which does call these branches. Ignoring lint is the quickest fix now. Longer term these classes will be split out to its own module as theforeman/puppetserver_foreman so there can be test coverage.
Switch AIO detection to use aio_agent_version fact
This fact is a core fact that's only set on AIO installs. Setting this custom fact is also easier than the structured fact in our test suite which increases reliability of our tests.
Add options for rails_cache_store
This allows to make use of redis as backend, but still defaults to file.
This removes duplication from the examples and allows it to only show what's really needed. It currently relies on my git fork of beaker-hiera since that's archived. It also updates to PostgreSQL 12 on EL7 since Rails 6 now needs that.
Ensure Foreman is provisioned before configuring cockpit
Previously foreman_config_entry could be executed before the database was available. This ensures the database is ready and the plugin installed before attempting to change a config setting.
Fixes #29649 - Prefix ipa and sssd facts with foreman_
This prevents a collision with the ipa fact from the ipa module.
6.x was breaking since it made repository management modules soft dependencies. Since we don't use these, it's not breaking here.
6.x was breaking since it made repository management modules soft dependencies. Since we don't use these, it's not breaking here.