@@ -514,6 +514,80 @@ bundle agent example
514514
515515- Added in CFEngine 3.28.0, 3.27.1, 3.24.4
516516
517+ ### dnf_group
518+
519+ Manage DNF/YUM package groups using ` dnf group ` . Package groups are collections
520+ of related packages (e.g., "Development Tools", "System Tools") commonly used on
521+ RHEL, Rocky Linux, AlmaLinux, and Fedora systems.
522+
523+ ** Examples:**
524+
525+ Install a package group:
526+
527+ ``` cf3 {skip TODO}
528+ packages:
529+ redhat::
530+ "system-tools"
531+ policy => "present",
532+ package_module => dnf_group;
533+ ```
534+
535+ Install a package group with optional packages included:
536+
537+ ``` cf3 {skip TODO}
538+ packages:
539+ redhat::
540+ "development"
541+ policy => "present",
542+ package_module => dnf_group,
543+ options => { "group_package_types=optional" };
544+ ```
545+
546+ Upgrade all packages in an installed group:
547+
548+ ``` cf3 {skip TODO}
549+ packages:
550+ redhat::
551+ "development"
552+ policy => "present",
553+ package_module => dnf_group,
554+ version => "latest";
555+ ```
556+
557+ Remove a package group:
558+
559+ ``` cf3 {skip TODO}
560+ packages:
561+ redhat::
562+ "system-tools"
563+ policy => "absent",
564+ package_module => dnf_group;
565+ ```
566+
567+ ** Options:**
568+
569+ The ` options ` attribute supports DNF setopt-style configuration:
570+
571+ - ` group_package_types=TYPE ` - Specify which package types to install from the group:
572+ - ` mandatory ` - Only mandatory packages (default)
573+ - ` default ` - Mandatory and default packages
574+ - ` optional ` - Mandatory, default, and optional packages
575+
576+ - Repository configuration: ` <repo>.enabled=1|0 ` or ` enablerepo=<repo> ` , ` disablerepo=<repo> `
577+ - Any DNF configuration option: ` install_weak_deps=false ` , ` allow_downgrade=true ` , etc.
578+
579+ ** Notes:**
580+
581+ - Requires Python 3 and python3-dnf to be installed on the host
582+ - The promiser must be the group ID (e.g., "development-tools"), not the display name ("Development Tools")
583+ - To find group IDs, use: ` dnf group list --ids `
584+ - Use ` version => "latest" ` to upgrade all packages within the group
585+ - Package downgrades follow system configuration (typically disabled)
586+
587+ ** History:**
588+
589+ - Added in CFEngine 3.28.0
590+
517591### apt_get
518592
519593Manage packages using ` apt-get ` .
0 commit comments