theforeman.foreman
Ansible Modules to manage Foreman and Katello installations
Health score
73 / 100
Healthy, with room to improve.
- Excellent
- Good (this collection)
- Fair
- Poor
- Not scored
Observed 5 of 8 signal groups.
Four are needed before a score is published.
4 needed
Category subscores
- Security
- 100%
- Trust
- 100%
- Quality
- 68%
- Maintenance
- 85%
- ansible-core compatibility
- 33%
| Signal | Verdict | What we found | Points | Proved by |
|---|---|---|---|---|
| Signals we could observe | ||||
| security.dependency_boundedness | Passed | no dependencies declared | 1 / 1 | Published artifact |
| trust.ansible_membership | Passed | ships in 12 ansible package majors | 2 / 2 | ansible-build-data |
| trust.link_claims | Passed | 4 of 4 link URLs declared | 1 / 1 | Published artifact |
| quality.docs | Partly met | readme, 0 doc files | 1.5 / 3 | Published artifact |
| quality.changelog | Partly met | changelog.yaml, 0 fragments | 1.6 / 2 | Published artifact |
| quality.license_quality | Passed | SPDX id declared (GPL-3.0-or-later) | 1 / 1 | Published artifact |
| maintenance.release_recency | Passed | last release 114 days ago | 3 / 3 | Galaxy index |
| maintenance.changelog_recency | Partly met | 0 unreleased changelog fragments | 0.4 / 1 | Published artifact |
| compat.requires_ansible | Partly met | >=2.10.4 | 0.3 / 3 | Published artifact |
| compat.membership_currency | Passed | ships in ansible 14 (current is 12) | 1 / 1 | ansible-build-data |
| Signals we could not observeNot observed — these are left out of the score rather than counted against it. | ||||
| quality.tests | Not observed | no test evidence in the published artifact | excluded from this score | Published artifact |
| quality.ci | Not observed | no CI evidence in the published artifact | excluded from this score | Published artifact |
No repository evidence yet. ansible.care has not read any collection's Git repository, so every signal above was proved from a published artifact or from Ansible’s own build data. Tests and CI in particular can be proved present this way but never proved absent — so when we cannot see them, we leave them out of the score rather than counting them against you.
What is costing points
Each of these is a signal we observed and could not fully credit.
- compat.requires_ansible
Declare a `requires_ansible` FLOOR in your `galaxy.yml` naming the oldest ansible-core you actually support, and declare an upper bound alongside it if you test against one — the bound is credited on top of whichever floor tier you reach in the table beside this rule. Declaring nothing now scores zero and STAYS in your score rather than dropping out of it, so omitting the field is no longer a way to avoid the question; if your score fell and you have never declared a floor, this is why. An exact pin or a `~=` compatible-release specifier earns only a small share, strictly below every floor tier: it is a real declaration we could read, so it beats silence, and it sits at the bottom because pinning ansible-core is the practice this category exists to discourage. Raising a floor you cannot actually support would be a false declaration, and this rule is not worth that.
- quality.docs
Ship your README and your `docs/` directory INSIDE the published tarball, not only in your Git repository — we do not read repositories at all yet, so a file that exists only there is a file we cannot see. If your `build_ignore` excludes `docs/`, that exclusion is why we observed nothing. Beyond the README this rule counts documentation FILES, so splitting a long README into per-module and per-role pages is what moves it; adding filler pages to raise a count would satisfy the arithmetic and help nobody.
- quality.changelog
Ship a `changelogs/changelog.yaml` — the structured form `antsibull-changelog` generates and the `ansible` package consumes — rather than only a hand-maintained `CHANGELOG.md`, and write a fragment into `changelogs/fragments/` as each change lands rather than reconstructing release notes at release time. Both have to be inside the published tarball to be observable: a changelog that lives only in your Git repository is one we cannot read. This is the single highest-leverage change for most collections, because the same missing file is what holds down both changelog rules in this rubric. If you already publish `changelog.yaml` with fragments, this rule is answered.
Links
Authors
- @lessfoobar <59063885+lessfoobar@users.noreply.github.com>
- Adam Růžička <aruzicka@redhat.com>
- Alan.Wong <alawong@redhat.com>
- AlanCoding <arominge@redhat.com>
- Andrea Perotti <aperotti@redhat.com>
- Andrew Kofink <ajkofink@gmail.com>
- Andrewich <31399855+Andrewich@users.noreply.github.com>
- Aneta Šteflová Petrová <apetrova@redhat.com>
- Anthony Green <green@moxielogic.com>
- Anton <nesanton@gmail.com>
- Baptiste Agasse <baptiste.agasse@gmail.com>
- Bernhard Hopfenmüller <hopfenmueller@atix.de>
- Bernhard Suttner <sbernhard@users.noreply.github.com>
- Bilhan Karaören <bkaraoren@redhat.com>
- Bryan Kearney <bkearney@redhat.com>
- Chris Forkner <gen2fish@gmail.com>
- Chris Hindman <chindman@chindman.remote.csb>
- Chris Snell <chsnell@users.noreply.github.com>
- Christoffer Reijer <ephracis@gmail.com>
- Dave Thomas <11580510+dthomastx@users.noreply.github.com>
- Deric Crago <deric.crago@gmail.com>
- Dirk Goetz <dirk.goetz@netways.de>
- Eric D. Helms <ericdhelms@gmail.com>
- Eric L <ericzolf@users.noreply.github.com>
- Ethan <smithe2413@gmail.com>
- Evgeni Golov <evgeni@golov.de>
- Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl>
- Felix Fontein <felix@fontein.de>
- Francesco Trentini <francesco.trentini@ris.bz.it>
- Gaurav Talreja <gtalreja@redhat.com>
- Gerald Vogt <gvde@users.noreply.github.com>
- Greg Swift <gregswift@gmail.com>
- Griffin Sullivan <gsulliva@redhat.com>
- Hideki Saito <saito@fgrep.org>
- Imed <imaouide@redhat.com>
- Ismael Puerto <ismaelpuerto@users.noreply.github.com>
- Jakob Oettinger <jakob.oettinger@zeiss.com>
- Jameer Pathan <jpathan@redhat.com>
- James Jeffers <jjeffers@redhat.com>
- James Stuart <james@stuart.name>
- Jan Jansky <jjansky@redhat.com>
- Jeffrey van Pelt <jeff@vanpelt.one>
- Jeremy Albinet <jalbinet@scaleway.com>
- Jeremy Lenz <jlenz@redhat.com>
- Jesper Reenberg <jesper.reenberg@gmail.com>
- John Berninger <john.berninger@gmail.com>
- Josh Swanson <jswanson@redhat.com>
- Julien Godin <julien.godin@camptocamp.com>
- Kenny Tordeurs <ktordeur@redhat.com>
- Kirill Shirinkin <fodojyko@gmail.com>
- Leos Stejskal <lstejska@redhat.com>
- Lester Cheung <lcheung@threatmetrix.com>
- Lester Claudio <claudiol@redhat.com>
- Lucas Bickel <hairmare@rabe.ch>
- Lukas Kallies <kallies@puzzle-itc.de>
- Lukas Magauer <Lukas.Magauer@engel.at>
- Lukáš Zapletal <lzap+git@redhat.com>
- Manisha Singhal <manisha1595@gmail.com>
- Manuel Bonk <githubMB@bonkii.com>
- Marcelo Moreira de Mello <tchello.mello@gmail.com>
- Marek Czernek <mczernek@redhat.com>
- Mark Hlawatschek <hlawatschek@atix.de>
- Marko Myllynen <myllynen@redhat.com>
- Markus Bucher <bucher@atix.de>