|
1 | 1 | --- |
2 | 2 | layout: default |
3 | | -title: "Documentation index" |
| 3 | +title: "OpenFact 5" |
4 | 4 | --- |
5 | 5 |
|
6 | | -OpenFact is OpenVox's cross-platform system profiling library. It discovers and reports per-node facts, which are available in your OpenVox manifests as variables. |
| 6 | +OpenFact is a cross-platform system profiling library that discovers and reports per-node facts — |
| 7 | +structured data about a node's operating system, hardware, networking, and more. Facts are available |
| 8 | +in OpenVox manifests as top-scope variables (e.g. `$facts['os']['family']`) and are used by the |
| 9 | +catalog compiler to make node-specific decisions. |
7 | 10 |
|
8 | | -* [The OpenFact release notes](./release_notes.html) document OpenFact's history. |
9 | | -* [The CLI](./cli.html) lists and describes the command line interface usage and options for OpenFact (auto-generated). |
10 | | -* [The list of core facts](./core_facts.html) lists and describes every built-in fact that ships with OpenFact (auto-generated). |
11 | | -* [The custom fact reference](./fact_overview.html) serves as an example-driven primer and quick reference for fact authors. |
12 | | -* [The custom facts walkthrough](./custom_facts.html) explains in detail how to write and distribute your own custom or external facts. |
13 | | -* [The configuration file options](./configuring_openfact.html) explains in detail how to configure the behavior of OpenFact. |
| 11 | +OpenFact is the community-maintained continuation of Puppet's Facter, originally adopted under |
| 12 | +[Vox Pupuli](https://voxpupuli.org/) stewardship alongside OpenVox. It is downstream-compatible |
| 13 | +with Facter — existing custom facts and external facts work unchanged. |
| 14 | + |
| 15 | +## How it works |
| 16 | + |
| 17 | +OpenFact runs on each managed node and resolves facts by querying the system directly: reading |
| 18 | +`/proc` entries, running shell commands, calling OS APIs, and so on. Results are returned as a |
| 19 | +structured hash. When a fact can be resolved in multiple ways (for example, differently on Linux |
| 20 | +versus Windows), OpenFact runs the highest-weighted applicable resolution. |
| 21 | + |
| 22 | +**In an agent/server deployment**, OpenFact runs automatically at the start of each agent run. |
| 23 | +The collected facts are sent to OpenVox Server and made available to the catalog compiler. |
| 24 | +Facts are not persisted without OpenVoxDB — they are used during catalog compilation and then |
| 25 | +discarded. The agent run produces a report, which OpenVox Server stores on local disk by default; |
| 26 | +without periodic cleanup, report storage will grow unbounded. OpenVoxDB is an optional component |
| 27 | +that provides durable storage for facts, catalogs, and reports. |
| 28 | + |
| 29 | +**Standalone**, the `facter` CLI lets you query facts directly on any node — useful for |
| 30 | +ad-hoc inspection, debugging, or scripting without triggering a full agent run. |
| 31 | + |
| 32 | +## Included in openvox-agent |
| 33 | + |
| 34 | +OpenFact ships inside the `openvox-agent` package and does not need to be installed separately. |
| 35 | +The version bundled with a given agent release is listed in |
| 36 | +[Component versions in openvox-agent](/openvox/latest/about_agent.html). |
| 37 | + |
| 38 | +## Getting started |
| 39 | + |
| 40 | +- [Core facts reference](./core_facts.html) — every built-in fact that ships with OpenFact (auto-generated) |
| 41 | +- [Custom facts walkthrough](./custom_facts.html) — step-by-step guide to writing and distributing your own facts |
| 42 | +- [Custom facts reference](./fact_overview.html) — example-driven quick reference for fact authors |
| 43 | +- [Configuring OpenFact](./configuring_openfact.html) — `facter.conf` options |
| 44 | +- [CLI reference](./cli.html) — command-line flags and options (auto-generated) |
| 45 | +- [Release notes](./release_notes.html) — OpenFact version history |
0 commit comments