{"id":15022820,"url":"https://github.com/logic/puppet-dnfgroup","last_synced_at":"2026-02-06T13:36:16.423Z","repository":{"id":57664590,"uuid":"120959699","full_name":"logic/puppet-dnfgroup","owner":"logic","description":"A puppet package provider for DNF groups","archived":false,"fork":false,"pushed_at":"2018-02-20T02:55:30.000Z","size":24,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-08T10:00:00.834Z","etag":null,"topics":["dnf","packages","puppet","puppet-module","ruby"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/logic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-09T21:53:11.000Z","updated_at":"2018-02-09T22:16:22.000Z","dependencies_parsed_at":"2022-09-11T06:06:29.550Z","dependency_job_id":null,"html_url":"https://github.com/logic/puppet-dnfgroup","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/logic/puppet-dnfgroup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logic%2Fpuppet-dnfgroup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logic%2Fpuppet-dnfgroup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logic%2Fpuppet-dnfgroup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logic%2Fpuppet-dnfgroup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/logic","download_url":"https://codeload.github.com/logic/puppet-dnfgroup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logic%2Fpuppet-dnfgroup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29162417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T12:44:37.655Z","status":"ssl_error","status_checked_at":"2026-02-06T12:44:13.991Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dnf","packages","puppet","puppet-module","ruby"],"created_at":"2024-09-24T19:58:25.232Z","updated_at":"2026-02-06T13:36:16.408Z","avatar_url":"https://github.com/logic.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/logic/puppet-dnfgroup.svg?branch=master)](https://travis-ci.org/logic/puppet-dnfgroup)\n\n`dnfgroup` adds a package provider to puppet so you can manage DNF groups in a\nfamilar way:\n\n```puppet\npackage {\n    'workstation-product-environment':\n        ensure   =\u003e 'installed',\n        provider =\u003e 'dnfgroup';\n}\n```\n\nOn Fedora, that will ensure that the \"Fedora Workstation\" environment group\n(group ID \"workstation-product-environment\") is installed, which will install\nany subgroups and individual packages.\n\nThis provider doesn't make any distinctions between different types of groups\n(groups, environment groups, language groups), as there appear to be no\ntechnical reasons to differentiate at the puppet level.\n\nYou can accomplish something very similar to what this provider does with the\ndefault dnf provider by using the group-id, prefixed by `@`, as the package\nname. However, the dnf provider won't register the group as installed, because\nit doesn't know about that particular magic syntax, so it will attempt to\nreinstall it with every run (even if that doesn't sound too bad, if you `ensure\n=\u003e 'absent'` a package that happens to be in that group, it will get installed\nand then immediately removed every run). This provider also allows you to refer\nto groups by their longer name (which are added as aliases), rather than by ID.\n\nThis is an unusual package provider, in that it doesn't support versions (since\nthere's no versioning of DNF groups), and as a result, there's no support for\nupgrading (via `ensure =\u003e 'latest'`), because there's no easy way to determine\nif an upgrade is needed without actually testing the transaction, which is a\nvery expensive check for something of fairly low utility (assuming you have an\nout-of-band mechanism for handling package upgrades).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogic%2Fpuppet-dnfgroup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flogic%2Fpuppet-dnfgroup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogic%2Fpuppet-dnfgroup/lists"}