https://github.com/puppetlabs/puppetlabs-facts
This module provides the facts task. This task allows you to discover facts about remote machines in your infrastructure.
https://github.com/puppetlabs/puppetlabs-facts
module supported
Last synced: 3 months ago
JSON representation
This module provides the facts task. This task allows you to discover facts about remote machines in your infrastructure.
- Host: GitHub
- URL: https://github.com/puppetlabs/puppetlabs-facts
- Owner: puppetlabs
- License: apache-2.0
- Created: 2018-05-29T22:30:23.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-12-18T09:48:56.000Z (7 months ago)
- Last Synced: 2025-03-29T22:06:47.623Z (3 months ago)
- Topics: module, supported
- Language: Ruby
- Homepage:
- Size: 170 KB
- Stars: 6
- Watchers: 86
- Forks: 23
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# facts
#### Table of Contents
1. [Description](#description)
2. [Requirements](#requirements)
3. [Usage](#usage)
4. [Reference - An under-the-hood peek at what the module is doing and how](#reference)## Description
This module provides a collection of facts tasks and plans all of which retrieve facts from the specified targets but each of them processes the retrieved facts differently. The provided plans are:
* `facts` - retrieves the facts and then stores them in the inventory, returns a result set wrapping result objects for each specified target which in turn wrap the retrieved facts
* `facts::info` - retrieves the facts and returns information about each target's OS compiled from the `os` fact value retrieved from that targetThe provided tasks:
* `facts` - retrieves the facts and without further processing returns a result set wrapping result objects for each specified target which in turn wrap the retrieved facts (this task is used by the above plans). This task relies on cross-platform task support; if unavailable, the individual implementations can be used instead.
* `facts::bash` - bash implementation of fact gathering, used by the `facts` task.
* `facts::powershell` - powershell implementation of fact gathering, used by the `facts` task.
* `facts::ruby` - ruby implementation of fact gathering, used by the `facts` task.`puppet_agent` module support:
The `puppet_agent::install_shell` task uses the `bash.sh` implementation code to gather facts. When `bash.sh` is invoked with the positional argument `platform` or `release` *only* the requested fact is returned.Example
```
root@y77tzpv6qxnx5at:~# ./bash.sh
{
"os": {
"name": "Ubuntu",
"release": {
"full": "16.04",
"major": "16",
"minor": "04"
},
"family": "Debian"
}
}
root@y77tzpv6qxnx5at:~# ./bash.sh "release"
16.04
root@y77tzpv6qxnx5at:~# ./bash.sh "platform"
Ubuntu
```## Requirements
This module is compatible with the version of Puppet Bolt it ships with.
## Usage
To run the facts plan run
```
bolt plan run facts --targets target1.example.com,target2.example.com
```### Parameters
All plans have only one parameter:
* `targets` - The targets to retrieve the facts from.
## Reference
The core functionality is implemented in the `facts` task, which provides implementations
for the `shell`, `powershell`, and `puppet-agent` features. The powerhsell and bash implementations of the task compile and return information
mimicking that provided by facter's `os` fact. When the `puppet-agent` feature is available the ruby implementation will return the result running `facter --json` on the target.