You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* FFI (for facts like `mountpoints` which are resolved using C API calls)
34
33
35
34
## Basic concepts
36
-
37
35
The project has three main parts, the framework, facts and resolvers.
38
36
In the framework we implement functionality that is agnostic of specific facts like parsing user input, formatting output, etc.
39
37
@@ -54,10 +52,9 @@ sequenceDiagram
54
52
resolver->>fact: system information
55
53
fact->>framework: fact value
56
54
framework->>user: formatted user output
57
-
```
55
+
````
58
56
59
57
## Getting started
60
-
61
58
After cloning the project, run `bundle install` to install all dependencies.
62
59
63
60
You can run facter by executing `./bin/facter`.
@@ -66,13 +63,11 @@ The command will output all the facts that facter detected for the current OS.
66
63
The implementation can be validated locally by running `bundle exec rake check`.
67
64
68
65
## Goals - fast, easy, compatible
69
-
70
66
* Gain performance similar to the C++ version of Facter. We plan to achieve this goal by gathering multiple facts with only one call and by using the faster Win32 API rather than WMI for the Windows implementation.
71
67
* Facilitate community contribution. At the moment, C++ presents a possible impediment for community contributions.
72
68
* Enable native integration with other Ruby-based projects such as Bolt and puppet.
73
69
* Enable native integration for custom facts.
74
70
* Provide 100% compatibility with C++ Facter (drop-in replacement).
75
71
76
72
## Licensing
77
-
78
73
See [LICENSE](https://github.com/puppetlabs/facter/blob/main/LICENSE) file. Puppet is licensed by Puppet, Inc. under the Apache license. Puppet, Inc. can be contacted at: [email protected]
0 commit comments