Facter is a free command-line tool for gathering information about systems, including hardware, network settings, and operating system type and version. Puppet uses it to collect system information before requesting a catalog or compiling one with puppet apply. Facter includes built-in core facts, both legacy and structured, although some facts do not apply to every system. Users can create custom facts in Ruby, with multiple resolutions for determining a value, and can also use external facts that return static data or the output of an executable. Facts may be hashes or arrays, and Boolean, numeric, and structured values retain their types rather than being converted to strings. Configuration can block fact groups or cache facts with time-to-live settings, which can help when collection is slow. Facts are available in Puppet manifests, while the --puppet option loads Puppet-specific facts from the CLI. PuppetDB's API can support tools for exploring, searching, and reporting on infrastructure facts. Facter runs on Linux, macOS, and Windows, and can be self-hosted. Legacy facts are omitted from default CLI output unless --show-legacy is used.
Who it is for
Facter suits system administrators and Puppet users who need to collect and use system facts from the command line. Custom fact authors should be comfortable with Ruby examples.
What is good
- Collects hardware, network, and operating system facts
- Supports custom Ruby and external facts
- Preserves structured and numeric fact values
- Facts can be used in Puppet manifests
What to know first
- Some built-in facts do not apply to every system
- Custom-fact examples require Ruby familiarity
- Facter does not create facter.conf automatically
- Legacy facts require --show-legacy in CLI output
Verdict
Facter gathers system information and makes it available to Puppet workflows, with support for built-in, custom, and external facts. Users configuring fact groups or caching need to create or manage the configuration file themselves.
Facter plans and pricing
All plansCompared on system information software
- Free plan
- Yes
- Command-line interface
- Yes



