facterdb 3.0.0 → 4.5.0

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 (499) hide show
  1. checksums.yaml +4 -4
  2. data/.github/release.yml +41 -0
  3. data/.github/workflows/pages.yml +5 -5
  4. data/.github/workflows/release.yml +92 -21
  5. data/.github/workflows/test.yml +13 -15
  6. data/.rubocop_todo.yml +14 -18
  7. data/CHANGELOG.md +173 -0
  8. data/Gemfile +6 -7
  9. data/README.md +4 -20
  10. data/bin/legacy-facts-striper +18 -7
  11. data/facterdb.gemspec +3 -4
  12. data/facts/4.0/almalinux-8-x86_64.facts +0 -25
  13. data/facts/4.0/almalinux-9-x86_64.facts +0 -25
  14. data/facts/4.0/debian-11-x86_64.facts +0 -28
  15. data/facts/4.0/freebsd-11-x86_64.facts +0 -12
  16. data/facts/4.0/freebsd-12-x86_64.facts +0 -12
  17. data/facts/4.0/freebsd-13-x86_64.facts +0 -12
  18. data/facts/4.0/opensuse-15-x86_64.facts +0 -27
  19. data/facts/4.0/oraclelinux-7-x86_64.facts +1 -111
  20. data/facts/4.0/redhat-8-x86_64.facts +0 -25
  21. data/facts/4.0/rocky-8-x86_64.facts +0 -19
  22. data/facts/4.0/rocky-9-x86_64.facts +0 -25
  23. data/facts/4.0/scientific-7-x86_64.facts +1 -112
  24. data/facts/4.0/solaris-11-sun4v.facts +0 -40
  25. data/facts/4.0/ubuntu-18.04-x86_64.facts +0 -28
  26. data/facts/4.0/ubuntu-20.04-x86_64.facts +0 -28
  27. data/facts/4.0/ubuntu-21.04-x86_64.facts +0 -28
  28. data/facts/4.0/ubuntu-21.10-x86_64.facts +0 -28
  29. data/facts/4.1/almalinux-8-x86_64.facts +0 -25
  30. data/facts/4.1/almalinux-9-x86_64.facts +0 -25
  31. data/facts/4.1/debian-11-x86_64.facts +0 -28
  32. data/facts/4.1/freebsd-11-x86_64.facts +0 -12
  33. data/facts/4.1/freebsd-12-x86_64.facts +0 -12
  34. data/facts/4.1/freebsd-13-x86_64.facts +0 -12
  35. data/facts/4.1/opensuse-15-x86_64.facts +0 -27
  36. data/facts/4.1/redhat-8-x86_64.facts +0 -25
  37. data/facts/4.1/rocky-8-x86_64.facts +0 -19
  38. data/facts/4.1/rocky-9-x86_64.facts +0 -25
  39. data/facts/4.1/ubuntu-18.04-x86_64.facts +0 -28
  40. data/facts/4.1/ubuntu-20.04-x86_64.facts +0 -28
  41. data/facts/4.1/ubuntu-21.04-x86_64.facts +0 -28
  42. data/facts/4.1/ubuntu-21.10-x86_64.facts +0 -28
  43. data/facts/4.10/almalinux-10-x86_64.facts +576 -0
  44. data/facts/4.10/almalinux-8-x86_64.facts +536 -0
  45. data/facts/4.10/almalinux-9-x86_64.facts +587 -0
  46. data/facts/4.10/amazon-2-x86_64.facts +265 -0
  47. data/facts/4.10/centos-10-x86_64.facts +495 -0
  48. data/facts/4.10/centos-9-x86_64.facts +518 -0
  49. data/facts/4.10/debian-11-x86_64.facts +440 -0
  50. data/facts/4.10/debian-12-x86_64.facts +521 -0
  51. data/facts/4.10/debian-13-x86_64.facts +514 -0
  52. data/facts/4.10/fedora-40-x86_64.facts +470 -0
  53. data/facts/4.10/fedora-41-x86_64.facts +845 -0
  54. data/facts/4.10/freebsd-13-x86_64.facts +440 -0
  55. data/facts/4.10/freebsd-14-x86_64.facts +440 -0
  56. data/facts/4.10/opensuse-15-x86_64.facts +482 -0
  57. data/facts/4.10/oraclelinux-8-x86_64.facts +518 -0
  58. data/facts/4.10/oraclelinux-9-x86_64.facts +584 -0
  59. data/facts/4.10/redhat-8-x86_64.facts +503 -0
  60. data/facts/4.10/redhat-9-x86_64.facts +554 -0
  61. data/facts/4.10/rocky-10-x86_64.facts +604 -0
  62. data/facts/4.10/rocky-8-x86_64.facts +486 -0
  63. data/facts/4.10/rocky-9-x86_64.facts +536 -0
  64. data/facts/4.10/ubuntu-20.04-x86_64.facts +570 -0
  65. data/facts/4.10/ubuntu-22.04-aarch64.facts +609 -0
  66. data/facts/4.10/ubuntu-22.04-x86_64.facts +578 -0
  67. data/facts/4.10/ubuntu-24.04-aarch64.facts +485 -0
  68. data/facts/4.10/ubuntu-24.04-x86_64.facts +495 -0
  69. data/facts/4.10/windows-10-x86_64.facts +174 -0
  70. data/facts/4.10/windows-11-x86_64.facts +174 -0
  71. data/facts/4.10/windows-2022-x86_64.facts +168 -0
  72. data/facts/4.11/almalinux-10-x86_64.facts +587 -0
  73. data/facts/4.11/almalinux-8-x86_64.facts +538 -0
  74. data/facts/4.11/almalinux-9-x86_64.facts +589 -0
  75. data/facts/4.11/amazon-2-x86_64.facts +462 -0
  76. data/facts/4.11/centos-10-x86_64.facts +495 -0
  77. data/facts/4.11/centos-9-x86_64.facts +518 -0
  78. data/facts/4.11/debian-11-x86_64.facts +443 -0
  79. data/facts/4.11/debian-12-x86_64.facts +524 -0
  80. data/facts/4.11/debian-13-x86_64.facts +517 -0
  81. data/facts/4.11/fedora-40-x86_64.facts +470 -0
  82. data/facts/4.11/fedora-41-x86_64.facts +845 -0
  83. data/facts/4.11/oraclelinux-8-x86_64.facts +520 -0
  84. data/facts/4.11/oraclelinux-9-x86_64.facts +586 -0
  85. data/facts/4.11/redhat-8-x86_64.facts +505 -0
  86. data/facts/4.11/redhat-9-x86_64.facts +556 -0
  87. data/facts/4.11/rocky-10-x86_64.facts +606 -0
  88. data/facts/4.11/rocky-8-x86_64.facts +489 -0
  89. data/facts/4.11/rocky-9-x86_64.facts +539 -0
  90. data/facts/4.11/ubuntu-20.04-x86_64.facts +572 -0
  91. data/facts/4.11/ubuntu-22.04-aarch64.facts +614 -0
  92. data/facts/4.11/ubuntu-22.04-x86_64.facts +580 -0
  93. data/facts/4.11/ubuntu-24.04-aarch64.facts +490 -0
  94. data/facts/4.11/ubuntu-24.04-x86_64.facts +498 -0
  95. data/facts/4.2/almalinux-8-x86_64.facts +0 -25
  96. data/facts/4.2/almalinux-9-x86_64.facts +0 -25
  97. data/facts/4.2/amazon-2-x86_64.facts +249 -0
  98. data/facts/4.2/archlinux-x86_64.facts +0 -26
  99. data/facts/4.2/centos-10-x86_64.facts +502 -0
  100. data/facts/4.2/centos-9-x86_64.facts +0 -25
  101. data/facts/4.2/darwin-20-x86_64.facts +0 -38
  102. data/facts/4.2/debian-11-x86_64.facts +0 -26
  103. data/facts/4.2/debian-12-i386.facts +0 -26
  104. data/facts/4.2/debian-12-x86_64.facts +0 -26
  105. data/facts/4.2/fedora-36-x86_64.facts +0 -25
  106. data/facts/4.2/fedora-37-x86_64.facts +0 -25
  107. data/facts/4.2/fedora-38-x86_64.facts +0 -25
  108. data/facts/4.2/fedora-39-x86_64.facts +0 -25
  109. data/facts/4.2/fedora-40-x86_64.facts +458 -0
  110. data/facts/4.2/fedora-41-x86_64.facts +831 -0
  111. data/facts/4.2/freebsd-11-x86_64.facts +0 -12
  112. data/facts/4.2/freebsd-12-x86_64.facts +0 -12
  113. data/facts/4.2/freebsd-13-x86_64.facts +0 -12
  114. data/facts/4.2/freebsd-14-x86_64.facts +406 -0
  115. data/facts/4.2/gentoo-2-x86_64.facts +0 -25
  116. data/facts/4.2/opensuse-15-x86_64.facts +0 -27
  117. data/facts/4.2/oraclelinux-7-x86_64.facts +0 -35
  118. data/facts/4.2/oraclelinux-8-x86_64.facts +0 -33
  119. data/facts/4.2/redhat-8-x86_64.facts +0 -25
  120. data/facts/4.2/redhat-9-x86_64.facts +0 -25
  121. data/facts/4.2/rocky-8-x86_64.facts +0 -19
  122. data/facts/4.2/rocky-9-x86_64.facts +0 -25
  123. data/facts/4.2/scientific-7-x86_64.facts +0 -35
  124. data/facts/4.2/sles-12-x86_64.facts +0 -27
  125. data/facts/4.2/sles-15-x86_64.facts +0 -27
  126. data/facts/4.2/ubuntu-18.04-x86_64.facts +0 -28
  127. data/facts/4.2/ubuntu-20.04-x86_64.facts +0 -28
  128. data/facts/4.2/ubuntu-21.04-x86_64.facts +0 -28
  129. data/facts/4.2/ubuntu-21.10-x86_64.facts +0 -28
  130. data/facts/4.2/ubuntu-22.04-aarch64.facts +597 -0
  131. data/facts/4.2/ubuntu-22.04-x86_64.facts +0 -26
  132. data/facts/4.2/ubuntu-22.10-x86_64.facts +0 -28
  133. data/facts/4.2/ubuntu-24.04-aarch64.facts +473 -0
  134. data/facts/4.2/ubuntu-24.04-x86_64.facts +473 -0
  135. data/facts/4.2/windows-10-x86_64.facts +0 -13
  136. data/facts/4.2/windows-11-x86_64.facts +0 -13
  137. data/facts/4.2/windows-2012 r2-x86_64.facts +0 -13
  138. data/facts/4.2/windows-2012-x86_64.facts +0 -58
  139. data/facts/4.2/windows-2016-core-x86_64.facts +0 -58
  140. data/facts/4.2/windows-2016-x86_64.facts +0 -58
  141. data/facts/4.2/windows-2019-core-x86_64.facts +0 -13
  142. data/facts/4.2/windows-2019-x86_64.facts +0 -13
  143. data/facts/4.2/windows-2022-core-x86_64.facts +0 -13
  144. data/facts/4.2/windows-2022-x86_64.facts +0 -13
  145. data/facts/4.3/almalinux-8-x86_64.facts +0 -25
  146. data/facts/4.3/almalinux-9-x86_64.facts +0 -25
  147. data/facts/4.3/amazon-2-x86_64.facts +249 -0
  148. data/facts/4.3/archlinux-x86_64.facts +0 -26
  149. data/facts/4.3/centos-10-x86_64.facts +502 -0
  150. data/facts/4.3/centos-9-x86_64.facts +0 -25
  151. data/facts/4.3/debian-11-x86_64.facts +0 -26
  152. data/facts/4.3/debian-12-i386.facts +0 -26
  153. data/facts/4.3/debian-12-x86_64.facts +0 -26
  154. data/facts/4.3/fedora-36-x86_64.facts +0 -25
  155. data/facts/4.3/fedora-37-x86_64.facts +0 -25
  156. data/facts/4.3/fedora-38-x86_64.facts +0 -25
  157. data/facts/4.3/fedora-39-x86_64.facts +0 -25
  158. data/facts/4.3/fedora-40-x86_64.facts +458 -0
  159. data/facts/4.3/fedora-41-x86_64.facts +831 -0
  160. data/facts/4.3/freebsd-13-x86_64.facts +0 -15
  161. data/facts/4.3/freebsd-14-x86_64.facts +406 -0
  162. data/facts/4.3/gentoo-2-x86_64.facts +0 -25
  163. data/facts/4.3/opensuse-15-x86_64.facts +0 -27
  164. data/facts/4.3/oraclelinux-8-x86_64.facts +0 -25
  165. data/facts/4.3/oraclelinux-9-x86_64.facts +0 -25
  166. data/facts/4.3/redhat-8-x86_64.facts +0 -25
  167. data/facts/4.3/redhat-9-x86_64.facts +0 -25
  168. data/facts/4.3/rocky-8-x86_64.facts +0 -25
  169. data/facts/4.3/rocky-9-x86_64.facts +0 -25
  170. data/facts/4.3/sles-12-x86_64.facts +0 -27
  171. data/facts/4.3/ubuntu-18.04-x86_64.facts +0 -28
  172. data/facts/4.3/ubuntu-20.04-x86_64.facts +0 -28
  173. data/facts/4.3/ubuntu-22.04-aarch64.facts +597 -0
  174. data/facts/4.3/ubuntu-22.04-x86_64.facts +0 -26
  175. data/facts/4.3/ubuntu-24.04-aarch64.facts +473 -0
  176. data/facts/4.3/ubuntu-24.04-x86_64.facts +473 -0
  177. data/facts/4.3/windows-10-x86_64.facts +0 -21
  178. data/facts/4.3/windows-11-x86_64.facts +0 -21
  179. data/facts/4.3/windows-2012 r2-x86_64.facts +0 -13
  180. data/facts/4.3/windows-2012-x86_64.facts +0 -13
  181. data/facts/4.3/windows-2016-core-x86_64.facts +0 -13
  182. data/facts/4.3/windows-2016-x86_64.facts +0 -13
  183. data/facts/4.3/windows-2019-core-x86_64.facts +0 -13
  184. data/facts/4.3/windows-2019-x86_64.facts +0 -21
  185. data/facts/4.3/windows-2022-core-x86_64.facts +0 -13
  186. data/facts/4.3/windows-2022-x86_64.facts +0 -21
  187. data/facts/4.4/almalinux-8-x86_64.facts +0 -25
  188. data/facts/4.4/almalinux-9-x86_64.facts +0 -25
  189. data/facts/4.4/amazon-2-x86_64.facts +249 -0
  190. data/facts/4.4/archlinux-x86_64.facts +0 -26
  191. data/facts/4.4/centos-10-x86_64.facts +502 -0
  192. data/facts/4.4/centos-9-x86_64.facts +0 -25
  193. data/facts/4.4/debian-11-x86_64.facts +0 -26
  194. data/facts/4.4/debian-12-i386.facts +0 -26
  195. data/facts/4.4/debian-12-x86_64.facts +0 -26
  196. data/facts/4.4/fedora-36-x86_64.facts +0 -25
  197. data/facts/4.4/fedora-37-x86_64.facts +0 -25
  198. data/facts/4.4/fedora-38-x86_64.facts +0 -25
  199. data/facts/4.4/fedora-39-x86_64.facts +0 -25
  200. data/facts/4.4/fedora-40-x86_64.facts +458 -0
  201. data/facts/4.4/fedora-41-x86_64.facts +831 -0
  202. data/facts/4.4/freebsd-13-x86_64.facts +0 -15
  203. data/facts/4.4/freebsd-14-x86_64.facts +406 -0
  204. data/facts/4.4/gentoo-2-x86_64.facts +0 -25
  205. data/facts/4.4/opensuse-15-x86_64.facts +0 -27
  206. data/facts/4.4/oraclelinux-8-x86_64.facts +0 -25
  207. data/facts/4.4/oraclelinux-9-x86_64.facts +0 -25
  208. data/facts/4.4/redhat-8-x86_64.facts +0 -25
  209. data/facts/4.4/redhat-9-x86_64.facts +0 -25
  210. data/facts/4.4/rocky-8-x86_64.facts +0 -25
  211. data/facts/4.4/rocky-9-x86_64.facts +0 -25
  212. data/facts/4.4/sles-12-x86_64.facts +0 -27
  213. data/facts/4.4/ubuntu-18.04-x86_64.facts +0 -28
  214. data/facts/4.4/ubuntu-20.04-x86_64.facts +0 -28
  215. data/facts/4.4/ubuntu-22.04-aarch64.facts +597 -0
  216. data/facts/4.4/ubuntu-22.04-x86_64.facts +0 -26
  217. data/facts/4.4/ubuntu-24.04-aarch64.facts +473 -0
  218. data/facts/4.4/ubuntu-24.04-x86_64.facts +473 -0
  219. data/facts/4.4/windows-10-x86_64.facts +0 -21
  220. data/facts/4.4/windows-11-x86_64.facts +0 -21
  221. data/facts/4.4/windows-2012 r2-x86_64.facts +0 -13
  222. data/facts/4.4/windows-2012-x86_64.facts +0 -13
  223. data/facts/4.4/windows-2016-core-x86_64.facts +0 -13
  224. data/facts/4.4/windows-2016-x86_64.facts +0 -13
  225. data/facts/4.4/windows-2019-core-x86_64.facts +0 -13
  226. data/facts/4.4/windows-2019-x86_64.facts +0 -21
  227. data/facts/4.4/windows-2022-core-x86_64.facts +0 -13
  228. data/facts/4.4/windows-2022-x86_64.facts +0 -21
  229. data/facts/4.5/almalinux-8-x86_64.facts +0 -25
  230. data/facts/4.5/almalinux-9-x86_64.facts +0 -25
  231. data/facts/4.5/amazon-2-x86_64.facts +0 -26
  232. data/facts/4.5/archlinux-x86_64.facts +0 -26
  233. data/facts/4.5/centos-10-x86_64.facts +489 -0
  234. data/facts/4.5/centos-9-x86_64.facts +0 -25
  235. data/facts/4.5/debian-11-x86_64.facts +0 -26
  236. data/facts/4.5/debian-12-x86_64.facts +0 -26
  237. data/facts/4.5/fedora-36-x86_64.facts +0 -25
  238. data/facts/4.5/fedora-37-x86_64.facts +0 -25
  239. data/facts/4.5/fedora-38-x86_64.facts +0 -25
  240. data/facts/4.5/fedora-39-x86_64.facts +0 -25
  241. data/facts/4.5/fedora-40-x86_64.facts +464 -0
  242. data/facts/4.5/fedora-41-x86_64.facts +837 -0
  243. data/facts/4.5/freebsd-12-x86_64.facts +0 -15
  244. data/facts/4.5/freebsd-13-x86_64.facts +0 -15
  245. data/facts/4.5/freebsd-14-x86_64.facts +411 -0
  246. data/facts/4.5/gentoo-2-x86_64.facts +0 -25
  247. data/facts/4.5/opensuse-15-x86_64.facts +0 -27
  248. data/facts/4.5/oraclelinux-8-x86_64.facts +0 -25
  249. data/facts/4.5/oraclelinux-9-x86_64.facts +0 -25
  250. data/facts/4.5/redhat-8-x86_64.facts +0 -25
  251. data/facts/4.5/redhat-9-x86_64.facts +0 -25
  252. data/facts/4.5/rocky-8-x86_64.facts +0 -25
  253. data/facts/4.5/rocky-9-x86_64.facts +0 -25
  254. data/facts/4.5/ubuntu-18.04-x86_64.facts +0 -28
  255. data/facts/4.5/ubuntu-20.04-x86_64.facts +0 -28
  256. data/facts/4.5/ubuntu-22.04-aarch64.facts +603 -0
  257. data/facts/4.5/ubuntu-22.04-x86_64.facts +0 -26
  258. data/facts/4.5/ubuntu-24.04-aarch64.facts +479 -0
  259. data/facts/4.5/ubuntu-24.04-x86_64.facts +479 -0
  260. data/facts/4.5/windows-10-x86_64.facts +0 -21
  261. data/facts/4.5/windows-11-x86_64.facts +0 -21
  262. data/facts/4.5/windows-2019-x86_64.facts +0 -21
  263. data/facts/4.5/windows-2022-x86_64.facts +0 -21
  264. data/facts/4.6/almalinux-8-x86_64.facts +0 -25
  265. data/facts/4.6/almalinux-9-x86_64.facts +0 -25
  266. data/facts/4.6/amazon-2-x86_64.facts +257 -0
  267. data/facts/4.6/archlinux-x86_64.facts +0 -26
  268. data/facts/4.6/centos-10-x86_64.facts +490 -0
  269. data/facts/4.6/centos-9-x86_64.facts +0 -25
  270. data/facts/4.6/debian-11-x86_64.facts +0 -26
  271. data/facts/4.6/debian-12-x86_64.facts +0 -26
  272. data/facts/4.6/fedora-36-x86_64.facts +0 -25
  273. data/facts/4.6/fedora-37-x86_64.facts +0 -25
  274. data/facts/4.6/fedora-38-x86_64.facts +0 -25
  275. data/facts/4.6/fedora-39-x86_64.facts +0 -25
  276. data/facts/4.6/fedora-40-x86_64.facts +465 -0
  277. data/facts/4.6/fedora-41-x86_64.facts +838 -0
  278. data/facts/4.6/freebsd-13-x86_64.facts +411 -0
  279. data/facts/4.6/freebsd-14-x86_64.facts +411 -0
  280. data/facts/4.6/gentoo-2-x86_64.facts +0 -25
  281. data/facts/4.6/opensuse-15-x86_64.facts +475 -0
  282. data/facts/4.6/oraclelinux-8-x86_64.facts +0 -25
  283. data/facts/4.6/oraclelinux-9-x86_64.facts +0 -25
  284. data/facts/4.6/redhat-8-x86_64.facts +0 -25
  285. data/facts/4.6/redhat-9-x86_64.facts +0 -25
  286. data/facts/4.6/rocky-8-x86_64.facts +469 -0
  287. data/facts/4.6/rocky-9-x86_64.facts +0 -25
  288. data/facts/4.6/ubuntu-20.04-x86_64.facts +0 -28
  289. data/facts/4.6/ubuntu-22.04-aarch64.facts +603 -0
  290. data/facts/4.6/ubuntu-22.04-x86_64.facts +0 -26
  291. data/facts/4.6/ubuntu-24.04-aarch64.facts +479 -0
  292. data/facts/4.6/ubuntu-24.04-x86_64.facts +480 -0
  293. data/facts/4.6/windows-10-x86_64.facts +0 -21
  294. data/facts/4.6/windows-11-x86_64.facts +0 -21
  295. data/facts/4.6/windows-2019-x86_64.facts +0 -21
  296. data/facts/4.6/windows-2022-x86_64.facts +0 -21
  297. data/facts/4.7/almalinux-8-x86_64.facts +0 -25
  298. data/facts/4.7/almalinux-9-x86_64.facts +0 -25
  299. data/facts/4.7/amazon-2-x86_64.facts +257 -0
  300. data/facts/4.7/archlinux-x86_64.facts +0 -26
  301. data/facts/4.7/centos-10-x86_64.facts +490 -0
  302. data/facts/4.7/centos-9-x86_64.facts +0 -25
  303. data/facts/4.7/debian-11-x86_64.facts +0 -26
  304. data/facts/4.7/debian-12-x86_64.facts +0 -26
  305. data/facts/4.7/fedora-36-x86_64.facts +0 -25
  306. data/facts/4.7/fedora-37-x86_64.facts +0 -25
  307. data/facts/4.7/fedora-38-x86_64.facts +0 -25
  308. data/facts/4.7/fedora-39-x86_64.facts +0 -25
  309. data/facts/4.7/fedora-40-x86_64.facts +465 -0
  310. data/facts/4.7/fedora-41-x86_64.facts +838 -0
  311. data/facts/4.7/freebsd-13-x86_64.facts +411 -0
  312. data/facts/4.7/freebsd-14-x86_64.facts +411 -0
  313. data/facts/4.7/gentoo-2-x86_64.facts +0 -25
  314. data/facts/4.7/openbsd-7-x86_64.facts +0 -8
  315. data/facts/4.7/opensuse-15-x86_64.facts +0 -27
  316. data/facts/4.7/oraclelinux-8-x86_64.facts +0 -25
  317. data/facts/4.7/oraclelinux-9-x86_64.facts +0 -25
  318. data/facts/4.7/redhat-8-x86_64.facts +0 -25
  319. data/facts/4.7/redhat-9-x86_64.facts +0 -25
  320. data/facts/4.7/rocky-8-x86_64.facts +469 -0
  321. data/facts/4.7/rocky-9-x86_64.facts +0 -25
  322. data/facts/4.7/ubuntu-20.04-x86_64.facts +0 -28
  323. data/facts/4.7/ubuntu-22.04-aarch64.facts +603 -0
  324. data/facts/4.7/ubuntu-22.04-x86_64.facts +0 -26
  325. data/facts/4.7/ubuntu-24.04-aarch64.facts +479 -0
  326. data/facts/4.7/ubuntu-24.04-x86_64.facts +480 -0
  327. data/facts/4.7/windows-10-x86_64.facts +0 -21
  328. data/facts/4.7/windows-11-x86_64.facts +0 -21
  329. data/facts/4.7/windows-2019-x86_64.facts +0 -21
  330. data/facts/4.7/windows-2022-x86_64.facts +0 -21
  331. data/facts/4.8/almalinux-8-x86_64.facts +457 -0
  332. data/facts/4.8/almalinux-9-x86_64.facts +575 -0
  333. data/facts/4.8/amazon-2-x86_64.facts +263 -0
  334. data/facts/4.8/centos-10-x86_64.facts +493 -0
  335. data/facts/4.8/centos-9-x86_64.facts +508 -0
  336. data/facts/4.8/debian-11-x86_64.facts +433 -0
  337. data/facts/4.8/debian-12-x86_64.facts +514 -0
  338. data/facts/4.8/fedora-40-x86_64.facts +468 -0
  339. data/facts/4.8/fedora-41-x86_64.facts +841 -0
  340. data/facts/4.8/freebsd-13-x86_64.facts +411 -0
  341. data/facts/4.8/freebsd-14-x86_64.facts +411 -0
  342. data/facts/4.8/opensuse-15-x86_64.facts +481 -0
  343. data/facts/4.8/oraclelinux-8-x86_64.facts +499 -0
  344. data/facts/4.8/oraclelinux-9-x86_64.facts +545 -0
  345. data/facts/4.8/redhat-8-x86_64.facts +493 -0
  346. data/facts/4.8/redhat-9-x86_64.facts +544 -0
  347. data/facts/4.8/rocky-8-x86_64.facts +474 -0
  348. data/facts/4.8/rocky-9-x86_64.facts +608 -0
  349. data/facts/4.8/ubuntu-20.04-x86_64.facts +569 -0
  350. data/facts/4.8/ubuntu-22.04-aarch64.facts +606 -0
  351. data/facts/4.8/ubuntu-22.04-x86_64.facts +569 -0
  352. data/facts/4.8/ubuntu-24.04-aarch64.facts +482 -0
  353. data/facts/4.8/ubuntu-24.04-x86_64.facts +485 -0
  354. data/facts/4.8/windows-10-x86_64.facts +174 -0
  355. data/facts/4.8/windows-11-x86_64.facts +174 -0
  356. data/facts/4.8/windows-2022-x86_64.facts +168 -0
  357. data/facts/4.9/almalinux-8-x86_64.facts +458 -0
  358. data/facts/4.9/almalinux-9-x86_64.facts +579 -0
  359. data/facts/4.9/amazon-2-x86_64.facts +265 -0
  360. data/facts/4.9/centos-10-x86_64.facts +495 -0
  361. data/facts/4.9/centos-9-x86_64.facts +509 -0
  362. data/facts/4.9/debian-11-x86_64.facts +434 -0
  363. data/facts/4.9/debian-12-x86_64.facts +515 -0
  364. data/facts/4.9/fedora-40-x86_64.facts +470 -0
  365. data/facts/4.9/fedora-41-x86_64.facts +845 -0
  366. data/facts/4.9/freebsd-13-x86_64.facts +411 -0
  367. data/facts/4.9/freebsd-14-x86_64.facts +411 -0
  368. data/facts/4.9/opensuse-15-x86_64.facts +482 -0
  369. data/facts/4.9/oraclelinux-8-x86_64.facts +501 -0
  370. data/facts/4.9/oraclelinux-9-x86_64.facts +547 -0
  371. data/facts/4.9/redhat-8-x86_64.facts +495 -0
  372. data/facts/4.9/redhat-9-x86_64.facts +546 -0
  373. data/facts/4.9/rocky-8-x86_64.facts +476 -0
  374. data/facts/4.9/rocky-9-x86_64.facts +613 -0
  375. data/facts/4.9/ubuntu-20.04-x86_64.facts +570 -0
  376. data/facts/4.9/ubuntu-22.04-aarch64.facts +609 -0
  377. data/facts/4.9/ubuntu-22.04-x86_64.facts +570 -0
  378. data/facts/4.9/ubuntu-24.04-aarch64.facts +485 -0
  379. data/facts/4.9/ubuntu-24.04-x86_64.facts +488 -0
  380. data/facts/4.9/windows-10-x86_64.facts +174 -0
  381. data/facts/4.9/windows-11-x86_64.facts +174 -0
  382. data/facts/4.9/windows-2022-x86_64.facts +168 -0
  383. data/facts/5.1/almalinux-10-x86_64.facts +578 -0
  384. data/facts/5.1/almalinux-8-x86_64.facts +538 -0
  385. data/facts/5.1/almalinux-9-x86_64.facts +589 -0
  386. data/facts/5.1/amazon-2-x86_64.facts +462 -0
  387. data/facts/5.1/amazon-2023-x86_64.facts +527 -0
  388. data/facts/5.1/centos-10-x86_64.facts +524 -0
  389. data/facts/5.1/centos-9-x86_64.facts +547 -0
  390. data/facts/5.1/debian-11-x86_64.facts +443 -0
  391. data/facts/5.1/debian-12-x86_64.facts +524 -0
  392. data/facts/5.1/debian-13-x86_64.facts +576 -0
  393. data/facts/5.1/fedora-42-x86_64.facts +546 -0
  394. data/facts/5.1/fedora-43-x86_64.facts +597 -0
  395. data/facts/5.1/freebsd-13-x86_64.facts +440 -0
  396. data/facts/5.1/freebsd-14-x86_64.facts +440 -0
  397. data/facts/5.1/opensuse-16-x86_64.facts +290 -0
  398. data/facts/5.1/oraclelinux-10-x86_64.facts +551 -0
  399. data/facts/5.1/oraclelinux-8-x86_64.facts +520 -0
  400. data/facts/5.1/oraclelinux-9-x86_64.facts +586 -0
  401. data/facts/5.1/redhat-8-x86_64.facts +505 -0
  402. data/facts/5.1/redhat-9-x86_64.facts +556 -0
  403. data/facts/5.1/rocky-10-x86_64.facts +606 -0
  404. data/facts/5.1/rocky-8-x86_64.facts +489 -0
  405. data/facts/5.1/rocky-9-x86_64.facts +539 -0
  406. data/facts/5.1/ubuntu-22.04-x86_64.facts +580 -0
  407. data/facts/5.1/ubuntu-24.04-x86_64.facts +498 -0
  408. data/facts/5.1/windows-10-x86_64.facts +173 -0
  409. data/facts/5.1/windows-11-x86_64.facts +173 -0
  410. data/facts/5.1/windows-2019-x86_64.facts +167 -0
  411. data/facts/5.1/windows-2022-x86_64.facts +168 -0
  412. data/facts/5.1/windows-2025-x86_64.facts +159 -0
  413. data/facts/5.2/almalinux-10-x86_64.facts +585 -0
  414. data/facts/5.2/almalinux-8-x86_64.facts +545 -0
  415. data/facts/5.2/almalinux-9-x86_64.facts +596 -0
  416. data/facts/5.2/amazon-2-x86_64.facts +469 -0
  417. data/facts/5.2/amazon-2023-x86_64.facts +534 -0
  418. data/facts/5.2/centos-10-x86_64.facts +519 -0
  419. data/facts/5.2/centos-9-x86_64.facts +578 -0
  420. data/facts/5.2/debian-11-x86_64.facts +443 -0
  421. data/facts/5.2/debian-12-x86_64.facts +524 -0
  422. data/facts/5.2/debian-13-x86_64.facts +575 -0
  423. data/facts/5.2/oraclelinux-10-x86_64.facts +555 -0
  424. data/facts/5.2/oraclelinux-8-x86_64.facts +524 -0
  425. data/facts/5.2/oraclelinux-9-x86_64.facts +590 -0
  426. data/facts/5.2/redhat-8-x86_64.facts +509 -0
  427. data/facts/5.2/redhat-9-x86_64.facts +560 -0
  428. data/facts/5.2/rocky-10-x86_64.facts +613 -0
  429. data/facts/5.2/rocky-8-x86_64.facts +496 -0
  430. data/facts/5.2/rocky-9-x86_64.facts +546 -0
  431. data/facts/5.2/ubuntu-22.04-x86_64.facts +580 -0
  432. data/facts/5.2/ubuntu-24.04-x86_64.facts +498 -0
  433. data/facts/5.2/windows-2019-x86_64.facts +166 -0
  434. data/facts/5.2/windows-2022-x86_64.facts +167 -0
  435. data/facts/5.2/windows-2025-x86_64.facts +159 -0
  436. data/facts/5.4/almalinux-10-x86_64.facts +585 -0
  437. data/facts/5.4/almalinux-8-x86_64.facts +545 -0
  438. data/facts/5.4/almalinux-9-x86_64.facts +596 -0
  439. data/facts/5.4/amazon-2023-x86_64.facts +534 -0
  440. data/facts/5.4/centos-10-x86_64.facts +544 -0
  441. data/facts/5.4/centos-9-x86_64.facts +578 -0
  442. data/facts/5.4/debian-11-x86_64.facts +443 -0
  443. data/facts/5.4/debian-12-x86_64.facts +524 -0
  444. data/facts/5.4/debian-13-x86_64.facts +575 -0
  445. data/facts/5.4/oraclelinux-10-x86_64.facts +555 -0
  446. data/facts/5.4/oraclelinux-8-x86_64.facts +524 -0
  447. data/facts/5.4/oraclelinux-9-x86_64.facts +590 -0
  448. data/facts/5.4/redhat-8-x86_64.facts +509 -0
  449. data/facts/5.4/redhat-9-x86_64.facts +560 -0
  450. data/facts/5.4/rocky-10-x86_64.facts +613 -0
  451. data/facts/5.4/rocky-8-x86_64.facts +496 -0
  452. data/facts/5.4/rocky-9-x86_64.facts +546 -0
  453. data/facts/5.4/ubuntu-22.04-x86_64.facts +580 -0
  454. data/facts/5.4/ubuntu-24.04-x86_64.facts +498 -0
  455. data/facts/5.4/windows-2019-x86_64.facts +166 -0
  456. data/facts/5.4/windows-2022-x86_64.facts +167 -0
  457. data/facts/5.4/windows-2025-x86_64.facts +159 -0
  458. data/facts/5.6/almalinux-10-x86_64.facts +588 -0
  459. data/facts/5.6/almalinux-8-x86_64.facts +545 -0
  460. data/facts/5.6/almalinux-9-x86_64.facts +596 -0
  461. data/facts/5.6/amazon-2-x86_64.facts +469 -0
  462. data/facts/5.6/amazon-2023-x86_64.facts +534 -0
  463. data/facts/5.6/centos-10-x86_64.facts +547 -0
  464. data/facts/5.6/centos-9-x86_64.facts +578 -0
  465. data/facts/5.6/debian-11-x86_64.facts +446 -0
  466. data/facts/5.6/debian-12-x86_64.facts +527 -0
  467. data/facts/5.6/debian-13-x86_64.facts +578 -0
  468. data/facts/5.6/oraclelinux-10-x86_64.facts +558 -0
  469. data/facts/5.6/oraclelinux-8-x86_64.facts +524 -0
  470. data/facts/5.6/oraclelinux-9-x86_64.facts +590 -0
  471. data/facts/5.6/redhat-10-x86_64.facts +491 -0
  472. data/facts/5.6/redhat-8-x86_64.facts +509 -0
  473. data/facts/5.6/redhat-9-x86_64.facts +560 -0
  474. data/facts/5.6/rocky-10-x86_64.facts +616 -0
  475. data/facts/5.6/rocky-8-x86_64.facts +496 -0
  476. data/facts/5.6/rocky-9-x86_64.facts +546 -0
  477. data/facts/5.6/ubuntu-22.04-x86_64.facts +580 -0
  478. data/facts/5.6/ubuntu-24.04-x86_64.facts +498 -0
  479. data/facts/5.6/ubuntu-26.04-x86_64.facts +606 -0
  480. data/facts/5.6/windows-2019-x86_64.facts +166 -0
  481. data/facts/5.6/windows-2022-x86_64.facts +167 -0
  482. data/facts/5.6/windows-2025-x86_64.facts +159 -0
  483. data/facts/README.md +8 -0
  484. data/facts/Vagrantfile +397 -166
  485. data/facts/get_facts.sh +71 -42
  486. data/facts/vbguest_install.sh +16 -0
  487. data/facts/versions.txt +12 -9
  488. data/facts/windows_get_facts.ps1 +2 -2
  489. data/lib/facterdb/version.rb +1 -1
  490. data/lib/facterdb.rb +1 -2
  491. data/spec/facter_db_spec.rb +6 -6
  492. data/spec/facts_spec.rb +54 -10
  493. data/spec/spec_helper.rb +1 -1
  494. metadata +264 -28
  495. data/database/list_arch_os_facter.md +0 -52
  496. data/database/list_facter_os_arch.md +0 -227
  497. data/database/list_os_arch_facter.md +0 -98
  498. data/database/list_os_facter_arch.md +0 -266
  499. data/database/table.md +0 -56
data/facts/get_facts.sh CHANGED
@@ -2,18 +2,25 @@
2
2
 
3
3
  export PATH=/opt/puppetlabs/bin:$PATH
4
4
 
5
- # ensure IPv6 is always enabled, some boxes disable it by default, e.g. Fedora and RedHat
6
- sysctl -w net.ipv6.conf.all.disable_ipv6=0
7
-
8
- puppetAgentVersionList='/vagrant/versions.txt'
9
- if test ! -f $puppetAgentVersionList; then
10
- echo 'Missing version list' >&2
11
- exit 1
12
- fi
13
- puppet8_agent_versions=$(grep --only-matching --perl-regexp '^\d+\.\d+\.\d+' $puppetAgentVersionList)
14
- if test -z "$puppet8_agent_versions"; then
15
- echo 'Version list is empty' >&2
16
- exit 1
5
+ # does not exist on BSD
6
+ if [ -d "/proc/sys" ]; then
7
+ # ensure IPv6 is always enabled, some boxes disable it by default, e.g. Fedora and RedHat
8
+ sysctl -w net.ipv6.conf.all.disable_ipv6=0
9
+ puppetAgentVersionList='versions.txt'
10
+ if test ! -f $puppetAgentVersionList; then
11
+ echo 'Missing version list'
12
+ exit 1
13
+ fi
14
+ puppet8_agent_versions=$(grep --only-matching --perl-regexp '^\d+\.\d+\.\d+' $puppetAgentVersionList)
15
+ if test -z "$puppet8_agent_versions"; then
16
+ echo 'Version list is empty'
17
+ exit 1
18
+ fi
19
+ else
20
+ echo 'ipv6_activate_all_interfaces="YES"' >> /etc/rc.conf
21
+ /etc/rc.d/netif restart
22
+ sleep 15 # sleep a bit until dhcp got a new ip
23
+ ifconfig
17
24
  fi
18
25
 
19
26
  apt_install() {
@@ -25,7 +32,7 @@ apt_install() {
25
32
 
26
33
  if test -f /usr/bin/zypper; then
27
34
  zypper --non-interactive --gpg-auto-import-keys refresh
28
- zypper --non-interactive install ruby-devel
35
+ zypper --non-interactive install ruby-devel augeas
29
36
  osfamily='Suse'
30
37
  # This is Leap which is based on SLES 12
31
38
  if [[ `cat /etc/os-release |grep -e '^VERSION="42' -c` == 1 ]]; then
@@ -40,6 +47,7 @@ elif test -f /usr/bin/apt-get; then
40
47
  apt_install lsb-release
41
48
  lsbdistcodename=$(lsb_release -sc)
42
49
  operatingsystem=$(lsb_release -si)
50
+ operatingsystem_lowercase=$(echo $operatingsystem | tr '[:upper:]' '[:lower:]')
43
51
  operatingsystemmajrelease=$(lsb_release -sr)
44
52
  osfamily='Debian'
45
53
  elif test -f /etc/redhat-release ; then
@@ -52,67 +60,77 @@ elif test -f '/etc/gentoo-release'; then
52
60
  osfamily='Gentoo'
53
61
  elif test -f '/etc/os-release' && grep -q 'Amazon' '/etc/os-release'; then
54
62
  osfamily='RedHat'
55
- operatingsystemmajrelease='7'
63
+ if grep -q 'VERSION="2023"' '/etc/os-release'; then
64
+ operatingsystemmajrelease='9'
65
+ else
66
+ operatingsystemmajrelease='7'
67
+ fi
56
68
  else
57
69
  osfamily=$(uname)
58
70
  fi
71
+
72
+ . /etc/os-release
73
+
59
74
  case "${osfamily}" in
60
75
  'RedHat')
61
- . /etc/os-release
62
76
  if [[ $ID == fedora ]]; then
63
77
  distcode=fedora
64
78
  dnf -y install facter ruby ruby-devel wget make gcc net-tools augeas
65
79
  elif [[ $ID == ol ]]; then
66
80
  distcode=el
67
81
  dnf -y groupinstall 'Development Tools'
82
+ elif [[ $ID == amzn ]]; then
83
+ distcode=el
84
+ dnf -y install ruby ruby-devel wget make gcc net-tools augeas
68
85
  else
69
86
  distcode=el
70
87
  fi
71
- wget "http://yum.puppetlabs.com/puppet8-release-el-${operatingsystemmajrelease}.noarch.rpm" -O /tmp/puppet8-release.rpm
72
- if test -f /tmp/puppet8-release.rpm; then
73
- rpm -ivh /tmp/puppet8-release.rpm
88
+ wget "https://yum.overlookinfratech.com/openvox8-release-${distcode}-${operatingsystemmajrelease}.noarch.rpm" -O /tmp/openvox8-release.rpm
89
+ if test -f /tmp/openvox8-release.rpm; then
90
+ rpm -ivh /tmp/openvox8-release.rpm
74
91
  for puppet_agent_version in $puppet8_agent_versions; do
75
- if yum install -y puppet-agent-${puppet_agent_version}; then
92
+ if yum install -y openvox-agent-${puppet_agent_version}; then
76
93
  output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter os.name | tr '[:upper:]' '[:lower:]')-$(facter os.release.major)-$(facter os.hardware).facts"
77
94
  mkdir -p $(dirname ${output_file})
78
95
  facter --puppet --json | tee ${output_file}
79
96
  fi
80
97
  done
81
- yum remove -y puppet8-release
98
+ yum remove -y openvox8-release
82
99
  fi
83
100
  ;;
84
101
  'Debian')
85
102
  # libaugeas-dev is needed when we generate facts via the facter gem. Otherwise augeas.version fact is missing
86
103
  apt_install curl file libaugeas-dev
87
- curl "https://apt.puppetlabs.com/puppet8-release-${lsbdistcodename}.deb" -o /tmp/puppet8-release.deb
88
- # apt.puppetlabs.com returns an html document if the requested deb doesn't exist and /tmp/puppet6-release.deb will be an html doc
89
- if test "$?" -eq 0 -a -f /tmp/puppet8-release.deb && [[ "$(file -b /tmp/puppet8-release.deb)" =~ "Debian binary package".* ]] ; then
90
- dpkg --install /tmp/puppet8-release.deb
104
+ # VERSION_ID comes from /etc/os-release
105
+ curl "https://apt.overlookinfratech.com/openvox8-release-${operatingsystem_lowercase}${VERSION_ID}.deb" -o /tmp/openvox8-release.deb
106
+ # apt.overlookinfratech.com returns an html document if the requested deb doesn't exist and /tmp/openvox8-release.deb will be an ASCII file
107
+ if test "$?" -eq 0 -a -f /tmp/openvox8-release.deb && [[ "$(file -b /tmp/openvox8-release.deb)" =~ "Debian binary package".* ]] ; then
108
+ dpkg --install /tmp/openvox8-release.deb
91
109
  apt-get update
92
110
  for puppet_agent_version in $puppet8_agent_versions; do
93
- if apt_install puppet-agent=${puppet_agent_version}*; then
111
+ if apt_install openvox-agent=${puppet_agent_version}*; then
94
112
  output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter os.name | tr '[:upper:]' '[:lower:]')-$(facter os.release.major)-$(facter os.hardware).facts"
95
113
  mkdir -p $(dirname ${output_file})
96
114
  facter --puppet --json | tee ${output_file}
97
115
  fi
98
116
  done
99
- apt-get -y remove --purge puppet8-release
117
+ apt-get -y remove --purge openvox8-release
100
118
  fi
101
119
  # libc6-dev needed to build the ffi gem
102
- apt_install make gcc libgmp-dev libc6-dev
120
+ apt_install make gcc libgmp-dev libc6-dev ruby ruby-dev
103
121
 
104
122
  # There are no puppet-agent packages for $releasename yet, so generate a Facter 3.x
105
123
  # fact set from the official Debian package.
106
124
  if [[ "hirsute" =~ ${lsbdistcodename} || "impish" =~ ${lsbdistcodename} || "jammy" =~ ${lsbdistcodename} || "kinetic" =~ ${lsbdistcodename} ]]; then
107
125
  apt_install ruby rubygems ruby-dev puppet facter
108
- output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter operatingsystem | tr '[:upper:]' '[:lower:]')-$(facter operatingsystemmajrelease)-$(facter hardwaremodel).facts"
126
+ output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter os.name | tr '[:upper:]' '[:lower:]')-$(facter os.release.major)-$(facter os.hardware).facts"
109
127
  mkdir -p $(dirname ${output_file})
110
128
  facter --puppet --json | tee ${output_file}
111
129
  fi
112
130
  ;;
113
131
  'FreeBSD')
114
132
  pkg update
115
- for facter_package in facter rubygem-facter ; do
133
+ for facter_package in rubygem-openfact ; do
116
134
  pkg install -fy ${facter_package}
117
135
 
118
136
  # something about the pkg update process causes the shared folder mount to
@@ -120,18 +138,18 @@ case "${osfamily}" in
120
138
  # fact sets.
121
139
  umount /vagrant
122
140
  mount -t vboxvfs Vagrant /vagrant
123
- hardwaremodel=$(facter hardwaremodel)
141
+ hardwaremodel=$(facter os.hardware)
124
142
  [ "${hardwaremodel}" = 'amd64' ] && hardwaremodel=x86_64
125
- output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter operatingsystem | tr '[:upper:]' '[:lower:]')-$(facter operatingsystemmajrelease)-${hardwaremodel}.facts"
143
+ output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter os.name | tr '[:upper:]' '[:lower:]')-$(facter os.release.major)-${hardwaremodel}.facts"
126
144
  mkdir -p $(dirname ${output_file})
127
145
  [ ! -f ${output_file} ] && facter --puppet --json | tee ${output_file}
128
146
  done
129
147
  ;;
130
148
  'OpenBSD')
131
- hardwaremodel=$(facter hardwaremodel)
149
+ hardwaremodel=$(facter os.hardware)
132
150
  [ "${hardwaremodel}" = 'amd64' ] && hardwaremodel=x86_64
133
151
  # Vagrant box should already have puppet & facter installed
134
- output_file="/vagrant/$(facter --version | cut -d. -f1-2)/$(facter operatingsystem | tr '[:upper:]' '[:lower:]')-$(facter operatingsystemrelease)-${hardwaremodel}.facts"
152
+ output_file="/vagrant/$(facter --version | cut -d. -f1-2)/$(facter os.name | tr '[:upper:]' '[:lower:]')-$(facter operatingsystemrelease)-${hardwaremodel}.facts"
135
153
  mkdir -p $(dirname ${output_file})
136
154
  [ ! -f ${output_file} ] && facter --puppet --json | tee ${output_file}
137
155
  ;;
@@ -147,7 +165,7 @@ case "${osfamily}" in
147
165
  if rpm -Uvh ${http_method}://yum.puppet.com/puppet8-release-sles-${operatingsystemmajrelease}.noarch.rpm; then
148
166
  for puppet_agent_version in $puppet8_agent_versions; do
149
167
  if zypper --gpg-auto-import-keys --non-interactive install puppet-agent-${puppet_agent_version}; then
150
- output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter operatingsystem | tr '[:upper:]' '[:lower:]')-$(facter operatingsystemmajrelease)-$(facter hardwaremodel).facts"
168
+ output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter os.name | tr '[:upper:]' '[:lower:]')-$(facter os.release.major)-$(facter os.hardware).facts"
151
169
  mkdir -p $(dirname ${output_file})
152
170
  facter --puppet --json | tee ${output_file}
153
171
  fi
@@ -157,13 +175,13 @@ case "${osfamily}" in
157
175
  ;;
158
176
  'Archlinux')
159
177
  pacman --sync --refresh --sysupgrade --noconfirm ruby ruby-bundler base-devel dnsutils facter augeas
160
- output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter operatingsystem | tr '[:upper:]' '[:lower:]')-$(facter hardwaremodel).facts"
178
+ output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter os.name | tr '[:upper:]' '[:lower:]')-$(facter os.hardware).facts"
161
179
  mkdir -p $(dirname ${output_file})
162
180
  facter --puppet --json | tee ${output_file}
163
181
  ;;
164
182
  'Gentoo')
165
183
  emerge -vq1 dev-lang/ruby dev-ruby/bundler app-admin/puppet dev-ruby/facter sys-apps/dmidecode app-admin/augeas
166
- output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter operatingsystem | tr '[:upper:]' '[:lower:]')-$(facter hardwaremodel).facts"
184
+ output_file="/vagrant/$(facter --version | cut -d. -f1,2)/$(facter os.name | tr '[:upper:]' '[:lower:]')-$(facter os.hardware).facts"
167
185
  mkdir -p $(dirname ${output_file})
168
186
  facter --puppet --json | tee ${output_file}
169
187
  esac
@@ -171,20 +189,31 @@ esac
171
189
  # this lower section relies on the ruby version and facter version that came
172
190
  # with the last installed puppet_agent per above
173
191
  # puppet-agent 8.0.0 has ruby 3.2.2 and it cant install 4.0.0, 4.1.0 facter gem
174
- operatingsystem=$(facter operatingsystem | tr '[:upper:]' '[:lower:]')
175
- operatingsystemrelease=$(facter operatingsystemrelease)
176
- operatingsystemmajrelease=$(facter operatingsystemmajrelease)
177
- hardwaremodel=$(facter hardwaremodel)
192
+ operatingsystem=$(facter os.name | tr '[:upper:]' '[:lower:]')
193
+ operatingsystemrelease=$(facter os.release.full)
194
+ operatingsystemmajrelease=$(facter os.release.major)
195
+ hardwaremodel=$(facter os.hardware)
178
196
 
179
197
  [ "${hardwaremodel}" = 'amd64' ] && hardwaremodel=x86_64
180
198
 
181
199
  PATH=/opt/puppetlabs/puppet/bin:$PATH
182
-
183
200
  gem install bundler --no-document --no-format-executable
184
201
  bundle config set path 'vendor/bundler'
185
202
  bundle install
186
203
 
187
- for version in 4.2.14 4.3.0 4.4.3 4.5.2 4.6.0 4.7.0; do
204
+ declare -a versions=(
205
+ '4.2.14'
206
+ '4.3.0'
207
+ '4.4.3'
208
+ '4.5.2'
209
+ '4.6.0'
210
+ '4.7.0'
211
+ '4.8.0'
212
+ '4.9.0'
213
+ '4.10.0'
214
+ )
215
+
216
+ for version in "${versions[@]}"; do
188
217
  FACTER_GEM_VERSION="~> ${version}" bundle update
189
218
  # sometimes all versions of facter are not possible, if the bundle update fails, skip the rest of the loop
190
219
  if [ $? -ne 0 ]; then
@@ -0,0 +1,16 @@
1
+ #!/bin/bash
2
+
3
+ vbox=$(lsmod | grep -c vboxsf)
4
+ version=${1:-7.2.8}
5
+
6
+ if [[ $vbox -eq 0 ]]; then
7
+ wget https://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso
8
+ dnf install -y epel-release
9
+ dnf install -y dkms gcc make kernel-devel bzip2 binutils patch libgomp glibc-headers glibc-devel kernel-headers elfutils-libelf-devel
10
+ mount VBoxGuestAdditions_${version}.iso /mnt
11
+ if [[ $(uname -m) == "aarch64" ]]; then
12
+ /mnt/VBoxLinuxAdditions-arm64.run --accept
13
+ else
14
+ /mnt/VBoxLinuxAdditions.run --accept
15
+ fi
16
+ fi
data/facts/versions.txt CHANGED
@@ -1,16 +1,19 @@
1
1
  # This is a list of all Puppet Agent versions to use to collect facts
2
2
  # Each line can have a single string which is a version number or can be a comment
3
- # Version information from Facter release notes: https://www.puppet.com/docs/puppet/8/release_notes_facter.htm
3
+ # Version information from Facter release notes:
4
+ # https://help.puppet.com/osp/8/Content/PuppetCore/FacterReleaseNotes/release_notes_facter.htm
4
5
  # FacterDB only cares about the x.y, and drops .z - Please keep versions in order by Facter version
5
6
 
6
- # Facter 4.7.0 - Released April 2024 and shipped with Puppet 8.6.0.
7
- 8.6.0
7
+ # starting with 8.10, all facts are generated by openvox packages or the openfact gem release
8
8
 
9
- # Facter 4.6.1 - Released March 2024 and shipped with Puppet 8.5.1.
10
- 8.5.1
9
+ # OpenFact 5.1.0 - Released July 2025 and shipped in OpenVox 8.23/8.22/8.21.1. OpenFact 5.0.0 isn't in any packages
10
+ 8.23.1
11
11
 
12
- # Facter 4.5.2 - Released January 2023 and shipped with Puppet 8.4.0.
13
- 8.4.0
12
+ # OpenFact 5.2.1 - Released December 2025 and sipped in OpenVox 8.24.2
13
+ 8.24.2
14
14
 
15
- # Facter 4.4.2 - Released August 2023 and shipped with Puppet 8.2.0.
16
- 8.2.0
15
+ # OpenFact 5.4.0 - Released February 2026 and shipped in OpenVox 8.25.0
16
+ 8.25.0
17
+
18
+ # OpenFact 5.6.0 - Released April 2026 and shipped in OpenVox 8.26+
19
+ 8.26.2
@@ -1,6 +1,6 @@
1
1
  param(
2
2
  [string]$puppetAgentVersionList = 'X:\versions.txt',
3
- [string]$baseUrl = 'https://downloads.puppetlabs.com/windows/puppet{0}/puppet-agent-{1}-{2}.msi',
3
+ [string]$baseUrl = 'https://downloads.voxpupuli.org/windows/openvox{0}/openvox-agent-{1}-{2}.msi',
4
4
  [string]$fqdn = 'foo.example.com'
5
5
  )
6
6
 
@@ -88,7 +88,7 @@ foreach ($pupAgentVer in $puppetAgentVersions) {
88
88
  # the domain name will fallback to the hypervisor's domain.
89
89
  $env:FACTER_fqdn = $fqdn
90
90
 
91
- $facterArgs = @("--json", "--puppet")
91
+ $facterArgs = @("--json")
92
92
  $facterProcess = Start-Process -FilePath $facterBin -ArgumentList $facterArgs -Wait -PassThru -RedirectStandardOutput "X:\$facterVer\$Os-$Osmaj-$Hw.facts"
93
93
  if ($facterProcess.ExitCode -ne 0) {
94
94
  Write-Host "Facter failed."
@@ -1,5 +1,5 @@
1
1
  module FacterDB
2
2
  module Version
3
- STRING = '3.0.0'
3
+ STRING = '4.5.0'
4
4
  end
5
5
  end
data/lib/facterdb.rb CHANGED
@@ -1,4 +1,3 @@
1
- require 'facter'
2
1
  require 'jgrep'
3
2
 
4
3
  module FacterDB
@@ -50,7 +49,7 @@ module FacterDB
50
49
  def self.default_fact_files
51
50
  return [] unless use_defaultdb?
52
51
 
53
- proj_root = File.join(File.dirname(File.dirname(__FILE__)))
52
+ proj_root = File.join(File.dirname(__FILE__, 2))
54
53
  facts_dir = File.expand_path(File.join(proj_root, 'facts'))
55
54
  Dir.glob(File.join(facts_dir, '**', '*.facts'))
56
55
  end
@@ -221,7 +221,7 @@ describe FacterDB do
221
221
  end
222
222
 
223
223
  it 'with Array' do
224
- expect(FacterDB.generate_filter_str([kernel: 'Linux'])).to eq('(kernel=Linux)')
224
+ expect(FacterDB.generate_filter_str([{ kernel: 'Linux' }])).to eq('(kernel=Linux)')
225
225
  end
226
226
 
227
227
  it 'empty' do
@@ -240,7 +240,7 @@ describe FacterDB do
240
240
  let(:symbolize_keys) { nil }
241
241
 
242
242
  context 'without parameters' do
243
- include_examples 'returns a result'
243
+ it_behaves_like 'returns a result'
244
244
  end
245
245
 
246
246
  context 'with stringified output' do
@@ -264,21 +264,21 @@ describe FacterDB do
264
264
  end
265
265
 
266
266
  context 'with an Array filter' do
267
- let(:filter) { [kernel: 'Linux'] }
267
+ let(:filter) { [{ kernel: 'Linux' }] }
268
268
 
269
- include_examples 'returns a result'
269
+ it_behaves_like 'returns a result'
270
270
  end
271
271
 
272
272
  context 'with a Hash filter' do
273
273
  let(:filter) { { kernel: 'Linux' } }
274
274
 
275
- include_examples 'returns a result'
275
+ it_behaves_like 'returns a result'
276
276
  end
277
277
 
278
278
  context 'with a String filter' do
279
279
  let(:filter) { 'kernel=Linux' }
280
280
 
281
- include_examples 'returns a result'
281
+ it_behaves_like 'returns a result'
282
282
  end
283
283
 
284
284
  context 'with a filter of an unsupported type' do
data/spec/facts_spec.rb CHANGED
@@ -15,10 +15,9 @@ end
15
15
  RSpec::Matchers.define :be_valid_json do
16
16
  match do |actual|
17
17
  content = File.binread(actual)
18
- valid = false
19
18
  begin
20
- obj = JSON.parse(content)
21
- valid = true
19
+ JSON.parse(content)
20
+ true
22
21
  rescue JSON::ParserError => e
23
22
  raise "Invalid JSON file #{actual}.\n#{e}"
24
23
  end
@@ -89,13 +88,11 @@ describe 'Default Facts' do
89
88
  end
90
89
 
91
90
  it 'contains newer networking facts hash' do
92
- if Gem::Version.new(content['facterversion']) >= Gem::Version.new('3.0.0')
93
- expect(content['networking']['ip']).to not_be_nil.and not_be_empty
94
- expect(content['networking']['ip6']).to not_be_nil.and not_be_empty
95
- expect(content['networking']['hostname']).to eq('foo')
96
- expect(content['networking']['domain']).to eq('example.com')
97
- expect(content['networking']['fqdn']).to eq('foo.example.com')
98
- end
91
+ expect(content['networking']['ip']).to not_be_nil.and not_be_empty
92
+ expect(content['networking']['ip6']).to not_be_nil.and not_be_empty
93
+ expect(content['networking']['hostname']).to eq('foo')
94
+ expect(content['networking']['domain']).to eq('example.com')
95
+ expect(content['networking']['fqdn']).to eq('foo.example.com')
99
96
  end
100
97
 
101
98
  it 'does not contains the legacy ipaddress fact' do
@@ -110,6 +107,25 @@ describe 'Default Facts' do
110
107
  expect(content['puppet_server']).to be_nil
111
108
  expect(content['pe_version']).to be_nil
112
109
  expect(content['package_provider']).to be_nil
110
+ expect(content['is_pe']).to be_nil
111
+ expect(content['pe_major_version']).to be_nil
112
+ expect(content['pe_minor_version']).to be_nil
113
+ expect(content['pe_patch_version']).to be_nil
114
+ end
115
+
116
+ it 'contains no facts from puppetlabs/puppet_agent' do
117
+ expect(content['env_temp_variable']).to be_nil
118
+ expect(content['puppet_agent_appdata']).to be_nil
119
+ expect(content['puppet_agent_pid']).to be_nil
120
+ expect(content['puppet_runmode']).to be_nil
121
+ expect(content['puppet_ssldir']).to be_nil
122
+ expect(content['puppet_digest_algorithm']).to be_nil
123
+ expect(content['puppet_config']).to be_nil
124
+ expect(content['puppet_stringify_facts']).to be_nil
125
+ expect(content['puppet_sslpaths']).to be_nil
126
+ expect(content['puppet_master_server']).to be_nil
127
+ expect(content['puppet_confdir']).to be_nil
128
+ expect(content['puppet_client_datadir']).to be_nil
113
129
  end
114
130
 
115
131
  it 'contains no facts from puppet/systemd' do
@@ -139,6 +155,34 @@ describe 'Default Facts' do
139
155
  it 'does not contain the legacy operatingsystem fact' do
140
156
  expect(content['operatingsystem']).to be_nil
141
157
  end
158
+
159
+ # those facts aren't default in Open Source Puppet/Facter core
160
+ it 'does not contain the PE facts' do
161
+ expect(content['pe_patch']).to be_nil
162
+ expect(content['puppet_inventory_metadata']).to be_nil
163
+ end
164
+
165
+ it 'does not contain random facts from known modules' do
166
+ expect(content['selinux_python_command']).to be_nil
167
+ expect(content['mysql_server_id']).to be_nil
168
+ expect(content['stage']).to be_nil
169
+ expect(content['virt_libvirt']).to be_nil
170
+ expect(content['function_number']).to be_nil
171
+ expect(content['classification']).to be_nil
172
+ expect(content['who2bug']).to be_nil
173
+ expect(content['prometheus_alert_manager_running']).to be_nil
174
+ expect(content['docker_home_dirs']).to be_nil
175
+ expect(content['aio_agent_build']).to be_nil
176
+ expect(content['python2_version']).to be_nil
177
+ expect(content['python_version']).to be_nil
178
+ expect(content['puppet_agent_pid']).to be_nil
179
+ end
180
+
181
+ it 'has no Debian unstable factsets' do
182
+ if content['os']['name'] == 'Debian'
183
+ expect(content['os']['release']['major']).not_to include('sid')
184
+ end
185
+ end
142
186
  end
143
187
  end
144
188
  end
data/spec/spec_helper.rb CHANGED
@@ -16,5 +16,5 @@ RSpec::Matchers.define_negated_matcher :not_be_nil, :be_nil
16
16
  RSpec::Matchers.define_negated_matcher :not_be_empty, :be_empty
17
17
 
18
18
  def project_dir
19
- File.dirname File.dirname(File.expand_path(__FILE__))
19
+ File.dirname(File.expand_path(__FILE__), 2)
20
20
  end