Merge pull request #535 from beechtom/maint/conduct
(maint) Add code of conduct
(maint) Fix upgrading Puppet on windows
Add a missing `-ExecutionPolicy bypass` to align with the other PowerShell invocations of the module and unbreak upgrading Puppet on windows.
(MODULES-10909) Commands retry on network connectivity failures
Before this commit, the install tasks (`install_shell.sh` and `install_powershell.ps1`) exited at the first network connectivity failure. This change adds a retry mechanism to the `wget`, `curl`, `fetch`, `perl`, `yum`, `zypper`, `apt-get` (Linux) and `System.Net.Webclient.DownloadFile` (Windows) commands which waits one second between attempts. The number of attempts is `5` by default but can be configured via the new retry setting.
Merge pull request #536 from adrianiurca/modules10909-install-agent-f…
…ails (MODULES-10909) Commands retry on network connectivity failures
(maint) Update 6.x branch name
We changed the branch name for the puppet6 stream from master to 6.x, so update the acceptance tests to get the latest version from the correct URL.
(maint) Update puppet-20250406 GPG key
The puppet-20250406 GPG key was updated to remove its subkey which was causing issues when installing the key on SLES 11 and EL 5.
Merge pull request #539 from smortex/fix-windows-install
Fix upgrading Puppet on windows
Merge pull request #538 from GabrielNagy/fix-branch-naming
(maint) Update puppet6 branch name for acceptance tests
(MODULES-10945) Do not install PDK when running PR tests
Create a separate group in the Gemfile for pdk and puppet-blacksmith which are only used for releasing. In the workflow, avoid installing the release group.
(maint) Pin puppet-module-gems
Pin puppet-module-posix-system and puppet-module-win-system to an older version since the newer ones do not bundle some gems that we use in acceptance (i.e. beaker-module_install_helper), causing tests to fail.
(maint) Add puppet7 and remove puppet5 from PR testing
Update the workflow that tests with released Puppet gems to also test with Puppet 7. Remove testing with Puppet 5 from the workflows since it reached EOL.
(maint) Bump Ruby in static analysis workflow
Bump Ruby version in the static code analysis workflow to 2.6, as 2.5 will be EOL soon.
Merge pull request #541 from GabrielNagy/MODULES-10945/gemfile-updates
(MODULES-10945) Module spring cleaning 2021
(maint) Do not include the .git directory in module packages
The package of the puppet_agent module on the Puppet Forge contains the .git directory with the whole history of the project. This content is not used by Puppet and only makes the package bigger and longuer to deploy using r10k, so add a .pdkignore file (stolen from the puppetlabs-motd module) which list the .git directory along with some more files to be ignored.
Merge pull request #540 from smortex/pdkignore
Do not include the .git directory in module packages
(MODULES-10925) add facts_diff task
This adds a new task `puppet_agent::facts_diff` that can be used to display facts differences between Facter 3 and Facter 4 using `puppet facts diff` action.
Merge pull request #542 from gimmyxd/MODULES-10925
(MODULES-10925) Added facts_diff task
(MAINT) Bump upper bound of module dependencies
Bump the upper bound of the module dependencies: - `puppetlabs-stdlib`: `7.0.0` -> `8.0.0` - `puppetlabs-inifile`: `5.0.0` -> `6.0.0` - `puppetlabs-apt`: `8.0.0` -> `9.0.0` All supported modules (including the three mentioned above) recently had a major release in order to incorporate support for Puppet 7.
Merge pull request #545 from puppetlabs/maint/main/bump_module_depend…
…encies (MAINT) Bump upper bound of module dependencies
(MODULES-10879) Implement configuration management
This commit introduces a parameter that can be used to manage agent configuration. This parameter is restricted to managing only specifically permitted settings. Without this functionality, users can only manage agent configuration by independently writing their own ini_setting resources in their own code. This is inefficient and error-prone compared to supporting basic configuration management of the agent in the official Puppet agent supported module. By supporting basic configuration management of settings in this module it will be easier and safer to configure the Puppet agent, as well as becoming easier to document a correct and maintainable way of doing so. Tests: The new puppet_agent::configure class should be included in the catalog if puppet_agent is managing anything. Tests for puppet_agent validate this. Tests for puppet_agent::configure functionality are implelmented in class-specific specs.
(MODULES-10879) Update high-level description
This module provides broader value than just "upgrading" Puppet agents. Update the README summary and description to better reflect the module's capabilities.
(MODULES-10879) Improve tests for conf. class
Improve the tests for the puppet_agent::configuration class, per PR comments. Note that mocking of the puppet_agent class is done in order to test puppet_agent::configuration. This causes some small annoyances, because I can't figure out how to mock returning a value for a scoped variable, $puppet_agent::config, without mocking the whole class. I don't want to make puppet_agent::configure parameterized, which would be another option to ease testing, because I don't want users to have those parameters exposed. So opting for slightly harder tests to write.
Merge pull request #525 from reidmv/configure
(MODULES-10879) Implement configuration management
(MODULES-9798) Add Timeout Parameter for the Current Puppet Run
Add `wait_for_puppet_run` parameter to configure the timeout value for the current puppet run. Previously, if the puppet agent was to be upgraded but the current run took longer than 120000 ms (2 minutes) to complete, the agent upgrade script (install_puppet.ps1) would fail. This would happen even if the agent run would have otherwise completed without error. Fix wait_for_pxp_agent_exit tests. Parameter accepts Int32, the tests were passing a boolean value.
Merge pull request #537 from phil4business/main
(MODULES-9798) Add Timeout Parameter for the Current Puppet Run
(MODULES-10979) Release prep for 4.5.0
Update supported platforms in metadata.json, bump version and add changelog.
PDK 2 has been released which now accepts Facter 4, so we can use it now.
Merge pull request #547 from GabrielNagy/MODULES-10979/release-prep
(MODULES-10979) Release prep for 4.5.0