This document provides an overview of the OVAL Repository organization.
Please note: this documentation is a work in progress. If you have questions or suggestions, please create an issue with a full description of your question or idea.
- The OVAL Repository Website (coming soon)
- Repository Overview
- Repository Organization (this document)
- Contributing OVAL
- Scripts for OVAL Contributors & Consumers
- Getting a Local Copy of the Repository
- Get Python 3.4 & Required Packages
- Contributing Scripts
The "repository" folder is where you can find all of the XML files that can be built into valid OVAL definitions. The first children under repository
are as follows:
definitions
objects
states
tests
variables
The definitions
folder is further decomposed by class (i.e. compliance
, inventory
and so on).
The other OVAL types (objects
, states
, and so on; except for variables) are broken down a bit differently. They are first categorized by "schema short name" (i.e. independent
), and further categorized by predicate (i.e. variable_test
, rpminfo_test
, and the like). Finally, specific entities may be further categorized by index modulus - essentially by ID.
Put into an abstract example:
repository/[oval_type]s/[schema_short_name]/[predicate]/[index_modulus]
Put into a specific example:
repository/objects/linux/rpminfo_object/24000/oval_org.mitre.oval_obj_23691.xml
It is from this organizational structure that the scripts build complete, valid OVAL definitions.