Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce new CPE platform for bootable containers #12519

Merged
merged 4 commits into from
Oct 24, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions shared/applicability/bootc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: cpe:/a:bootc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also applies to other immutable OSes like Fedora Silverblue.

Should we rename to something like immutable?

title: Bootable containers
# Matches:
# - bootc (RHEL Image Mode) containers and container images
# - running bootc (RHEL Image Mode) systems
# Does not match:
# - classic containers and container images
# - normal bare-metal systems or VMs
# - other rpm-ostree based systems eg. Silverblue
#
# The matching platforms and non-matching platforms can be easily distinguished
# by checking for presence of the kernel, rpm-ostree, and bootc RPM packages.
# Bootable containers and running bootc systems both contain both these packages.
jan-cerny marked this conversation as resolved.
Show resolved Hide resolved
# Normal bare-metal systems usually don't have the rpm-ostree, normal
# containers don't contain kernel.
#
check_id: bootc
bash_conditional: "{ rpm --quiet -q kernel } && { rpm --quiet -q rpm-ostree } && { rpm --quiet -q bootc }"
ansible_conditional: '"kernel" in ansible_facts.packages and "rpm-ostree" in ansible_facts.packages and "bootc" in ansible_facts.packages'
13 changes: 13 additions & 0 deletions shared/applicability/oval/bootc.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<def-group>
<definition class="inventory" id="bootc" version="1">
{{{ oval_metadata("Bootable container or bootc system", affected_platforms=["multi_platform_all"]) }}}
<criteria operator="AND">
<criterion comment="kernel is installed" test_ref="bootc_platform_test_kernel_installed" />
<criterion comment="rpm-ostree is installed" test_ref="bootc_platform_test_rpm_ostree_installed" />
<criterion comment="bootc is installed" test_ref="bootc_platform_test_bootc_installed" />
</criteria>
</definition>
{{{ oval_test_package_installed(package="kernel", test_id="bootc_platform_test_kernel_installed") }}}
{{{ oval_test_package_installed(package="rpm-ostree", test_id="bootc_platform_test_rpm_ostree_installed") }}}
{{{ oval_test_package_installed(package="bootc", test_id="bootc_platform_test_bootc_installed") }}}
</def-group>
Loading