facterdb 4.0.0 → 4.2.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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pages.yml +2 -2
  3. data/.github/workflows/release.yml +6 -6
  4. data/.github/workflows/test.yml +2 -2
  5. data/.rubocop.yml +0 -3
  6. data/CHANGELOG.md +32 -0
  7. data/README.md +1 -19
  8. data/facterdb.gemspec +1 -1
  9. data/facts/4.10/almalinux-10-x86_64.facts +576 -0
  10. data/facts/4.10/rocky-10-x86_64.facts +604 -0
  11. data/facts/4.11/almalinux-10-x86_64.facts +587 -0
  12. data/facts/4.11/rocky-10-x86_64.facts +606 -0
  13. data/facts/5.1/almalinux-10-x86_64.facts +578 -0
  14. data/facts/5.1/almalinux-8-x86_64.facts +538 -0
  15. data/facts/5.1/almalinux-9-x86_64.facts +589 -0
  16. data/facts/5.1/amazon-2023-x86_64.facts +527 -0
  17. data/facts/5.1/centos-10-x86_64.facts +524 -0
  18. data/facts/5.1/centos-9-x86_64.facts +547 -0
  19. data/facts/5.1/debian-11-x86_64.facts +443 -0
  20. data/facts/5.1/debian-12-x86_64.facts +524 -0
  21. data/facts/5.1/debian-13-x86_64.facts +174 -109
  22. data/facts/5.1/fedora-42-x86_64.facts +546 -0
  23. data/facts/5.1/fedora-43-x86_64.facts +597 -0
  24. data/facts/5.1/freebsd-13-x86_64.facts +440 -0
  25. data/facts/5.1/freebsd-14-x86_64.facts +440 -0
  26. data/facts/5.1/opensuse-16-x86_64.facts +290 -0
  27. data/facts/5.1/oraclelinux-10-x86_64.facts +551 -0
  28. data/facts/5.1/oraclelinux-8-x86_64.facts +520 -0
  29. data/facts/5.1/oraclelinux-9-x86_64.facts +586 -0
  30. data/facts/5.1/redhat-8-x86_64.facts +505 -0
  31. data/facts/5.1/redhat-9-x86_64.facts +556 -0
  32. data/facts/5.1/rocky-10-x86_64.facts +606 -0
  33. data/facts/5.1/rocky-8-x86_64.facts +489 -0
  34. data/facts/5.1/rocky-9-x86_64.facts +539 -0
  35. data/facts/5.1/ubuntu-22.04-x86_64.facts +580 -0
  36. data/facts/5.1/ubuntu-24.04-x86_64.facts +498 -0
  37. data/facts/5.1/windows-10-x86_64.facts +173 -0
  38. data/facts/5.1/windows-11-x86_64.facts +173 -0
  39. data/facts/5.1/windows-2019-x86_64.facts +167 -0
  40. data/facts/5.1/windows-2022-x86_64.facts +168 -0
  41. data/facts/5.1/windows-2025-x86_64.facts +159 -0
  42. data/facts/Vagrantfile +357 -204
  43. data/facts/get_facts.sh +12 -3
  44. data/facts/versions.txt +3 -24
  45. data/facts/windows_get_facts.ps1 +2 -2
  46. data/lib/facterdb/version.rb +1 -1
  47. metadata +35 -3
data/facts/Vagrantfile CHANGED
@@ -13,91 +13,62 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
13
13
  config.vm.provider 'virtualbox' do |v|
14
14
  v.gui = false
15
15
  end
16
-
17
- config.vm.define 'debian-11-x86_64', autostart: false do |host|
18
- host.vm.box = 'debian/bullseye64'
19
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
20
- host.vm.provision 'shell', path: 'get_facts.sh'
21
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
22
- end
23
- config.vm.define 'debian-12-x86_64', autostart: false do |host|
24
- host.vm.box = 'debian/bookworm64'
25
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
26
- host.vm.provision 'shell', path: 'get_facts.sh'
27
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
28
- end
29
- config.vm.define 'debian-13-x86_64', autostart: false do |host|
30
- host.vm.box = 'debian/testing64' # FIXME: need to set to trixie64 when it is available
31
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
32
- host.vm.provision 'shell', path: 'get_facts.sh'
33
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
34
- end
35
- config.vm.define 'linuxmint-19-x86_64', autostart: false do |host|
36
- host.vm.box = 'ltsp/linuxmint-19.1-cinnamon-64bit'
37
- host.vm.provision 'shell',
38
- inline: 'export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get install -y ruby ruby-dev libc6-dev'
39
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
40
- host.vm.provision 'shell', path: 'get_facts.sh'
41
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
42
- end
43
- config.vm.define 'ubuntu-18.04-x86_64', autostart: false do |host|
44
- host.vm.box = 'ubuntu/bionic64'
45
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
46
- host.vm.provision 'shell', path: 'get_facts.sh'
47
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
48
- end
49
- config.vm.define 'ubuntu-20.04-x86_64', autostart: false do |host|
50
- host.vm.box = 'ubuntu/focal64'
51
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
52
- host.vm.provision 'shell', path: 'get_facts.sh'
53
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
54
- end
55
- config.vm.define 'ubuntu-21.04-x86_64', autostart: false do |host|
56
- host.vm.box = 'ubuntu/hirsute64'
57
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
58
- host.vm.provision 'shell', path: 'get_facts.sh'
59
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
60
- end
61
- config.vm.define 'ubuntu-21.10-x86_64', autostart: false do |host|
62
- host.vm.box = 'ubuntu/impish64'
16
+ # ---------------------------------------------------------------------------- #
17
+ # ALMALINUX #
18
+ # ---------------------------------------------------------------------------- #
19
+ config.vm.define 'almalinux-8-x86_64', autostart: false do |host|
20
+ host.vm.box = 'almalinux/8'
21
+ host.vm.synced_folder '.', '/vagrant'
22
+ host.vm.provision 'shell', inline: 'dnf -y install wget make gcc net-tools'
63
23
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
64
24
  host.vm.provision 'shell', path: 'get_facts.sh'
65
25
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
66
26
  end
67
- config.vm.define 'ubuntu-22.04-x86_64', autostart: false do |host|
68
- host.vm.box = 'ubuntu/jammy64'
27
+ config.vm.define 'almalinux-9-x86_64', autostart: false do |host|
28
+ host.vm.box = 'almalinux/9'
29
+ host.vm.synced_folder '.', '/vagrant'
30
+ host.vm.provision 'shell', inline: 'dnf -y install wget make gcc net-tools'
69
31
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
70
32
  host.vm.provision 'shell', path: 'get_facts.sh'
71
33
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
72
34
  end
73
- config.vm.define 'ubuntu-22.04-arm64', autostart: false do |host|
74
- host.vm.box = 'bento/ubuntu-22.04'
75
- host.vm.box_architecture = 'arm64'
35
+ config.vm.define 'almalinux-10-x86_64', autostart: false do |host|
36
+ host.vm.box = 'almalinux/10'
37
+ host.vm.synced_folder '.', '/vagrant'
38
+ host.vm.provision 'shell', inline: 'dnf -y install wget make gcc net-tools'
76
39
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
77
40
  host.vm.provision 'shell', path: 'get_facts.sh'
78
41
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
79
42
  end
80
- # the ssh bits on this did not work right, most of the steps for
81
- # generating things were done manually
82
- config.vm.define 'ubuntu-22.10-x86_64', autostart: false do |host|
83
- host.vm.box = 'ubuntu/kinetic64'
43
+ # ---------------------------------------------------------------------------- #
44
+ # AMAZON LINUX #
45
+ # ---------------------------------------------------------------------------- #
46
+ config.vm.define 'amazonlinux-2-x86_64', autostart: false do |host|
47
+ host.vm.box = 'bento/amazonlinux-2'
48
+ host.vm.provision 'shell', inline: 'yum -y install gcc glibc-devel'
84
49
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
85
50
  host.vm.provision 'shell', path: 'get_facts.sh'
86
51
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
87
52
  end
88
- config.vm.define 'ubuntu-24.04-x86_64', autostart: false do |host|
89
- host.vm.box = 'bento/ubuntu-24.04'
53
+ config.vm.define 'amazonlinux-2023-x86_64', autostart: false do |host|
54
+ host.vm.box = 'bento/amazonlinux-2023'
55
+ host.vm.provision 'shell', inline: 'yum -y install gcc glibc-devel'
90
56
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
91
57
  host.vm.provision 'shell', path: 'get_facts.sh'
92
58
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
93
59
  end
94
- config.vm.define 'ubuntu-24.04-arm64', autostart: false do |host|
95
- host.vm.box = 'bento/ubuntu-24.04'
96
- host.vm.box_architecture = 'arm64'
60
+ # ---------------------------------------------------------------------------- #
61
+ # ARCH LINUX #
62
+ # ---------------------------------------------------------------------------- #
63
+ config.vm.define 'archlinux-x86_64', autostart: false do |host|
64
+ host.vm.box = 'archlinux/archlinux'
97
65
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
98
66
  host.vm.provision 'shell', path: 'get_facts.sh'
99
67
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
100
68
  end
69
+ # ---------------------------------------------------------------------------- #
70
+ # CENTOS STREAM #
71
+ # ---------------------------------------------------------------------------- #
101
72
  config.vm.define 'centos-stream9-x86_64', autostart: false do |host|
102
73
  host.vm.box = 'centos/stream9'
103
74
  host.vm.box_url = 'https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-Vagrant-9-latest.x86_64.vagrant-virtualbox.box'
@@ -122,117 +93,117 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
122
93
  host.vm.provision 'shell', path: 'get_facts.sh'
123
94
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
124
95
  end
125
- config.vm.define 'almalinux-8-x86_64', autostart: false do |host|
126
- host.vm.box = 'almalinux/8'
127
- host.vm.synced_folder '.', '/vagrant'
128
- host.vm.provision 'shell', inline: 'dnf -y install wget make gcc net-tools'
96
+ # ---------------------------------------------------------------------------- #
97
+ # DEBIAN #
98
+ # ---------------------------------------------------------------------------- #
99
+ config.vm.define 'debian-11-x86_64', autostart: false do |host|
100
+ host.vm.box = 'debian/bullseye64'
129
101
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
130
102
  host.vm.provision 'shell', path: 'get_facts.sh'
131
103
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
132
104
  end
133
- config.vm.define 'almalinux-9-x86_64', autostart: false do |host|
134
- host.vm.box = 'almalinux/9'
135
- host.vm.synced_folder '.', '/vagrant'
136
- host.vm.provision 'shell', inline: 'dnf -y install wget make gcc net-tools'
105
+ config.vm.define 'debian-12-x86_64', autostart: false do |host|
106
+ host.vm.box = 'debian/bookworm64'
137
107
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
138
108
  host.vm.provision 'shell', path: 'get_facts.sh'
139
109
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
140
110
  end
141
- config.vm.define 'rockylinux-8-x86_64', autostart: false do |host|
142
- host.vm.box = 'bento/rockylinux-8'
143
- host.vm.synced_folder '.', '/vagrant'
144
- host.vm.provision 'shell', inline: 'dnf -y install wget make gcc net-tools'
111
+ config.vm.define 'debian-13-x86_64', autostart: false do |host|
112
+ host.vm.box = 'boxen/debian-13' # debian.org doesn't publish vagrant images anymore
145
113
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
146
114
  host.vm.provision 'shell', path: 'get_facts.sh'
147
115
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
148
116
  end
149
- config.vm.define 'rockylinux-9-x86_64', autostart: false do |host|
150
- # this box has no vboxguestadditions as of 2025-04-25
151
- # so the synced_folder doesnt mount
152
- # host.vm.box = 'rockylinux/9'
153
- host.vm.box = 'bento/rockylinux-9'
117
+ # ---------------------------------------------------------------------------- #
118
+ # FEDORA #
119
+ # ---------------------------------------------------------------------------- #
120
+ config.vm.define 'fedora-36-x86_64', autostart: false do |host|
121
+ host.vm.box = 'generic/fedora36'
154
122
  host.vm.synced_folder '.', '/vagrant'
155
- host.vm.provision 'shell', inline: 'dnf -y install wget make gcc net-tools'
156
123
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
157
124
  host.vm.provision 'shell', path: 'get_facts.sh'
158
125
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
159
126
  end
160
- config.vm.define 'redhat-8-x86_64', autostart: false do |host|
161
- host.vm.box = 'generic/rhel8'
127
+ config.vm.define 'fedora-37-x86_64', autostart: false do |host|
128
+ host.vm.box = 'generic/fedora37'
162
129
  host.vm.synced_folder '.', '/vagrant'
163
130
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
164
131
  host.vm.provision 'shell', path: 'get_facts.sh'
165
132
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
166
133
  end
167
- config.vm.define 'redhat-9-x86_64', autostart: false do |host|
168
- host.vm.box = 'generic/rhel9'
134
+ config.vm.define 'fedora-38-x86_64', autostart: false do |host|
135
+ # default memory limit kills dnf as soon as we install packages
136
+ host.vm.provider 'virtualbox' do |v|
137
+ v.memory = 2048
138
+ end
139
+ host.vm.box = 'fedora/38-cloud-base'
169
140
  host.vm.synced_folder '.', '/vagrant'
170
141
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
171
142
  host.vm.provision 'shell', path: 'get_facts.sh'
172
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
143
+ # rsync is used to get the vagrant dir into the VM.
144
+ # We need to copy the factsets out of the VM by hand
145
+ # host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
173
146
  end
174
- config.vm.define 'oraclelinux-8-x86_64', autostart: false do |host|
175
- host.vm.box = 'oraclelinux/8'
176
- host.vm.box_url = 'https://oracle.github.io/vagrant-projects/boxes/oraclelinux/8.json'
147
+ config.vm.define 'fedora-39-x86_64', autostart: false do |host|
148
+ # default memory limit kills dnf as soon as we install packages
149
+ host.vm.provider 'virtualbox' do |v|
150
+ v.memory = 2048
151
+ end
152
+ host.vm.box = 'fedora/39-cloud-base'
177
153
  host.vm.synced_folder '.', '/vagrant'
178
154
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
179
155
  host.vm.provision 'shell', path: 'get_facts.sh'
180
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
156
+ # rsync is used to get the vagrant dir into the VM.
157
+ # We need to copy the factsets out of the VM by hand
158
+ # host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
181
159
  end
182
- config.vm.define 'oraclelinux-9-x86_64', autostart: false do |host|
183
- host.vm.box = 'oraclelinux/9'
184
- host.vm.box_url = 'https://oracle.github.io/vagrant-projects/boxes/oraclelinux/9.json'
160
+ config.vm.define 'fedora-40-x86_64', autostart: false do |host|
161
+ # default memory limit kills dnf as soon as we install packages
162
+ host.vm.provider 'virtualbox' do |v|
163
+ v.memory = 2048
164
+ end
165
+ host.vm.box = 'bento/fedora-40'
185
166
  host.vm.synced_folder '.', '/vagrant'
186
167
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
187
168
  host.vm.provision 'shell', path: 'get_facts.sh'
188
169
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
189
170
  end
190
- config.vm.define 'archlinux-x86_64', autostart: false do |host|
191
- host.vm.box = 'archlinux/archlinux'
192
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
193
- host.vm.provision 'shell', path: 'get_facts.sh'
194
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
195
- end
196
- config.vm.define 'sles-11sp1-x86_64', autostart: false do |host|
197
- host.vm.box = 'suse/sles11sp3'
198
- host.vm.network 'private_network', ip: '192.168.123.2'
199
- host.vm.synced_folder '.', '/vagrant', type: 'nfs'
171
+ config.vm.define 'fedora-41-x86_64', autostart: false do |host|
172
+ # default memory limit kills dnf as soon as we install packages
173
+ host.vm.provider 'virtualbox' do |v|
174
+ v.memory = 2048
175
+ end
176
+ host.vm.box = 'fedora/41-cloud-base'
177
+ host.vm.synced_folder '.', '/vagrant'
200
178
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
201
179
  host.vm.provision 'shell', path: 'get_facts.sh'
202
180
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
203
181
  end
204
- config.vm.define 'sles-12sp1-x86_64', autostart: false do |host|
205
- host.vm.box = 'idar/sles12sp3'
182
+ config.vm.define 'fedora-42-x86_64', autostart: false do |host|
183
+ # default memory limit kills dnf as soon as we install packages
184
+ host.vm.provider 'virtualbox' do |v|
185
+ v.memory = 2048
186
+ end
187
+ host.vm.box = 'bento/fedora-42'
188
+ host.vm.synced_folder '.', '/vagrant'
206
189
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
207
190
  host.vm.provision 'shell', path: 'get_facts.sh'
208
191
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
209
192
  end
210
- config.vm.define 'sles-15-x86_64', autostart: false do |host|
211
- host.vm.box = 'trueability/sles-15-sp1'
193
+ config.vm.define 'fedora-43-x86_64', autostart: false do |host|
194
+ # default memory limit kills dnf as soon as we install packages
195
+ host.vm.provider 'virtualbox' do |v|
196
+ v.memory = 2048
197
+ end
198
+ host.vm.box = 'bento/fedora-43'
199
+ host.vm.synced_folder '.', '/vagrant'
212
200
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
213
- host.vm.provision 'shell', inline: [
214
- 'SUSEConnect -p sle-module-desktop-applications/15.1/x86_64',
215
- 'SUSEConnect -p sle-module-legacy/15.1/x86_64',
216
- 'zypper install --no-confirm net-tools-deprecated',
217
- ].join(' && ')
218
201
  host.vm.provision 'shell', path: 'get_facts.sh'
219
202
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
220
203
  end
221
- config.vm.define 'opensuse-42.3-x86_64', autostart: false do |host|
222
- host.vm.box = 'opensuse/openSUSE-42.3-x86_64'
223
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
224
- host.vm.provision 'shell', path: 'get_facts.sh'
225
- end
226
- config.vm.define 'opensuse-Tumbleweed-x86_64', autostart: false do |host|
227
- host.vm.box = 'opensuse/openSUSE-Tumbleweed-x86_64'
228
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
229
- host.vm.provision 'shell', path: 'get_facts.sh'
230
- end
231
- config.vm.define 'opensuse-15.4-x86_64', autostart: false do |host|
232
- host.vm.box = 'opensuse/Leap-15.4.x86_64'
233
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
234
- host.vm.provision 'shell', path: 'get_facts.sh'
235
- end
204
+ # ---------------------------------------------------------------------------- #
205
+ # FREEBSD #
206
+ # ---------------------------------------------------------------------------- #
236
207
  config.vm.define 'freebsd-11-x86_64', autostart: false do |host|
237
208
  host.vm.box = 'bento/freebsd-11'
238
209
  host.vm.synced_folder '.', '/vagrant'
@@ -272,6 +243,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
272
243
  host.vm.provision 'shell', path: 'get_facts.sh'
273
244
  host.vm.provision 'shell', inline: '/sbin/shutdown -p now'
274
245
  end
246
+ # ---------------------------------------------------------------------------- #
247
+ # GENTOO #
248
+ # ---------------------------------------------------------------------------- #
275
249
  config.vm.define 'gentoo-x86_64', autostart: false do |host|
276
250
  # gentoo needs some resources, otherwise the installation takes ages
277
251
  host.vm.provider 'virtualbox' do |v|
@@ -285,14 +259,43 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
285
259
  host.vm.provision 'shell', path: 'get_facts.sh'
286
260
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
287
261
  end
288
- config.vm.define 'solaris-11-x86_64', autostart: false do |host|
289
- host.vm.box = 'http://benden.us/vagrant/solaris-11.2.box'
290
- host.ssh.insert_key = false
291
- host.vm.provision 'shell', inline: 'pkg info gcc || pkg install gcc'
262
+ # ---------------------------------------------------------------------------- #
263
+ # LINUX MINT #
264
+ # ---------------------------------------------------------------------------- #
265
+ config.vm.define 'linuxmint-19-x86_64', autostart: false do |host|
266
+ host.vm.box = 'ltsp/linuxmint-19.1-cinnamon-64bit'
267
+ host.vm.provision 'shell',
268
+ inline: 'export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get install -y ruby ruby-dev libc6-dev'
292
269
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
293
270
  host.vm.provision 'shell', path: 'get_facts.sh'
294
- host.vm.provision 'shell', inline: "/sbin/shutdown -i S -g0 -y 'Bye' &"
271
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
295
272
  end
273
+ # ---------------------------------------------------------------------------- #
274
+ # OPENSUSE #
275
+ # ---------------------------------------------------------------------------- #
276
+ config.vm.define 'opensuse-42.3-x86_64', autostart: false do |host|
277
+ host.vm.box = 'opensuse/openSUSE-42.3-x86_64'
278
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
279
+ host.vm.provision 'shell', path: 'get_facts.sh'
280
+ end
281
+ config.vm.define 'opensuse-Tumbleweed-x86_64', autostart: false do |host|
282
+ host.vm.box = 'opensuse/openSUSE-Tumbleweed-x86_64'
283
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
284
+ host.vm.provision 'shell', path: 'get_facts.sh'
285
+ end
286
+ config.vm.define 'opensuse-15.4-x86_64', autostart: false do |host|
287
+ host.vm.box = 'opensuse/Leap-15.4.x86_64'
288
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
289
+ host.vm.provision 'shell', path: 'get_facts.sh'
290
+ end
291
+ config.vm.define 'opensuse-16.0-x86_64', autostart: false do |host|
292
+ host.vm.box = 'boxen/opensuse-16.0'
293
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
294
+ host.vm.provision 'shell', path: 'get_facts.sh'
295
+ end
296
+ # ---------------------------------------------------------------------------- #
297
+ # OPENBSD #
298
+ # ---------------------------------------------------------------------------- #
296
299
  config.vm.define 'openbsd-6.4-x86_64', autostart: false do |host|
297
300
  host.vm.box = 'generic/openbsd6'
298
301
  host.vm.box_version = '~> 1.9.18'
@@ -310,6 +313,36 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
310
313
  host.vm.provision 'shell', path: 'get_facts.sh'
311
314
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
312
315
  end
316
+ # ---------------------------------------------------------------------------- #
317
+ # ORACLE LINUX #
318
+ # ---------------------------------------------------------------------------- #
319
+ config.vm.define 'oraclelinux-8-x86_64', autostart: false do |host|
320
+ host.vm.box = 'oraclelinux/8'
321
+ host.vm.box_url = 'https://oracle.github.io/vagrant-projects/boxes/oraclelinux/8.json'
322
+ host.vm.synced_folder '.', '/vagrant'
323
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
324
+ host.vm.provision 'shell', path: 'get_facts.sh'
325
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
326
+ end
327
+ config.vm.define 'oraclelinux-9-x86_64', autostart: false do |host|
328
+ host.vm.box = 'oraclelinux/9'
329
+ host.vm.box_url = 'https://oracle.github.io/vagrant-projects/boxes/oraclelinux/9.json'
330
+ host.vm.synced_folder '.', '/vagrant'
331
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
332
+ host.vm.provision 'shell', path: 'get_facts.sh'
333
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
334
+ end
335
+ config.vm.define 'oraclelinux-10-x86_64', autostart: false do |host|
336
+ host.vm.box = 'oraclelinux/10'
337
+ host.vm.box_url = 'https://oracle.github.io/vagrant-projects/boxes/oraclelinux/10 .json'
338
+ host.vm.synced_folder '.', '/vagrant'
339
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
340
+ host.vm.provision 'shell', path: 'get_facts.sh'
341
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
342
+ end
343
+ # ---------------------------------------------------------------------------- #
344
+ # OS X #
345
+ # ---------------------------------------------------------------------------- #
313
346
  config.vm.define 'osx-10.10-x86_64', autostart: false do |host|
314
347
  host.vm.box = 'AndrewDryga/vagrant-box-osx'
315
348
  host.vm.network :private_network, ip: '10.0.0.2'
@@ -318,114 +351,234 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
318
351
  host.vm.provision 'shell', path: 'get_facts.sh'
319
352
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
320
353
  end
321
- # Windows boxes can sometimes be picky, so don't include them automatically (autostart: false)
322
- config.vm.define 'windows-server-2019-x86_64', autostart: false do |host|
323
- host.vm.hostname = 'foo'
324
- host.vm.box = 'gusztavvargadr/windows-server-2019-standard-core'
354
+ # ---------------------------------------------------------------------------- #
355
+ # RHEL #
356
+ # ---------------------------------------------------------------------------- #
357
+ config.vm.define 'redhat-8-x86_64', autostart: false do |host|
358
+ host.vm.box = 'generic/rhel8'
325
359
  host.vm.synced_folder '.', '/vagrant'
326
- host.vm.communicator = 'winrm'
327
- host.vm.guest = :windows
328
- host.windows.set_work_network = true
329
- host.vm.provision 'shell', path: 'windows_get_facts.ps1'
330
- host.vm.provision 'shell', inline: 'shutdown -s -f -c "Fact Collection Complete"'
360
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
361
+ host.vm.provision 'shell', path: 'get_facts.sh'
362
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
331
363
  end
332
- config.vm.define 'windows-server-2022-x86_64', autostart: false do |host|
333
- host.vm.hostname = 'foo'
334
- host.vm.box = 'gusztavvargadr/windows-server-2022-standard-core'
364
+ config.vm.define 'redhat-9-x86_64', autostart: false do |host|
365
+ host.vm.box = 'generic/rhel9'
335
366
  host.vm.synced_folder '.', '/vagrant'
336
- host.vm.communicator = 'winrm'
337
- host.vm.guest = :windows
338
- host.windows.set_work_network = true
339
- host.vm.provision 'shell', path: 'windows_get_facts.ps1'
340
- host.vm.provision 'shell', inline: 'shutdown -s -f -c "Fact Collection Complete"'
367
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
368
+ host.vm.provision 'shell', path: 'get_facts.sh'
369
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
341
370
  end
342
- config.vm.define 'windows-10-x86_64', autostart: false do |host|
343
- host.vm.hostname = 'foo'
344
- host.vm.box = 'gusztavvargadr/windows-10'
371
+ # ---------------------------------------------------------------------------- #
372
+ # ROCKY LINUX #
373
+ # ---------------------------------------------------------------------------- #
374
+ config.vm.define 'rockylinux-8-x86_64', autostart: false do |host|
375
+ host.vm.box = 'bento/rockylinux-8'
345
376
  host.vm.synced_folder '.', '/vagrant'
346
- host.vm.communicator = 'winrm'
347
- host.vm.guest = :windows
348
- host.windows.set_work_network = true
349
- host.vm.provision 'shell', path: 'windows_get_facts.ps1'
350
- host.vm.provision 'shell', inline: 'shutdown -s -f -c "Fact Collection Complete"'
377
+ host.vm.provision 'shell', inline: 'dnf -y install wget make gcc net-tools'
378
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
379
+ host.vm.provision 'shell', path: 'get_facts.sh'
380
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
351
381
  end
352
- config.vm.define 'windows-11-x86_64', autostart: false do |host|
353
- host.vm.hostname = 'foo'
354
- host.vm.box = 'gusztavvargadr/windows-11'
382
+ config.vm.define 'rockylinux-9-x86_64', autostart: false do |host|
383
+ # this box has no vboxguestadditions as of 2025-04-25
384
+ # so the synced_folder doesnt mount
385
+ # host.vm.box = 'rockylinux/9'
386
+ host.vm.box = 'bento/rockylinux-9'
355
387
  host.vm.synced_folder '.', '/vagrant'
356
- host.vm.communicator = 'winrm'
357
- host.vm.guest = :windows
358
- host.windows.set_work_network = true
359
- host.vm.provision 'shell', path: 'windows_get_facts.ps1'
360
- host.vm.provision 'shell', inline: 'shutdown -s -f -c "Fact Collection Complete"'
388
+ host.vm.provision 'shell', inline: 'dnf -y install wget make gcc net-tools'
389
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
390
+ host.vm.provision 'shell', path: 'get_facts.sh'
391
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
361
392
  end
362
- config.vm.define 'amazonlinux-2-x86_64', autostart: false do |host|
363
- host.vm.box = 'bento/amazonlinux-2'
364
- host.vm.provision 'shell', inline: 'yum -y install gcc glibc-devel'
393
+ config.vm.define 'rockylinux-10-x86_64', autostart: false do |host|
394
+ host.vm.box = 'rockylinux/10'
395
+ if ENV['mount_synced_folder']
396
+ host.vm.synced_folder '.', '/vagrant', type: 'virtualbox'
397
+ end
398
+ host.vm.provision 'shell', inline: 'dnf -y install wget make gcc net-tools'
365
399
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
400
+ host.vm.provision 'shell', path: 'vbguest_install.sh'
366
401
  host.vm.provision 'shell', path: 'get_facts.sh'
367
402
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
368
403
  end
369
- config.vm.define 'fedora-36-x86_64', autostart: false do |host|
370
- host.vm.box = 'generic/fedora36'
371
- host.vm.synced_folder '.', '/vagrant'
404
+ # ---------------------------------------------------------------------------- #
405
+ # SLES #
406
+ # ---------------------------------------------------------------------------- #
407
+ config.vm.define 'sles-11sp1-x86_64', autostart: false do |host|
408
+ host.vm.box = 'suse/sles11sp3'
409
+ host.vm.network 'private_network', ip: '192.168.123.2'
410
+ host.vm.synced_folder '.', '/vagrant', type: 'nfs'
372
411
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
373
412
  host.vm.provision 'shell', path: 'get_facts.sh'
374
413
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
375
414
  end
376
- config.vm.define 'fedora-37-x86_64', autostart: false do |host|
377
- host.vm.box = 'generic/fedora37'
378
- host.vm.synced_folder '.', '/vagrant'
415
+ config.vm.define 'sles-12sp1-x86_64', autostart: false do |host|
416
+ host.vm.box = 'idar/sles12sp3'
379
417
  host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
380
418
  host.vm.provision 'shell', path: 'get_facts.sh'
381
419
  host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
382
420
  end
383
- config.vm.define 'fedora-38-x86_64', autostart: false do |host|
384
- # default memory limit kills dnf as soon as we install packages
421
+ config.vm.define 'sles-15-x86_64', autostart: false do |host|
422
+ host.vm.box = 'trueability/sles-15-sp1'
423
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
424
+ host.vm.provision 'shell', inline: [
425
+ 'SUSEConnect -p sle-module-desktop-applications/15.1/x86_64',
426
+ 'SUSEConnect -p sle-module-legacy/15.1/x86_64',
427
+ 'zypper install --no-confirm net-tools-deprecated',
428
+ ].join(' && ')
429
+ host.vm.provision 'shell', path: 'get_facts.sh'
430
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
431
+ end
432
+ # ---------------------------------------------------------------------------- #
433
+ # SOLARIS #
434
+ # ---------------------------------------------------------------------------- #
435
+ config.vm.define 'solaris-11-x86_64', autostart: false do |host|
436
+ host.vm.box = 'http://benden.us/vagrant/solaris-11.2.box'
437
+ host.ssh.insert_key = false
438
+ host.vm.provision 'shell', inline: 'pkg info gcc || pkg install gcc'
439
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
440
+ host.vm.provision 'shell', path: 'get_facts.sh'
441
+ host.vm.provision 'shell', inline: "/sbin/shutdown -i S -g0 -y 'Bye' &"
442
+ end
443
+ # ---------------------------------------------------------------------------- #
444
+ # UBUNTU #
445
+ # ---------------------------------------------------------------------------- #
446
+ config.vm.define 'ubuntu-18.04-x86_64', autostart: false do |host|
447
+ host.vm.box = 'ubuntu/bionic64'
448
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
449
+ host.vm.provision 'shell', path: 'get_facts.sh'
450
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
451
+ end
452
+ config.vm.define 'ubuntu-20.04-x86_64', autostart: false do |host|
453
+ host.vm.box = 'ubuntu/focal64'
454
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
455
+ host.vm.provision 'shell', path: 'get_facts.sh'
456
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
457
+ end
458
+ config.vm.define 'ubuntu-21.04-x86_64', autostart: false do |host|
459
+ host.vm.box = 'ubuntu/hirsute64'
460
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
461
+ host.vm.provision 'shell', path: 'get_facts.sh'
462
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
463
+ end
464
+ config.vm.define 'ubuntu-21.10-x86_64', autostart: false do |host|
465
+ host.vm.box = 'ubuntu/impish64'
466
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
467
+ host.vm.provision 'shell', path: 'get_facts.sh'
468
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
469
+ end
470
+ config.vm.define 'ubuntu-22.04-x86_64', autostart: false do |host|
471
+ host.vm.box = 'ubuntu/jammy64'
472
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
473
+ host.vm.provision 'shell', path: 'get_facts.sh'
474
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
475
+ end
476
+ config.vm.define 'ubuntu-22.04-arm64', autostart: false do |host|
477
+ host.vm.box = 'bento/ubuntu-22.04'
478
+ host.vm.box_architecture = 'arm64'
479
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
480
+ host.vm.provision 'shell', path: 'get_facts.sh'
481
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
482
+ end
483
+ # the ssh bits on this did not work right, most of the steps for
484
+ # generating things were done manually
485
+ config.vm.define 'ubuntu-22.10-x86_64', autostart: false do |host|
486
+ host.vm.box = 'ubuntu/kinetic64'
487
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
488
+ host.vm.provision 'shell', path: 'get_facts.sh'
489
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
490
+ end
491
+ config.vm.define 'ubuntu-24.04-x86_64', autostart: false do |host|
492
+ host.vm.box = 'bento/ubuntu-24.04'
493
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
494
+ host.vm.provision 'shell', path: 'get_facts.sh'
495
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
496
+ end
497
+ config.vm.define 'ubuntu-24.04-arm64', autostart: false do |host|
498
+ host.vm.box = 'bento/ubuntu-24.04'
499
+ host.vm.box_architecture = 'arm64'
500
+ host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
501
+ host.vm.provision 'shell', path: 'get_facts.sh'
502
+ host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
503
+ end
504
+ # ---------------------------------------------------------------------------- #
505
+ # WINDOWS 10 #
506
+ # ---------------------------------------------------------------------------- #
507
+ config.vm.define 'windows-10-x86_64', autostart: false do |host|
385
508
  host.vm.provider 'virtualbox' do |v|
386
- v.memory = 2048
509
+ v.memory = 8192
510
+ v.cpus = 4
387
511
  end
388
- host.vm.box = 'fedora/38-cloud-base'
512
+ host.vm.hostname = 'foo'
513
+ host.vm.box = 'gusztavvargadr/windows-10'
389
514
  host.vm.synced_folder '.', '/vagrant'
390
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
391
- host.vm.provision 'shell', path: 'get_facts.sh'
392
- # rsync is used to get the vagrant dir into the VM.
393
- # We need to copy the factsets out of the VM by hand
394
- # host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
515
+ host.vm.communicator = 'winrm'
516
+ host.vm.guest = :windows
517
+ host.windows.set_work_network = true
518
+ host.vm.provision 'shell', path: 'windows_get_facts.ps1'
519
+ host.vm.provision 'shell', inline: 'shutdown -s -f -c "Fact Collection Complete"'
395
520
  end
396
- config.vm.define 'fedora-39-x86_64', autostart: false do |host|
397
- # default memory limit kills dnf as soon as we install packages
521
+ # ---------------------------------------------------------------------------- #
522
+ # WINDOWS 11 #
523
+ # ---------------------------------------------------------------------------- #
524
+ config.vm.define 'windows-11-x86_64', autostart: false do |host|
398
525
  host.vm.provider 'virtualbox' do |v|
399
- v.memory = 2048
526
+ v.memory = 8192
527
+ v.cpus = 4
400
528
  end
401
- host.vm.box = 'fedora/39-cloud-base'
529
+ host.vm.hostname = 'foo'
530
+ host.vm.box = 'gusztavvargadr/windows-11'
402
531
  host.vm.synced_folder '.', '/vagrant'
403
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
404
- host.vm.provision 'shell', path: 'get_facts.sh'
405
- # rsync is used to get the vagrant dir into the VM.
406
- # We need to copy the factsets out of the VM by hand
407
- # host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
532
+ host.vm.communicator = 'winrm'
533
+ host.vm.guest = :windows
534
+ host.windows.set_work_network = true
535
+ host.vm.provision 'shell', path: 'windows_get_facts.ps1'
536
+ host.vm.provision 'shell', inline: 'shutdown -s -f -c "Fact Collection Complete"'
408
537
  end
409
- config.vm.define 'fedora-40-x86_64', autostart: false do |host|
410
- # default memory limit kills dnf as soon as we install packages
538
+ # ---------------------------------------------------------------------------- #
539
+ # WINDOWS SERVER #
540
+ # ---------------------------------------------------------------------------- #
541
+ # Windows boxes can sometimes be picky, so don't include them automatically (autostart: false)
542
+ config.vm.define 'windows-server-2019-x86_64', autostart: false do |host|
411
543
  host.vm.provider 'virtualbox' do |v|
412
- v.memory = 2048
544
+ v.memory = 8192
545
+ v.cpus = 4
413
546
  end
414
- host.vm.box = 'bento/fedora-40'
547
+ host.vm.hostname = 'foo'
548
+ host.vm.box = 'gusztavvargadr/windows-server-2019-standard-core'
415
549
  host.vm.synced_folder '.', '/vagrant'
416
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
417
- host.vm.provision 'shell', path: 'get_facts.sh'
418
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
550
+ host.vm.communicator = 'winrm'
551
+ host.vm.guest = :windows
552
+ host.windows.set_work_network = true
553
+ host.vm.provision 'shell', path: 'windows_get_facts.ps1'
554
+ host.vm.provision 'shell', inline: 'shutdown -s -f -c "Fact Collection Complete"'
419
555
  end
420
- config.vm.define 'fedora-41-x86_64', autostart: false do |host|
421
- # default memory limit kills dnf as soon as we install packages
556
+ config.vm.define 'windows-server-2022-x86_64', autostart: false do |host|
422
557
  host.vm.provider 'virtualbox' do |v|
423
- v.memory = 2048
558
+ v.memory = 8192
559
+ v.cpus = 4
424
560
  end
425
- host.vm.box = 'fedora/41-cloud-base'
561
+ host.vm.hostname = 'foo'
562
+ host.vm.box = 'gusztavvargadr/windows-server-2022-standard-core'
426
563
  host.vm.synced_folder '.', '/vagrant'
427
- host.vm.provision 'file', source: 'Gemfile', destination: 'Gemfile'
428
- host.vm.provision 'shell', path: 'get_facts.sh'
429
- host.vm.provision 'shell', inline: '/sbin/shutdown -h now'
564
+ host.vm.communicator = 'winrm'
565
+ host.vm.guest = :windows
566
+ host.windows.set_work_network = true
567
+ host.vm.provision 'shell', path: 'windows_get_facts.ps1'
568
+ host.vm.provision 'shell', inline: 'shutdown -s -f -c "Fact Collection Complete"'
569
+ end
570
+ config.vm.define 'windows-server-2025-x86_64', autostart: false do |host|
571
+ host.vm.provider 'virtualbox' do |v|
572
+ v.memory = 8192
573
+ v.cpus = 4
574
+ end
575
+ host.vm.hostname = 'foo'
576
+ host.vm.box = 'gusztavvargadr/windows-server-2025-standard-core'
577
+ host.vm.synced_folder '.', '/vagrant'
578
+ host.vm.communicator = 'winrm'
579
+ host.vm.guest = :windows
580
+ host.windows.set_work_network = true
581
+ host.vm.provision 'shell', path: 'windows_get_facts.ps1'
582
+ host.vm.provision 'shell', inline: 'shutdown -s -f -c "Fact Collection Complete"'
430
583
  end
431
584
  end