ohai 18.0.26 → 18.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) 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 +86 -86
  17. data/lib/ohai/mixin/azure_metadata.rb +111 -111
  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 +256 -256
  24. data/lib/ohai/mixin/gce_metadata.rb +83 -83
  25. data/lib/ohai/mixin/http_helper.rb +64 -64
  26. data/lib/ohai/mixin/network_helper.rb +65 -65
  27. data/lib/ohai/mixin/oci_metadata.rb +69 -0
  28. data/lib/ohai/mixin/os.rb +128 -128
  29. data/lib/ohai/mixin/scaleway_metadata.rb +51 -51
  30. data/lib/ohai/mixin/seconds_to_human.rb +52 -52
  31. data/lib/ohai/mixin/shell_out.rb +51 -51
  32. data/lib/ohai/mixin/softlayer_metadata.rb +74 -74
  33. data/lib/ohai/mixin/string.rb +31 -31
  34. data/lib/ohai/mixin/train_helpers.rb +36 -36
  35. data/lib/ohai/mixin/which.rb +39 -39
  36. data/lib/ohai/plugin_config.rb +47 -47
  37. data/lib/ohai/plugins/aix/kernel.rb +50 -50
  38. data/lib/ohai/plugins/aix/memory.rb +37 -37
  39. data/lib/ohai/plugins/aix/network.rb +142 -142
  40. data/lib/ohai/plugins/aix/platform.rb +30 -30
  41. data/lib/ohai/plugins/aix/uptime.rb +54 -54
  42. data/lib/ohai/plugins/aix/virtualization.rb +154 -154
  43. data/lib/ohai/plugins/alibaba.rb +72 -72
  44. data/lib/ohai/plugins/azure.rb +154 -154
  45. data/lib/ohai/plugins/bsd/virtualization.rb +121 -121
  46. data/lib/ohai/plugins/c.rb +178 -178
  47. data/lib/ohai/plugins/chef.rb +50 -50
  48. data/lib/ohai/plugins/cloud.rb +379 -357
  49. data/lib/ohai/plugins/command.rb +26 -26
  50. data/lib/ohai/plugins/cpu.rb +635 -635
  51. data/lib/ohai/plugins/darwin/hardware.rb +99 -99
  52. data/lib/ohai/plugins/darwin/memory.rb +62 -62
  53. data/lib/ohai/plugins/darwin/network.rb +207 -207
  54. data/lib/ohai/plugins/darwin/platform.rb +38 -38
  55. data/lib/ohai/plugins/darwin/virtualization.rb +90 -93
  56. data/lib/ohai/plugins/digital_ocean.rb +67 -67
  57. data/lib/ohai/plugins/dmi.rb +134 -134
  58. data/lib/ohai/plugins/docker.rb +58 -58
  59. data/lib/ohai/plugins/dragonflybsd/memory.rb +60 -60
  60. data/lib/ohai/plugins/dragonflybsd/network.rb +128 -128
  61. data/lib/ohai/plugins/dragonflybsd/platform.rb +28 -28
  62. data/lib/ohai/plugins/ec2.rb +148 -148
  63. data/lib/ohai/plugins/elixir.rb +36 -36
  64. data/lib/ohai/plugins/erlang.rb +60 -60
  65. data/lib/ohai/plugins/eucalyptus.rb +86 -86
  66. data/lib/ohai/plugins/filesystem.rb +751 -751
  67. data/lib/ohai/plugins/fips.rb +36 -36
  68. data/lib/ohai/plugins/freebsd/memory.rb +60 -60
  69. data/lib/ohai/plugins/freebsd/network.rb +128 -128
  70. data/lib/ohai/plugins/freebsd/platform.rb +28 -28
  71. data/lib/ohai/plugins/gce.rb +89 -89
  72. data/lib/ohai/plugins/go.rb +34 -34
  73. data/lib/ohai/plugins/groovy.rb +38 -38
  74. data/lib/ohai/plugins/grub2.rb +40 -40
  75. data/lib/ohai/plugins/habitat.rb +73 -73
  76. data/lib/ohai/plugins/haskell.rb +96 -96
  77. data/lib/ohai/plugins/hostname.rb +133 -133
  78. data/lib/ohai/plugins/init_package.rb +26 -26
  79. data/lib/ohai/plugins/java.rb +78 -78
  80. data/lib/ohai/plugins/kernel.rb +292 -292
  81. data/lib/ohai/plugins/keys.rb +27 -27
  82. data/lib/ohai/plugins/languages.rb +26 -26
  83. data/lib/ohai/plugins/libvirt.rb +114 -114
  84. data/lib/ohai/plugins/linode.rb +73 -73
  85. data/lib/ohai/plugins/linux/block_device.rb +48 -48
  86. data/lib/ohai/plugins/linux/hostnamectl.rb +34 -34
  87. data/lib/ohai/plugins/linux/interrupts.rb +84 -84
  88. data/lib/ohai/plugins/linux/ipc.rb +52 -52
  89. data/lib/ohai/plugins/linux/livepatch.rb +38 -38
  90. data/lib/ohai/plugins/linux/lsb.rb +46 -46
  91. data/lib/ohai/plugins/linux/lspci.rb +76 -76
  92. data/lib/ohai/plugins/linux/machineid.rb +36 -36
  93. data/lib/ohai/plugins/linux/mdadm.rb +120 -120
  94. data/lib/ohai/plugins/linux/memory.rb +106 -106
  95. data/lib/ohai/plugins/linux/network.rb +879 -879
  96. data/lib/ohai/plugins/linux/os_release.rb +38 -38
  97. data/lib/ohai/plugins/linux/platform.rb +314 -314
  98. data/lib/ohai/plugins/linux/selinux.rb +69 -69
  99. data/lib/ohai/plugins/linux/sessions.rb +54 -54
  100. data/lib/ohai/plugins/linux/sysctl.rb +39 -39
  101. data/lib/ohai/plugins/linux/systemd_paths.rb +36 -36
  102. data/lib/ohai/plugins/linux/tc.rb +61 -61
  103. data/lib/ohai/plugins/linux/virtualization.rb +300 -300
  104. data/lib/ohai/plugins/lua.rb +39 -39
  105. data/lib/ohai/plugins/mono.rb +50 -50
  106. data/lib/ohai/plugins/netbsd/memory.rb +99 -99
  107. data/lib/ohai/plugins/netbsd/network.rb +122 -122
  108. data/lib/ohai/plugins/netbsd/platform.rb +28 -28
  109. data/lib/ohai/plugins/network.rb +186 -186
  110. data/lib/ohai/plugins/nodejs.rb +40 -40
  111. data/lib/ohai/plugins/oci.rb +94 -0
  112. data/lib/ohai/plugins/ohai.rb +29 -29
  113. data/lib/ohai/plugins/ohai_time.rb +26 -26
  114. data/lib/ohai/plugins/openbsd/memory.rb +99 -99
  115. data/lib/ohai/plugins/openbsd/network.rb +122 -122
  116. data/lib/ohai/plugins/openbsd/platform.rb +28 -28
  117. data/lib/ohai/plugins/openstack.rb +84 -84
  118. data/lib/ohai/plugins/os.rb +55 -55
  119. data/lib/ohai/plugins/packages.rb +234 -234
  120. data/lib/ohai/plugins/passwd.rb +104 -104
  121. data/lib/ohai/plugins/perl.rb +45 -45
  122. data/lib/ohai/plugins/php.rb +52 -52
  123. data/lib/ohai/plugins/platform.rb +29 -29
  124. data/lib/ohai/plugins/powershell.rb +82 -82
  125. data/lib/ohai/plugins/ps.rb +35 -35
  126. data/lib/ohai/plugins/python.rb +43 -43
  127. data/lib/ohai/plugins/rackspace.rb +177 -177
  128. data/lib/ohai/plugins/root_group.rb +41 -41
  129. data/lib/ohai/plugins/rpm.rb +121 -121
  130. data/lib/ohai/plugins/ruby.rb +66 -66
  131. data/lib/ohai/plugins/rust.rb +34 -34
  132. data/lib/ohai/plugins/scala.rb +38 -38
  133. data/lib/ohai/plugins/scaleway.rb +58 -58
  134. data/lib/ohai/plugins/scsi.rb +52 -52
  135. data/lib/ohai/plugins/shard.rb +142 -142
  136. data/lib/ohai/plugins/shells.rb +32 -32
  137. data/lib/ohai/plugins/softlayer.rb +48 -48
  138. data/lib/ohai/plugins/solaris2/dmi.rb +191 -191
  139. data/lib/ohai/plugins/solaris2/memory.rb +32 -32
  140. data/lib/ohai/plugins/solaris2/network.rb +192 -192
  141. data/lib/ohai/plugins/solaris2/platform.rb +58 -58
  142. data/lib/ohai/plugins/solaris2/virtualization.rb +90 -90
  143. data/lib/ohai/plugins/ssh_host_key.rb +84 -84
  144. data/lib/ohai/plugins/sysconf.rb +46 -46
  145. data/lib/ohai/plugins/timezone.rb +45 -25
  146. data/lib/ohai/plugins/train.rb +35 -35
  147. data/lib/ohai/plugins/uptime.rb +95 -95
  148. data/lib/ohai/plugins/virtualbox.rb +197 -197
  149. data/lib/ohai/plugins/vmware.rb +109 -94
  150. data/lib/ohai/plugins/windows/dmi.rb +95 -95
  151. data/lib/ohai/plugins/windows/drivers.rb +52 -52
  152. data/lib/ohai/plugins/windows/memory.rb +39 -39
  153. data/lib/ohai/plugins/windows/network.rb +222 -222
  154. data/lib/ohai/plugins/windows/platform.rb +34 -34
  155. data/lib/ohai/plugins/windows/system_enclosure.rb +29 -29
  156. data/lib/ohai/plugins/windows/virtualization.rb +45 -45
  157. data/lib/ohai/plugins/zpools.rb +94 -94
  158. data/lib/ohai/provides_map.rb +208 -208
  159. data/lib/ohai/runner.rb +128 -128
  160. data/lib/ohai/system.rb +258 -258
  161. data/lib/ohai/train_transport.rb +29 -29
  162. data/lib/ohai/util/file_helper.rb +6 -6
  163. data/lib/ohai/util/ip_helper.rb +56 -56
  164. data/lib/ohai/util/win32.rb +47 -47
  165. data/lib/ohai/version.rb +23 -23
  166. data/lib/ohai.rb +23 -23
  167. data/ohai.gemspec +35 -35
  168. metadata +5 -3
@@ -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