|
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 | +> **Note:** Legacy flat facts (e.g. `$::osfamily`) are hidden from `facter`'s default CLI output |
| 12 | +> and are not collected or sent to OpenVox Server in OpenVox 8. From the CLI you can still view |
| 13 | +> them with `facter --show-legacy`. In the agent, they can be re-enabled by setting |
| 14 | +> `include_legacy_facts=true` in the agent's `puppet.conf`, but this is not recommended. |
| 15 | +> Use the structured `$facts` hash instead. |
| 16 | +
|
| 17 | +OpenFact is the community-maintained continuation of Puppet's Facter, originally adopted under |
| 18 | +[Vox Pupuli](https://voxpupuli.org/) stewardship alongside OpenVox. It is downstream-compatible |
| 19 | +with Facter — existing custom facts and external facts work unchanged. |
| 20 | + |
| 21 | +## How it works |
| 22 | + |
| 23 | +OpenFact runs on each managed node and resolves facts by querying the system directly: reading |
| 24 | +`/proc` entries, running shell commands, calling OS APIs, and so on. Results are returned as a |
| 25 | +structured hash. When a fact can be resolved in multiple ways (for example, differently on Linux |
| 26 | +versus Windows), OpenFact picks the first applicable resolution and discards the rest. |
| 27 | + |
| 28 | +**In an agent/server deployment**, OpenFact runs automatically at the start of each agent run. |
| 29 | +The collected facts are sent to OpenVox Server, where they are available to the catalog compiler |
| 30 | +and stored for reporting. |
| 31 | + |
| 32 | +**Standalone**, the `facter` CLI lets you query facts directly on any node — useful for |
| 33 | +ad-hoc inspection, debugging, or scripting without triggering a full agent run. |
| 34 | + |
| 35 | +## Included in openvox-agent |
| 36 | + |
| 37 | +OpenFact ships inside the `openvox-agent` package and does not need to be installed separately. |
| 38 | +The version bundled with a given agent release is listed in |
| 39 | +[Component versions in openvox-agent](../../openvox/latest/about_agent.html). |
| 40 | + |
| 41 | +## Getting started |
| 42 | + |
| 43 | +- [Core facts reference](./core_facts.html) — every built-in fact that ships with OpenFact (auto-generated) |
| 44 | +- [Custom facts walkthrough](./custom_facts.html) — step-by-step guide to writing and distributing your own facts |
| 45 | +- [Custom facts reference](./fact_overview.html) — example-driven quick reference for fact authors |
| 46 | +- [Configuring OpenFact](./configuring_openfact.html) — `facter.conf` options |
| 47 | +- [CLI reference](./cli.html) — command-line flags and options (auto-generated) |
| 48 | +- [Release notes](./release_notes.html) — OpenFact version history |
0 commit comments