ohai 18.2.6 → 19.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +28 -28
  3. data/LICENSE +201 -201
  4. data/bin/ohai +25 -25
  5. data/lib/ohai/application.rb +189 -189
  6. data/lib/ohai/common/dmi.rb +167 -167
  7. data/lib/ohai/config.rb +51 -51
  8. data/lib/ohai/dsl/plugin/versionvii.rb +203 -203
  9. data/lib/ohai/dsl/plugin.rb +232 -232
  10. data/lib/ohai/dsl.rb +22 -22
  11. data/lib/ohai/exception.rb +36 -36
  12. data/lib/ohai/hints.rb +68 -68
  13. data/lib/ohai/loader.rb +178 -178
  14. data/lib/ohai/log.rb +34 -34
  15. data/lib/ohai/mash.rb +22 -22
  16. data/lib/ohai/mixin/alibaba_metadata.rb +83 -83
  17. data/lib/ohai/mixin/azure_metadata.rb +105 -105
  18. data/lib/ohai/mixin/chef_utils_wiring.rb +52 -52
  19. data/lib/ohai/mixin/command.rb +4 -4
  20. data/lib/ohai/mixin/constant_helper.rb +55 -55
  21. data/lib/ohai/mixin/dmi_decode.rb +54 -54
  22. data/lib/ohai/mixin/do_metadata.rb +48 -48
  23. data/lib/ohai/mixin/ec2_metadata.rb +264 -270
  24. data/lib/ohai/mixin/gce_metadata.rb +79 -79
  25. data/lib/ohai/mixin/http_helper.rb +64 -64
  26. data/lib/ohai/mixin/json_helper.rb +36 -36
  27. data/lib/ohai/mixin/network_helper.rb +92 -92
  28. data/lib/ohai/mixin/oci_metadata.rb +60 -60
  29. data/lib/ohai/mixin/os.rb +128 -128
  30. data/lib/ohai/mixin/scaleway_metadata.rb +51 -51
  31. data/lib/ohai/mixin/seconds_to_human.rb +52 -52
  32. data/lib/ohai/mixin/shell_out.rb +51 -51
  33. data/lib/ohai/mixin/softlayer_metadata.rb +74 -74
  34. data/lib/ohai/mixin/string.rb +31 -31
  35. data/lib/ohai/mixin/train_helpers.rb +36 -36
  36. data/lib/ohai/mixin/which.rb +39 -39
  37. data/lib/ohai/plugin_config.rb +47 -47
  38. data/lib/ohai/plugins/aix/kernel.rb +50 -50
  39. data/lib/ohai/plugins/aix/memory.rb +37 -37
  40. data/lib/ohai/plugins/aix/network.rb +142 -142
  41. data/lib/ohai/plugins/aix/platform.rb +30 -30
  42. data/lib/ohai/plugins/aix/uptime.rb +54 -54
  43. data/lib/ohai/plugins/aix/virtualization.rb +154 -154
  44. data/lib/ohai/plugins/alibaba.rb +72 -72
  45. data/lib/ohai/plugins/azure.rb +154 -154
  46. data/lib/ohai/plugins/bsd/virtualization.rb +121 -121
  47. data/lib/ohai/plugins/c.rb +178 -178
  48. data/lib/ohai/plugins/chef.rb +50 -50
  49. data/lib/ohai/plugins/cloud.rb +379 -379
  50. data/lib/ohai/plugins/command.rb +26 -26
  51. data/lib/ohai/plugins/cpu.rb +642 -642
  52. data/lib/ohai/plugins/darwin/hardware.rb +99 -99
  53. data/lib/ohai/plugins/darwin/memory.rb +62 -62
  54. data/lib/ohai/plugins/darwin/network.rb +207 -207
  55. data/lib/ohai/plugins/darwin/platform.rb +40 -40
  56. data/lib/ohai/plugins/darwin/virtualization.rb +104 -104
  57. data/lib/ohai/plugins/digital_ocean.rb +67 -67
  58. data/lib/ohai/plugins/dmi.rb +134 -134
  59. data/lib/ohai/plugins/docker.rb +58 -58
  60. data/lib/ohai/plugins/dragonflybsd/memory.rb +60 -60
  61. data/lib/ohai/plugins/dragonflybsd/network.rb +128 -128
  62. data/lib/ohai/plugins/dragonflybsd/platform.rb +28 -28
  63. data/lib/ohai/plugins/ec2.rb +148 -148
  64. data/lib/ohai/plugins/elixir.rb +36 -36
  65. data/lib/ohai/plugins/erlang.rb +60 -60
  66. data/lib/ohai/plugins/eucalyptus.rb +86 -86
  67. data/lib/ohai/plugins/filesystem.rb +753 -753
  68. data/lib/ohai/plugins/fips.rb +36 -36
  69. data/lib/ohai/plugins/freebsd/memory.rb +60 -60
  70. data/lib/ohai/plugins/freebsd/network.rb +128 -128
  71. data/lib/ohai/plugins/freebsd/platform.rb +28 -28
  72. data/lib/ohai/plugins/gce.rb +89 -89
  73. data/lib/ohai/plugins/go.rb +34 -34
  74. data/lib/ohai/plugins/groovy.rb +38 -38
  75. data/lib/ohai/plugins/grub2.rb +40 -40
  76. data/lib/ohai/plugins/habitat.rb +73 -73
  77. data/lib/ohai/plugins/haskell.rb +96 -96
  78. data/lib/ohai/plugins/hostname.rb +133 -133
  79. data/lib/ohai/plugins/init_package.rb +26 -26
  80. data/lib/ohai/plugins/java.rb +78 -78
  81. data/lib/ohai/plugins/kernel.rb +292 -292
  82. data/lib/ohai/plugins/keys.rb +27 -27
  83. data/lib/ohai/plugins/languages.rb +26 -26
  84. data/lib/ohai/plugins/libvirt.rb +114 -114
  85. data/lib/ohai/plugins/linode.rb +73 -73
  86. data/lib/ohai/plugins/linux/block_device.rb +48 -48
  87. data/lib/ohai/plugins/linux/hostnamectl.rb +34 -34
  88. data/lib/ohai/plugins/linux/interrupts.rb +84 -83
  89. data/lib/ohai/plugins/linux/ipc.rb +52 -52
  90. data/lib/ohai/plugins/linux/livepatch.rb +38 -38
  91. data/lib/ohai/plugins/linux/lsb.rb +46 -46
  92. data/lib/ohai/plugins/linux/lspci.rb +80 -80
  93. data/lib/ohai/plugins/linux/machineid.rb +36 -36
  94. data/lib/ohai/plugins/linux/mdadm.rb +120 -120
  95. data/lib/ohai/plugins/linux/memory.rb +106 -106
  96. data/lib/ohai/plugins/linux/network.rb +879 -879
  97. data/lib/ohai/plugins/linux/os_release.rb +38 -38
  98. data/lib/ohai/plugins/linux/platform.rb +314 -314
  99. data/lib/ohai/plugins/linux/selinux.rb +69 -69
  100. data/lib/ohai/plugins/linux/sessions.rb +54 -54
  101. data/lib/ohai/plugins/linux/sysctl.rb +39 -39
  102. data/lib/ohai/plugins/linux/systemd_paths.rb +36 -36
  103. data/lib/ohai/plugins/linux/tc.rb +61 -61
  104. data/lib/ohai/plugins/linux/virtualization.rb +300 -300
  105. data/lib/ohai/plugins/lua.rb +39 -39
  106. data/lib/ohai/plugins/mono.rb +50 -50
  107. data/lib/ohai/plugins/netbsd/memory.rb +99 -99
  108. data/lib/ohai/plugins/netbsd/network.rb +122 -122
  109. data/lib/ohai/plugins/netbsd/platform.rb +28 -28
  110. data/lib/ohai/plugins/network.rb +186 -186
  111. data/lib/ohai/plugins/nodejs.rb +40 -40
  112. data/lib/ohai/plugins/oci.rb +94 -94
  113. data/lib/ohai/plugins/ohai.rb +29 -29
  114. data/lib/ohai/plugins/ohai_time.rb +26 -26
  115. data/lib/ohai/plugins/openbsd/memory.rb +99 -99
  116. data/lib/ohai/plugins/openbsd/network.rb +122 -122
  117. data/lib/ohai/plugins/openbsd/platform.rb +28 -28
  118. data/lib/ohai/plugins/openstack.rb +84 -84
  119. data/lib/ohai/plugins/os.rb +55 -55
  120. data/lib/ohai/plugins/packages.rb +234 -234
  121. data/lib/ohai/plugins/passwd.rb +104 -104
  122. data/lib/ohai/plugins/perl.rb +45 -45
  123. data/lib/ohai/plugins/php.rb +52 -52
  124. data/lib/ohai/plugins/platform.rb +41 -41
  125. data/lib/ohai/plugins/powershell.rb +82 -82
  126. data/lib/ohai/plugins/ps.rb +35 -35
  127. data/lib/ohai/plugins/python.rb +43 -43
  128. data/lib/ohai/plugins/rackspace.rb +177 -177
  129. data/lib/ohai/plugins/root_group.rb +41 -41
  130. data/lib/ohai/plugins/rpm.rb +121 -121
  131. data/lib/ohai/plugins/ruby.rb +66 -66
  132. data/lib/ohai/plugins/rust.rb +34 -34
  133. data/lib/ohai/plugins/scala.rb +38 -38
  134. data/lib/ohai/plugins/scaleway.rb +58 -58
  135. data/lib/ohai/plugins/scsi.rb +52 -52
  136. data/lib/ohai/plugins/shard.rb +142 -142
  137. data/lib/ohai/plugins/shells.rb +32 -32
  138. data/lib/ohai/plugins/softlayer.rb +48 -48
  139. data/lib/ohai/plugins/solaris2/dmi.rb +191 -191
  140. data/lib/ohai/plugins/solaris2/memory.rb +32 -32
  141. data/lib/ohai/plugins/solaris2/network.rb +192 -192
  142. data/lib/ohai/plugins/solaris2/platform.rb +58 -58
  143. data/lib/ohai/plugins/solaris2/virtualization.rb +90 -90
  144. data/lib/ohai/plugins/ssh_host_key.rb +84 -84
  145. data/lib/ohai/plugins/sysconf.rb +46 -46
  146. data/lib/ohai/plugins/timezone.rb +45 -45
  147. data/lib/ohai/plugins/train.rb +35 -35
  148. data/lib/ohai/plugins/uptime.rb +95 -95
  149. data/lib/ohai/plugins/virtualbox.rb +197 -197
  150. data/lib/ohai/plugins/vmware.rb +109 -109
  151. data/lib/ohai/plugins/windows/dmi.rb +95 -95
  152. data/lib/ohai/plugins/windows/drivers.rb +52 -52
  153. data/lib/ohai/plugins/windows/memory.rb +39 -39
  154. data/lib/ohai/plugins/windows/network.rb +222 -222
  155. data/lib/ohai/plugins/windows/platform.rb +34 -34
  156. data/lib/ohai/plugins/windows/system_enclosure.rb +29 -29
  157. data/lib/ohai/plugins/windows/virtualization.rb +45 -45
  158. data/lib/ohai/plugins/zpools.rb +94 -94
  159. data/lib/ohai/provides_map.rb +208 -208
  160. data/lib/ohai/runner.rb +128 -126
  161. data/lib/ohai/system.rb +258 -258
  162. data/lib/ohai/train_transport.rb +29 -29
  163. data/lib/ohai/util/file_helper.rb +6 -6
  164. data/lib/ohai/util/ip_helper.rb +56 -56
  165. data/lib/ohai/util/win32.rb +47 -47
  166. data/lib/ohai/version.rb +23 -23
  167. data/lib/ohai.rb +23 -23
  168. data/ohai.gemspec +35 -35
  169. metadata +9 -15
@@ -1,167 +1,167 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Kurt Yoder (ktyopscode@yoderhome.com)
4
- # Copyright:: Copyright (c) 2010 Kurt Yoder
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- module Ohai
21
- module Common
22
- module DMI
23
- # List of IDs and what they translate to
24
- # from 'man 8 dmidecode'
25
- # all-lowercase, all non-alphanumeric converted to '_'
26
- # 128-255 are 'oem_data_[id]'
27
- # Everything else is 'unknown'
28
- unless defined?(ID_TO_DESCRIPTION)
29
- ID_TO_DESCRIPTION = {
30
- 0 => "bios",
31
- 1 => "system",
32
- 2 => "base_board",
33
- 3 => "chassis",
34
- 4 => "processor",
35
- 5 => "memory_controller",
36
- 6 => "memory_module",
37
- 7 => "cache",
38
- 8 => "port_connector",
39
- 9 => "system_slots",
40
- 10 => "on_board_devices",
41
- 11 => "oem_strings",
42
- 12 => "system_configuration_options",
43
- 13 => "bios_language",
44
- 14 => "group_associations",
45
- 15 => "system_event_log",
46
- 16 => "physical_memory_array",
47
- 17 => "memory_device",
48
- 18 => "32_bit_memory_error",
49
- 19 => "memory_array_mapped_address",
50
- 20 => "memory_device_mapped_address",
51
- 21 => "built_in_pointing_device",
52
- 22 => "portable_battery",
53
- 23 => "system_reset",
54
- 24 => "hardware_security",
55
- 25 => "system_power_controls",
56
- 26 => "voltage_probe",
57
- 27 => "cooling_device",
58
- 28 => "temperature_probe",
59
- 29 => "electrical_current_probe",
60
- 30 => "out_of_band_remote_access",
61
- 31 => "boot_integrity_services",
62
- 32 => "system_boot",
63
- 33 => "64_bit_memory_error",
64
- 34 => "management_device",
65
- 35 => "management_device_component",
66
- 36 => "management_device_threshold_data",
67
- 37 => "memory_channel",
68
- 38 => "ipmi_device",
69
- 39 => "power_supply",
70
- 40 => "additional_information",
71
- 41 => "onboard_devices_extended_information",
72
- 42 => "management_controller_host_interfaces",
73
- 126 => "disabled_entries",
74
- 127 => "end_of_table_marker",
75
- }.freeze
76
- end
77
-
78
- # list of IDs to collect from config or default to a sane list that prunes
79
- # away some of the less useful IDs
80
- ID_TO_CAPTURE = [ 0, 1, 2, 3, 4, 6, 11 ].freeze unless defined?(ID_TO_CAPTURE)
81
-
82
- # the allowlisted DMI IDs. This is combination of the defaults + any additional
83
- # IDs defined in the :additional_dmi_ids config
84
- #
85
- # @return [Array] the list of DMI IDs to capture
86
- def allowlisted_ids
87
- if Ohai.config[:additional_dmi_ids]
88
- if [ Integer, Array ].include?(Ohai.config[:additional_dmi_ids].class)
89
- return ID_TO_CAPTURE + Array(Ohai.config[:additional_dmi_ids])
90
- else
91
- Ohai::Log.warn("The DMI plugin additional_dmi_ids config must be an array of IDs!")
92
- end
93
- end
94
- ID_TO_CAPTURE
95
- end
96
-
97
- ##
98
- # @deprecated Use the `allowlisted_ids` method instead.
99
- alias whitelisted_ids allowlisted_ids
100
-
101
- # the human readable description from a DMI ID
102
- #
103
- # @param id [String, Integer] the ID to lookup
104
- #
105
- # @return [String]
106
- def id_lookup(id)
107
- id = id.to_i
108
- if (id >= 128) && (id <= 255)
109
- id = "oem_data_#{id}"
110
- elsif DMI::ID_TO_DESCRIPTION.key?(id)
111
- id = DMI::ID_TO_DESCRIPTION[id]
112
- else
113
- Ohai::Log.debug("unrecognized header id; falling back to 'unknown'")
114
- id = "unknown_dmi_id_#{id}"
115
- end
116
- rescue
117
- Ohai::Log.debug("failed to look up id #{id}, returning unchanged")
118
- id
119
- end
120
-
121
- unless defined?(SKIPPED_CONVENIENCE_KEYS)
122
- SKIPPED_CONVENIENCE_KEYS = %w{
123
- application_identifier
124
- caption
125
- creation_class_name
126
- size
127
- system_creation_class_name
128
- record_id
129
- }.freeze
130
- end
131
-
132
- # create simplified convenience access keys for each record type
133
- # for single occurrences of one type, copy to top level all fields and values
134
- # for multiple occurrences of same type, copy to top level all fields and values that are common to all records
135
- def convenience_keys(dmi)
136
- dmi.each do |type, records|
137
- in_common = Mash.new
138
- next unless records.is_a?(Mash)
139
- next unless records.key?("all_records")
140
-
141
- records[:all_records].each do |record|
142
- record.each do |field, value|
143
- next unless value.is_a?(String)
144
-
145
- translated = field.downcase.gsub(/[^a-z0-9]/, "_")
146
- next if SKIPPED_CONVENIENCE_KEYS.include?(translated.to_s)
147
-
148
- value = value.strip
149
- if in_common.key?(translated)
150
- in_common[translated] = nil unless in_common[translated] == value
151
- else
152
- in_common[translated] = value
153
- end
154
- end
155
- end
156
- in_common.each do |field, value|
157
- next if value.nil?
158
-
159
- dmi[type][field] = value.strip
160
- end
161
- end
162
- end
163
-
164
- module_function :id_lookup, :convenience_keys, :allowlisted_ids, :whitelisted_ids
165
- end
166
- end
167
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Kurt Yoder (ktyopscode@yoderhome.com)
4
+ # Copyright:: Copyright (c) 2010 Kurt Yoder
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ module Ohai
21
+ module Common
22
+ module DMI
23
+ # List of IDs and what they translate to
24
+ # from 'man 8 dmidecode'
25
+ # all-lowercase, all non-alphanumeric converted to '_'
26
+ # 128-255 are 'oem_data_[id]'
27
+ # Everything else is 'unknown'
28
+ unless defined?(ID_TO_DESCRIPTION)
29
+ ID_TO_DESCRIPTION = {
30
+ 0 => "bios",
31
+ 1 => "system",
32
+ 2 => "base_board",
33
+ 3 => "chassis",
34
+ 4 => "processor",
35
+ 5 => "memory_controller",
36
+ 6 => "memory_module",
37
+ 7 => "cache",
38
+ 8 => "port_connector",
39
+ 9 => "system_slots",
40
+ 10 => "on_board_devices",
41
+ 11 => "oem_strings",
42
+ 12 => "system_configuration_options",
43
+ 13 => "bios_language",
44
+ 14 => "group_associations",
45
+ 15 => "system_event_log",
46
+ 16 => "physical_memory_array",
47
+ 17 => "memory_device",
48
+ 18 => "32_bit_memory_error",
49
+ 19 => "memory_array_mapped_address",
50
+ 20 => "memory_device_mapped_address",
51
+ 21 => "built_in_pointing_device",
52
+ 22 => "portable_battery",
53
+ 23 => "system_reset",
54
+ 24 => "hardware_security",
55
+ 25 => "system_power_controls",
56
+ 26 => "voltage_probe",
57
+ 27 => "cooling_device",
58
+ 28 => "temperature_probe",
59
+ 29 => "electrical_current_probe",
60
+ 30 => "out_of_band_remote_access",
61
+ 31 => "boot_integrity_services",
62
+ 32 => "system_boot",
63
+ 33 => "64_bit_memory_error",
64
+ 34 => "management_device",
65
+ 35 => "management_device_component",
66
+ 36 => "management_device_threshold_data",
67
+ 37 => "memory_channel",
68
+ 38 => "ipmi_device",
69
+ 39 => "power_supply",
70
+ 40 => "additional_information",
71
+ 41 => "onboard_devices_extended_information",
72
+ 42 => "management_controller_host_interfaces",
73
+ 126 => "disabled_entries",
74
+ 127 => "end_of_table_marker",
75
+ }.freeze
76
+ end
77
+
78
+ # list of IDs to collect from config or default to a sane list that prunes
79
+ # away some of the less useful IDs
80
+ ID_TO_CAPTURE = [ 0, 1, 2, 3, 4, 6, 11 ].freeze unless defined?(ID_TO_CAPTURE)
81
+
82
+ # the allowlisted DMI IDs. This is combination of the defaults + any additional
83
+ # IDs defined in the :additional_dmi_ids config
84
+ #
85
+ # @return [Array] the list of DMI IDs to capture
86
+ def allowlisted_ids
87
+ if Ohai.config[:additional_dmi_ids]
88
+ if [ Integer, Array ].include?(Ohai.config[:additional_dmi_ids].class)
89
+ return ID_TO_CAPTURE + Array(Ohai.config[:additional_dmi_ids])
90
+ else
91
+ Ohai::Log.warn("The DMI plugin additional_dmi_ids config must be an array of IDs!")
92
+ end
93
+ end
94
+ ID_TO_CAPTURE
95
+ end
96
+
97
+ ##
98
+ # @deprecated Use the `allowlisted_ids` method instead.
99
+ alias whitelisted_ids allowlisted_ids
100
+
101
+ # the human readable description from a DMI ID
102
+ #
103
+ # @param id [String, Integer] the ID to lookup
104
+ #
105
+ # @return [String]
106
+ def id_lookup(id)
107
+ id = id.to_i
108
+ if (id >= 128) && (id <= 255)
109
+ id = "oem_data_#{id}"
110
+ elsif DMI::ID_TO_DESCRIPTION.key?(id)
111
+ id = DMI::ID_TO_DESCRIPTION[id]
112
+ else
113
+ Ohai::Log.debug("unrecognized header id; falling back to 'unknown'")
114
+ id = "unknown_dmi_id_#{id}"
115
+ end
116
+ rescue
117
+ Ohai::Log.debug("failed to look up id #{id}, returning unchanged")
118
+ id
119
+ end
120
+
121
+ unless defined?(SKIPPED_CONVENIENCE_KEYS)
122
+ SKIPPED_CONVENIENCE_KEYS = %w{
123
+ application_identifier
124
+ caption
125
+ creation_class_name
126
+ size
127
+ system_creation_class_name
128
+ record_id
129
+ }.freeze
130
+ end
131
+
132
+ # create simplified convenience access keys for each record type
133
+ # for single occurrences of one type, copy to top level all fields and values
134
+ # for multiple occurrences of same type, copy to top level all fields and values that are common to all records
135
+ def convenience_keys(dmi)
136
+ dmi.each do |type, records|
137
+ in_common = Mash.new
138
+ next unless records.is_a?(Mash)
139
+ next unless records.key?("all_records")
140
+
141
+ records[:all_records].each do |record|
142
+ record.each do |field, value|
143
+ next unless value.is_a?(String)
144
+
145
+ translated = field.downcase.gsub(/[^a-z0-9]/, "_")
146
+ next if SKIPPED_CONVENIENCE_KEYS.include?(translated.to_s)
147
+
148
+ value = value.strip
149
+ if in_common.key?(translated)
150
+ in_common[translated] = nil unless in_common[translated] == value
151
+ else
152
+ in_common[translated] = value
153
+ end
154
+ end
155
+ end
156
+ in_common.each do |field, value|
157
+ next if value.nil?
158
+
159
+ dmi[type][field] = value.strip
160
+ end
161
+ end
162
+ end
163
+
164
+ module_function :id_lookup, :convenience_keys, :allowlisted_ids, :whitelisted_ids
165
+ end
166
+ end
167
+ end
data/lib/ohai/config.rb CHANGED
@@ -1,51 +1,51 @@
1
- # frozen_string_literal: true
2
- #
3
- # Author:: Adam Jacob (<adam@chef.io>)
4
- # Author:: Claire McQuin (<claire@chef.io>)
5
- # Copyright:: Copyright (c) Chef Software Inc.
6
- # License:: Apache License, Version 2.0
7
- #
8
- # Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- # See the License for the specific language governing permissions and
18
- # limitations under the License.
19
- #
20
-
21
- require "chef-config/config"
22
- require_relative "exception"
23
- require_relative "plugin_config"
24
-
25
- module Ohai
26
- Config = ChefConfig::Config
27
-
28
- # Reopens ChefConfig::Config to add Ohai configuration settings.
29
- # see: https://github.com/chef/chef/blob/main/lib/chef/config.rb
30
- class Config
31
- config_context :ohai do
32
- default :disabled_plugins, []
33
- default :hints_path, [ ChefConfig::Config.platform_specific_path("/etc/chef/ohai/hints") ]
34
- default :log_level, :auto
35
- default :log_location, STDERR
36
- default :plugin, ( Ohai::PluginConfig.new { |h, k| h[k] = Ohai::PluginConfig.new } )
37
- default :plugin_path, [ File.expand_path(File.join(__dir__, "plugins")), ChefConfig::Config.platform_specific_path("/etc/chef/ohai/plugins") ]
38
- default :critical_plugins, []
39
- # causes all optional plugins to be run.
40
- default :run_all_plugins, false
41
- # optional plugins are the set of plugins that are marked optional but you wish to run.
42
- default(:optional_plugins, []).writes_value { |arr| arr.map(&:to_sym) }
43
- default :shellout_timeout, 30
44
- end
45
- end
46
-
47
- # Shortcut for Ohai::Config.ohai
48
- def self.config
49
- Config.ohai
50
- end
51
- end
1
+ # frozen_string_literal: true
2
+ #
3
+ # Author:: Adam Jacob (<adam@chef.io>)
4
+ # Author:: Claire McQuin (<claire@chef.io>)
5
+ # Copyright:: Copyright (c) Chef Software Inc.
6
+ # License:: Apache License, Version 2.0
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+
21
+ require "chef-config/config"
22
+ require_relative "exception"
23
+ require_relative "plugin_config"
24
+
25
+ module Ohai
26
+ Config = ChefConfig::Config
27
+
28
+ # Reopens ChefConfig::Config to add Ohai configuration settings.
29
+ # see: https://github.com/chef/chef/blob/main/lib/chef/config.rb
30
+ class Config
31
+ config_context :ohai do
32
+ default :disabled_plugins, []
33
+ default :hints_path, [ ChefConfig::Config.platform_specific_path("/etc/chef/ohai/hints") ]
34
+ default :log_level, :auto
35
+ default :log_location, STDERR
36
+ default :plugin, ( Ohai::PluginConfig.new { |h, k| h[k] = Ohai::PluginConfig.new } )
37
+ default :plugin_path, [ File.expand_path(File.join(__dir__, "plugins")), ChefConfig::Config.platform_specific_path("/etc/chef/ohai/plugins") ]
38
+ default :critical_plugins, []
39
+ # causes all optional plugins to be run.
40
+ default :run_all_plugins, false
41
+ # optional plugins are the set of plugins that are marked optional but you wish to run.
42
+ default(:optional_plugins, []).writes_value { |arr| arr.map(&:to_sym) }
43
+ default :shellout_timeout, 30
44
+ end
45
+ end
46
+
47
+ # Shortcut for Ohai::Config.ohai
48
+ def self.config
49
+ Config.ohai
50
+ end
51
+ end