From b1a341a2e9438d2da3133196e05b5cbdccca1ebb Mon Sep 17 00:00:00 2001 From: Emerson Prado Date: Tue, 22 Aug 2023 11:52:33 -0300 Subject: [PATCH] Add in README dnf_module_stream reasoning --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index f53ed27..7b934fd 100644 --- a/README.md +++ b/README.md @@ -498,6 +498,20 @@ dnf_module_stream { '': } ``` +#### `dnf_module_stream` resource versus `dnfmodule` provider + +[DNF modules](https://dnf.readthedocs.io/en/latest/modularity.html) is a feature from `yum` successor, `dnf`, which allows easier and more robust selections of software versions and collections. + +As of Aug 22, 2023, [core Puppet `package` resource `dnfmodule` provider](https://www.puppet.com/docs/puppet/8/types/package.html#package-provider-dnfmodule) has some support for managing streams and profiles, but it has some issues: + +1. Setting stream is mandatory when (un)installing profiles - No way of just keeping currently enabled stream +1. It only supports installing a single profile, despite the fact `dnf` supports multi-profile installations and there are use cases for that +1. Managing two things - streams setting and profile (un)installation - in the same resource invocation is inherently messy + +One can fix 1 and 2, and add good docs to deal with 3. A compelling reason not to keep 1 and 3 is that a stream is a setting, not something one (un)installs. This makes it unsuitable for the `package` resource which, in principle, should only (un)install stuff. + +So, while one fix 2, this custom resource aims to fully and better replace `dnfmodule` provider stream support. + ### Puppet tasks The module has a puppet task that allows to run `yum update` or `yum upgrade`.