Skip to content
SPECIFICTION
Get listed

Facter

puppet.com

Free plan Open source WindowsmacOSLinuxAPISelf-hosted
Visit puppet.com
Spec score 8.8 #2 of 34 in System Information Software

What it is

Facter is a free command-line tool that gathers system information such as hardware details, network settings, and operating system type and version. Puppet uses it to collect information before requesting a catalog or compiling one with puppet apply. Its built-in core facts include legacy and structured facts, though some facts do not apply to every system. Users can add custom facts in Ruby, with multiple resolutions available for determining a value, or external facts that return static data or output from a script or program. Facts can be hashes or arrays, and Boolean, numeric, and structured values retain their types. Configuration can block fact groups or cache results with time-to-live settings. Facts are available in Puppet manifests, while the --puppet option loads Puppet-specific facts from the command line. PuppetDB's API can support exploration, search, and reporting on infrastructure facts. Facter runs on Linux, macOS, and Windows and can be self-hosted. Legacy facts are omitted from default command-line output unless --show-legacy is used. Puppet's custom-fact examples require some Ruby familiarity, and facter.conf must be created manually or managed with a module.

Spec sheet

What it does
Facter is Puppet’s cross-platform system-profiling library that discovers per-node facts and exposes them as variables in Puppet manifests.Read 14 Oct 2026 · help.puppet.com
Purpose
Facter is a command-line tool that gathers facts about systems, including hardware details, network settings, and operating system type and version.Read 4 Oct 2026 · help.puppet.com
License
Facter is open source and the repository identifies the Apache-2.0 license.Read 14 Oct 2026 · github.com
Acquisition news
Perforce announced completion of its Puppet acquisition on May 18, 2022, with financial terms undisclosed.Read 14 Oct 2026 · perforce.com
API extensibility
Resolvers gather data from commands, files or other system sources, while the framework formats and exposes those values through Facter’s Ruby APIs.Read 14 Oct 2026 · github.com
Built-in facts
Facter ships with built-in core facts, including legacy and structured facts, though not all facts apply to every system.Read 4 Oct 2026 · help.puppet.com
Collected data
The command-line tool gathers hardware details, network settings, operating-system type and version, hostname, IP address and other system information.Read 14 Oct 2026 · github.com
Command line
Facter can be installed as a Ruby gem with the command gem install facter.Read 14 Oct 2026 · help.puppet.com
Company headquarters and size
LinkedIn lists Perforce Puppet headquarters in Minneapolis, Minnesota and company size of 501–1,000 employees.Read 14 Oct 2026 · linkedin.com
Company identity
Puppet was created in 2005 by Luke Kanies and has been owned by Perforce since 2022.Read 14 Oct 2026 · puppet.com
Configuration
Facter can be configured to block fact groups or cache facts with time-to-live settings; this can help when fact collection is slow.Read 4 Oct 2026 · help.puppet.com
Configuration file limit
Facter does not create facter.conf automatically, so users must create it manually or manage it with a module.Read 4 Oct 2026 · help.puppet.com
Custom facts
Users can add custom facts with Ruby snippets on the primary Puppet server, distributed to clients through module plug-ins.Read 14 Oct 2026 · help.puppet.com
Documentation depth
Official documentation covers CLI use, core facts, custom and external facts, structured facts and facter.conf configuration.Read 14 Oct 2026 · help.puppet.com
Enterprise trial allowance
Puppet Enterprise can be run on 10 nodes at no charge with no stated time limit.Read 14 Oct 2026 · puppet.com
External facts
External facts may come from arbitrary executables, scripts or static structured-data files, allowing facts to be written in languages such as Perl, C or plain text.Read 14 Oct 2026 · help.puppet.com
Fact configuration
The facter.conf file can cache or block fact groups and individual facts and controls global and command-line behavior.Read 14 Oct 2026 · help.puppet.com
Fact groups
Facter 4 supports user-defined fact groups and dot notation for custom and external fact hierarchies.Read 14 Oct 2026 · puppet.com
Free node allowance
Puppet Core has a free developer or user license for testing or development on a maximum of 25 nodes.Read 14 Oct 2026 · help.puppet.com
Granular caching
Facter 4 supports blocking and caching at any level of a fact hierarchy, including individual nested values.Read 14 Oct 2026 · puppet.com
Independent pricing perception
G2’s review summary places Puppet Enterprise’s perceived cost at the highest category, shown as four dollar signs, and reports an average implementation time of four months.Read 14 Oct 2026 · g2.com
Latest release
Facter 4.22.0 was released in September 2026 and constrains its JSON dependency to versions from 2.0 up to but excluding 4.Read 14 Oct 2026 · help.puppet.com
Legacy fact behavior
Legacy facts are excluded from default command-line output and can be included with the --show-legacy option.Read 4 Oct 2026 · help.puppet.com
Limit: Capterra complexity
Capterra reviewers repeatedly cite a steep learning curve and the complexity of Ruby-based development as drawbacks.Read 14 Oct 2026 · capterra.com
Limit: G2 learning curve and cost
G2 reviewers repeatedly describe Ruby or Puppet coding and initial setup as difficult, and some call Puppet Enterprise expensive versus alternatives.Read 14 Oct 2026 · g2.com
Limit: Gartner unresolved issues
A Gartner reviewer reports bumps and unresolved issues that are not always obvious and may require product changes.Read 14 Oct 2026 · gartner.com
Limit: TrustRadius support scope
A TrustRadius reviewer says open-source use has limited business support compared with the closed-source counterpart.Read 14 Oct 2026 · trustradius.com
Maker history
Puppet says it was founded in 2005 and acquired by Perforce in 2022.Read 4 Oct 2026 · puppet.com
Praise: Capterra deployment automation
Capterra reviewers praise deployment automation, reusable modules, integration with Docker and broad configuration-management capability.Read 14 Oct 2026 · capterra.com
Praise: G2 automation and modules
G2 reviewers repeatedly praise automation that reduces deployment work, extensive community support and modules, cross-platform operation, and scalability to very large server fleets.Read 14 Oct 2026 · g2.com
Praise: TrustRadius reliability
TrustRadius summarizes reviewers as valuing dependable infrastructure-as-code deployment, configuration-drift control and automation of repetitive operations.Read 14 Oct 2026 · trustradius.com
Puppet integration
Facter facts are available in Puppet manifests, and Puppet-specific facts can be loaded from the CLI with the --puppet option.Read 4 Oct 2026 · help.puppet.com
Puppet use
Puppet uses Facter to collect system information before requesting a catalog or compiling one with puppet apply.Read 4 Oct 2026 · help.puppet.com
PuppetDB integration
PuppetDB's API can be used to explore or build tools to search and report on infrastructure facts.Read 4 Oct 2026 · help.puppet.com
Rating on Capterra
Puppet Enterprise is rated 4.4 out of 5 from 24 reviews.Read 14 Oct 2026 · capterra.com
Rating on G2
Puppet Enterprise is rated 4.2 out of 5 from 43 reviews.Read 14 Oct 2026 · g2.com
Rating on Gartner Peer Insights
Puppet Enterprise is rated 4.1 out of 5 from 47 ratings.Read 14 Oct 2026 · gartner.com
Rating on Software Advice
Puppet Enterprise is rated 4.4 out of 5 from 24 reviews.Read 14 Oct 2026 · softwareadvice.com
Rating on TrustRadius
Perforce Puppet scores 8.5 out of 10 from 58 reviews and ratings.Read 14 Oct 2026 · trustradius.com
Recent compatibility change
Facter 4.16.0 raised the minimum Ruby version from 2.5 to 3.1 to reduce security risk.Read 14 Oct 2026 · help.puppet.com
Recent feature
Facter 4.21.0, released in August 2026, added native Windows disk and partition facts using WMI.Read 14 Oct 2026 · help.puppet.com
Ruby integration
The project is implemented in Ruby and is designed for native integration with Ruby-based Puppet and Bolt projects.Read 14 Oct 2026 · github.com
Ruby knowledge
Puppet's custom-fact examples require some familiarity with Ruby.Read 4 Oct 2026 · help.puppet.com
Runtime requirements
The repository lists Ruby 2.5 or newer and the FFI gem as requirements, with FFI used for facts such as mountpoints.Read 14 Oct 2026 · github.com
Security compliance
Puppet’s Security Compliance Enforcement modules apply CIS Benchmark and DISA STIG controls to Puppet Core or Puppet Enterprise environments.Read 14 Oct 2026 · help.puppet.com
Structured data
Facts can be structured as hashes or arrays, and Puppet preserves Boolean, numeric, and structured fact values without converting them to strings.Read 4 Oct 2026 · help.puppet.com
Structured facts
Facts can return hashes or arrays and Facter automatically treats those return values as structured data.Read 14 Oct 2026 · help.puppet.com
Supported operating systems
The project README lists Linux, macOS, Windows, Solaris and AIX as supported platforms.Read 14 Oct 2026 · github.com
Timing diagnostics
Facter 4 adds a --timing command-line option for profiling fact collection.Read 14 Oct 2026 · puppet.com
Windows support
Facter 4.21 added built-in disk and partition facts for Windows, using Windows Management Instrumentation to retrieve the information.Read 4 Oct 2026 · help.puppet.com

Plans and prices

Puppet Core Developer Free up to 25 nodes · latest releases for development Read 14 Oct 2026 · puppet.com
Puppet Core Commercial Priced on request 25+ nodes · vendor-supported builds · support and SLAs Read 14 Oct 2026 · puppet.com
Puppet Enterprise Priced on request subscription per node · web GUI · RBAC · hybrid infrastructure management Read 14 Oct 2026 · puppet.com
Puppet Enterprise Advanced Priced on request subscription per node · compliance and vulnerability remediation · AI features · priority support Read 14 Oct 2026 · puppet.com

Every Facter plan and price →

Strong points and limits

Strong points

  • Collects hardware, network, and operating system facts.
  • Supports custom and external facts.
  • Preserves Boolean, numeric, and structured values.
  • Can cache facts with time-to-live settings.
  • Runs on Linux, macOS, and Windows.

Limits

  • Some built-in facts do not apply to every system.
  • Custom facts require Ruby familiarity.
  • Legacy facts are hidden by default.
  • facter.conf must be created manually or managed.

Who it suits

Facter suits system administrators and Puppet users who need to gather and use machine facts in manifests or reporting workflows. Custom-fact authors should be comfortable with Ruby.

Facter in depth

Read the full write-up

Overview

Facter is a command-line utility for collecting hardware, network, and operating-system information from machines. It is best suited to administrators whose inventory feeds Puppet or other infrastructure workflows rather than people wanting a visual, one-off system report. The free price and extensible fact model are compelling, provided you can work with command-line configuration and, for custom facts, Ruby.

Key features

Facter's built-in core facts cover common system properties, with both legacy and structured forms. Coverage depends on the operating system, so a fact available on one machine is not necessarily present on another. Legacy facts are omitted from normal command-line output and require --show-legacy, keeping routine output focused while preserving access to older fields.

Extension options are broad. Custom facts are written in Ruby, and multiple resolutions can determine a value when different systems need different methods. External facts can instead return fixed data or the output of an executable script or program. That makes Facter adaptable to local conventions, but Ruby knowledge becomes part of the maintenance burden for teams building more than simple external scripts.

Facts may be hashes or arrays, and Puppet keeps Boolean, numeric, and structured values in those types rather than converting everything to text. You can block fact groups and apply time-to-live caching, useful when collection is slow or when repeated runs should avoid unnecessary work. Facter does not create facter.conf itself, so configuration requires a manually created file or module-managed setup.

Puppet collects Facter information before requesting a catalog or compiling one with puppet apply. The resulting facts are usable in manifests, and --puppet loads Puppet-specific facts from the command line. PuppetDB's API can support tools that search or report on infrastructure facts, extending Facter's value beyond an individual host.

Windows support includes built-in disk and partition facts in Facter 4.21, retrieved through Windows Management Instrumentation. That is a meaningful improvement for mixed-platform estates, while Linux and macOS remain supported alongside self-hosted deployments.

Pricing

Facter itself is free. The related Puppet Core Developer plan costs nothing for fewer than 25 nodes, making it the natural fit for small development or evaluation environments. Puppet Core Commercial is custom-priced for 25 or more nodes, while Puppet Enterprise and Puppet Enterprise Advanced are also custom-priced and require contacting sales. The free tier's node ceiling matters as an estate grows; larger deployments should budget for a commercial agreement rather than assume the developer terms continue.

Platforms

Facter runs on Linux, macOS, Windows, and self-hosted environments. Its command-line form suits servers and automation, while the Windows disk and partition facts use Windows Management Instrumentation.

Who it's for

Choose Facter when machine facts need to drive Puppet catalogs, manifests, inventory, or infrastructure reporting. It also fits technically capable operators who need structured output, selective collection, caching, or custom resolutions. It is a weaker choice for casual desktop diagnosis, users who expect automatic configuration, or teams unwilling to maintain Ruby-based extensions.

Pros and cons

Pros

Free core tool: There is no software charge, with a free Puppet Core Developer tier for environments under 25 nodes.

Extensible collection: Ruby custom facts, multiple resolutions, and executable external facts accommodate organization-specific data.

Automation-friendly types: Hashes, arrays, Booleans, and numbers remain structured for Puppet consumers.

Collection controls: Fact-group blocking and time-to-live caching can reduce the cost of slow collection.

Puppet alignment: Facts flow directly into manifests and can feed PuppetDB search and reporting tools.

Cons

Manual configuration: Users must create or module-manage facter.conf; it is not generated automatically.

Ruby requirement: Custom-fact work favors teams already comfortable with Ruby.

System-dependent coverage: Not every built-in fact applies on every operating system.

Commercial scaling: Beyond the under-25-node developer tier, Puppet plans move to custom pricing.

Alternatives

For a broad directory of system-information tools, see System Information Software.

BelManage is a paid, cross-platform asset and configuration-management option with a 10.00 USD yearly on-premises computer plan and a free trial; pick it when managed asset records matter more than Puppet-native facts.

HWMonitor is a free Windows and Android sensor monitor, with a 19.95 USD one-time Pro Standard option; choose it for live hardware-sensor monitoring rather than infrastructure fact collection.

SIW targets Windows system information and offers a free viewer plus a free 14-day trial version; it suits desktop inspection.

Fastfetch is a free MIT-licensed command-line tool with more than 75 system-information modules across Android, Linux, macOS, and Windows; choose it for readable local summaries without Puppet integration.

ASTRA32 is a Windows freemium utility, free for non-commercial use.

hw-probe is a free Linux and self-hosted project for anonymous hardware collection and collaborative troubleshooting.

AIDA64 is a paid diagnostic suite for Android, iOS, and Windows, with free trials and licensed editions.

EtreCheckPro is a macOS freemium diagnostic tool with a free command-line-capable download and a one-time Power User upgrade.

Verdict

Facter is the right choice for Puppet-oriented administrators who need extensible, structured facts across Linux, macOS, Windows, or self-hosted systems at no software cost. Choose something else when you need a polished desktop report, live sensor monitoring, or configuration that works without Ruby and manual file setup.

Verdict

Facter provides system facts for command-line use and Puppet workflows, with options for custom facts and collection configuration. Users should note the Ruby requirement for custom facts and the manual configuration-file setup.

Where Specifiction places it

Alternatives to FacterAll alternatives →