abide_dev_utils 0.18.9 → 0.18.11

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8cfa1f253500e43f42a6fa53de2da238f79ac12dc286c945488b8e521b2b7868
4
- data.tar.gz: f357e24f825f8ffd304fe779f390ea5bdc00c0fb06bef9a6d7e2d228759ecb05
3
+ metadata.gz: 41dfc7a522112a303943f53b4806af71396ba016005702f9598a7f21eb7bdcf0
4
+ data.tar.gz: cc9889e724d1efca037a3005c67200ad5a962cbc11c9e18a01ca32716268d5c6
5
5
  SHA512:
6
- metadata.gz: 45dc1ae54c5b5f0486d889d18151269105938abe5fc1a55c7d7bf0a6d9f62e4cd39d36c7fa2ee7d27cbb36c099fd237da605f7f528823869c34004e023c0f745
7
- data.tar.gz: d7474b5c61a1ee3249fa2eaa70ad63123b2509b79757cbbf3cef7c7cd858e8e0cc2f047a4917ab073693459874f61f26d0c4e55e3e5664f6e80a29092c9deee9
6
+ metadata.gz: 765f3071e7822f045e3bbcd3b918f9509d8d8755a4a5ca92ba2022b0e8843445297bf1e2b79c75141bd567b0afded1542c87abd295a7c2f1b738b876706e10cd
7
+ data.tar.gz: 0cae4e3e67a04e50a46b3f90ff76ecf9a8460d9e70b4b2e544e8f7e80aeb84a19e4c99d9dc804325784854885970eb0cb4a02e29979fef3cd2fedd30d70bcedf
@@ -1,39 +1,49 @@
1
- name: mend_scan
1
+ name: Mend Scan
2
+ run-name: 'Mend scan for ${{ github.ref_name }}'
3
+
2
4
  on:
3
5
  workflow_dispatch:
4
- push:
5
- branches:
6
- - main
6
+ schedule:
7
+ - cron: '0 10 * * *'
8
+
9
+ env:
10
+ PUPPET_AUTH_TOKEN: ${{ secrets.PUPPET_AUTH_TOKEN }}
11
+ BUNDLE_RUBYGEMS___PUPPETCORE__PUPPET__COM: "forge-key:${{ secrets.PUPPET_AUTH_TOKEN }}"
12
+
7
13
  jobs:
8
- build:
14
+ scan:
9
15
  runs-on: ubuntu-latest
10
16
  steps:
11
- - name: checkout repo content
12
- uses: actions/checkout@v2 # checkout the repository content to github runner.
13
- with:
14
- fetch-depth: 1
15
- - name: setup ruby
16
- uses: ruby/setup-ruby@v1
17
- with:
18
- ruby-version: 2.7
19
- - name: create lock
20
- run: bundle lock
21
- # install java
22
- - uses: actions/setup-java@v3
23
- with:
24
- distribution: 'temurin' # See 'Supported distributions' for available options
25
- java-version: '17'
26
- # download mend
27
- - name: download_mend
28
- run: curl -o wss-unified-agent.jar https://unified-agent.s3.amazonaws.com/wss-unified-agent.jar
29
- - name: run mend
30
- run: java -jar wss-unified-agent.jar
31
- env:
32
- WS_APIKEY: ${{ secrets.MEND_API_KEY }}
33
- WS_WSS_URL: https://saas-eu.whitesourcesoftware.com/agent
34
- WS_USERKEY: ${{ secrets.MEND_TOKEN }}
35
- WS_PRODUCTNAME: 'content-and-tooling' # I think this apply for our repo
36
- WS_PROJECTNAME: ${{ github.event.repository.name }}
37
- WS_FILESYSTEMSCAN: true
38
- WS_CHECKPOLICIES: true
39
- WS_FORCEUPDATE: true
17
+ - name: Checkout repo
18
+ uses: actions/checkout@v4
19
+ with:
20
+ fetch-depth: 1
21
+
22
+ - name: Setup Ruby
23
+ uses: ruby/setup-ruby@v1
24
+ with:
25
+ ruby-version: '3.2'
26
+
27
+ - name: Generate Gemfile.lock
28
+ run: bundle lock
29
+
30
+ - name: Setup Java
31
+ uses: actions/setup-java@v4
32
+ with:
33
+ distribution: 'temurin'
34
+ java-version: '17'
35
+
36
+ - name: Download Mend unified agent
37
+ run: curl -o wss-unified-agent.jar https://unified-agent.s3.amazonaws.com/wss-unified-agent.jar
38
+
39
+ - name: Run Mend scan
40
+ run: java -jar wss-unified-agent.jar
41
+ env:
42
+ WS_FILESYSTEMSCAN: false
43
+ WS_CHECKPOLICIES: true
44
+ WS_FORCEUPDATE: true
45
+ WS_APIKEY: ${{ secrets.MEND_API_KEY }}
46
+ WS_USERKEY: ${{ secrets.MEND_TOKEN }}
47
+ WS_WSS_URL: https://saas-eu.whitesourcesoftware.com/agent
48
+ WS_PRODUCTNAME: SCE
49
+ WS_PROJECTNAME: ${{ github.event.repository.name }}
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- abide_dev_utils (0.18.9)
4
+ abide_dev_utils (0.18.11)
5
5
  cmdparse (~> 3.0)
6
6
  facterdb (~> 4.1.0)
7
7
  google-cloud-storage (~> 1.34)
@@ -9,7 +9,7 @@ PATH
9
9
  jira-ruby (~> 2.2)
10
10
  metadata-json-lint (~> 4.0)
11
11
  nokogiri (~> 1.13)
12
- puppet-lint (~> 4.0)
12
+ puppet-lint (~> 5.0)
13
13
  puppet-strings (>= 2.7)
14
14
  ruby-progressbar (~> 1.11)
15
15
  selenium-webdriver (~> 4.0.0.beta4)
@@ -255,7 +255,7 @@ GEM
255
255
  coderay (~> 1.1)
256
256
  method_source (~> 1.0)
257
257
  public_suffix (6.0.1)
258
- puppet-lint (4.3.0)
258
+ puppet-lint (5.1.1)
259
259
  puppet-resource_api (1.9.0)
260
260
  hocon (>= 1.0)
261
261
  puppet-strings (4.1.3)
@@ -41,7 +41,7 @@ Gem::Specification.new do |spec|
41
41
  spec.add_dependency 'selenium-webdriver', '~> 4.0.0.beta4'
42
42
  spec.add_dependency 'google-cloud-storage', '~> 1.34'
43
43
  spec.add_dependency 'hashdiff', '~> 1.0'
44
- spec.add_dependency 'puppet-lint', '~> 4.0'
44
+ spec.add_dependency 'puppet-lint', '~> 5.0'
45
45
  spec.add_dependency 'facterdb', '~> 4.1.0'
46
46
  spec.add_dependency 'metadata-json-lint', '~> 4.0'
47
47
 
@@ -0,0 +1,523 @@
1
+ {
2
+ "aio_agent_version": "8.26.2",
3
+ "augeas": {
4
+ "version": "1.14.1"
5
+ },
6
+ "disks": {
7
+ "sda": {
8
+ "model": "VBOX HARDDISK",
9
+ "serial": "VBb2fffe89-ccb4483b",
10
+ "size": "25.00 GiB",
11
+ "size_bytes": 26843545600,
12
+ "type": "hdd",
13
+ "vendor": "ATA"
14
+ }
15
+ },
16
+ "dmi": {
17
+ "bios": {
18
+ "release_date": "12/01/2006",
19
+ "vendor": "innotek GmbH",
20
+ "version": "VirtualBox"
21
+ },
22
+ "board": {
23
+ "manufacturer": "Oracle Corporation",
24
+ "product": "VirtualBox",
25
+ "serial_number": "0"
26
+ },
27
+ "chassis": {
28
+ "type": "Other"
29
+ },
30
+ "manufacturer": "innotek GmbH",
31
+ "product": {
32
+ "name": "VirtualBox",
33
+ "serial_number": "VirtualBox-3d230f49-e6be-4241-b2b8-dc09cb8cdbe9",
34
+ "uuid": "490f233d-bee6-4142-b2b8-dc09cb8cdbe9",
35
+ "version": "1.2"
36
+ }
37
+ },
38
+ "facterversion": "4.11.0",
39
+ "filesystems": "vfat,xfs,zonefs",
40
+ "fips_enabled": false,
41
+ "hypervisors": {
42
+ "virtualbox": {},
43
+ "vmware": {}
44
+ },
45
+ "identity": {
46
+ "gid": 0,
47
+ "group": "root",
48
+ "privileged": true,
49
+ "uid": 0,
50
+ "user": "root"
51
+ },
52
+ "is_virtual": true,
53
+ "kernel": "Linux",
54
+ "kernelmajversion": "6.1",
55
+ "kernelrelease": "6.1.155-176.282.amzn2023.x86_64",
56
+ "kernelversion": "6.1.155",
57
+ "load_averages": {
58
+ "15m": 0.24,
59
+ "1m": 1.16,
60
+ "5m": 0.62
61
+ },
62
+ "memory": {
63
+ "system": {
64
+ "available": "1.52 GiB",
65
+ "available_bytes": 1628372992,
66
+ "capacity": "20.72%",
67
+ "total": "1.91 GiB",
68
+ "total_bytes": 2054049792,
69
+ "used": "405.96 MiB",
70
+ "used_bytes": 425676800
71
+ }
72
+ },
73
+ "mountpoints": {
74
+ "/": {
75
+ "available": "22.79 GiB",
76
+ "available_bytes": 24474480640,
77
+ "capacity": "8.55%",
78
+ "device": "/dev/sda1",
79
+ "filesystem": "xfs",
80
+ "options": [
81
+ "rw",
82
+ "seclabel",
83
+ "noatime",
84
+ "attr2",
85
+ "inode64",
86
+ "logbufs=8",
87
+ "logbsize=32k",
88
+ "sunit=1024",
89
+ "swidth=1024",
90
+ "noquota"
91
+ ],
92
+ "size": "24.93 GiB",
93
+ "size_bytes": 26763833344,
94
+ "used": "2.13 GiB",
95
+ "used_bytes": 2289352704
96
+ },
97
+ "/boot/efi": {
98
+ "available": "8.68 MiB",
99
+ "available_bytes": 9101312,
100
+ "capacity": "12.88%",
101
+ "device": "/dev/sda128",
102
+ "filesystem": "vfat",
103
+ "options": [
104
+ "rw",
105
+ "noatime",
106
+ "fmask=0077",
107
+ "dmask=0077",
108
+ "codepage=437",
109
+ "iocharset=ascii",
110
+ "shortname=winnt",
111
+ "errors=remount-ro"
112
+ ],
113
+ "size": "9.96 MiB",
114
+ "size_bytes": 10446848,
115
+ "used": "1.28 MiB",
116
+ "used_bytes": 1345536
117
+ },
118
+ "/dev": {
119
+ "available": "4.00 MiB",
120
+ "available_bytes": 4194304,
121
+ "capacity": "0%",
122
+ "device": "devtmpfs",
123
+ "filesystem": "devtmpfs",
124
+ "options": [
125
+ "rw",
126
+ "seclabel",
127
+ "nosuid",
128
+ "size=4096k",
129
+ "nr_inodes=244897",
130
+ "mode=755"
131
+ ],
132
+ "size": "4.00 MiB",
133
+ "size_bytes": 4194304,
134
+ "used": "0 bytes",
135
+ "used_bytes": 0
136
+ },
137
+ "/dev/hugepages": {
138
+ "available": "0 bytes",
139
+ "available_bytes": 0,
140
+ "capacity": "100%",
141
+ "device": "hugetlbfs",
142
+ "filesystem": "hugetlbfs",
143
+ "options": [
144
+ "rw",
145
+ "seclabel",
146
+ "relatime",
147
+ "pagesize=2M"
148
+ ],
149
+ "size": "0 bytes",
150
+ "size_bytes": 0,
151
+ "used": "0 bytes",
152
+ "used_bytes": 0
153
+ },
154
+ "/dev/mqueue": {
155
+ "available": "0 bytes",
156
+ "available_bytes": 0,
157
+ "capacity": "100%",
158
+ "device": "mqueue",
159
+ "filesystem": "mqueue",
160
+ "options": [
161
+ "rw",
162
+ "seclabel",
163
+ "nosuid",
164
+ "nodev",
165
+ "noexec",
166
+ "relatime"
167
+ ],
168
+ "size": "0 bytes",
169
+ "size_bytes": 0,
170
+ "used": "0 bytes",
171
+ "used_bytes": 0
172
+ },
173
+ "/dev/pts": {
174
+ "available": "0 bytes",
175
+ "available_bytes": 0,
176
+ "capacity": "100%",
177
+ "device": "devpts",
178
+ "filesystem": "devpts",
179
+ "options": [
180
+ "rw",
181
+ "seclabel",
182
+ "nosuid",
183
+ "noexec",
184
+ "relatime",
185
+ "gid=5",
186
+ "mode=620",
187
+ "ptmxmode=000"
188
+ ],
189
+ "size": "0 bytes",
190
+ "size_bytes": 0,
191
+ "used": "0 bytes",
192
+ "used_bytes": 0
193
+ },
194
+ "/dev/shm": {
195
+ "available": "979.45 MiB",
196
+ "available_bytes": 1027022848,
197
+ "capacity": "0%",
198
+ "device": "tmpfs",
199
+ "filesystem": "tmpfs",
200
+ "options": [
201
+ "rw",
202
+ "seclabel",
203
+ "nosuid",
204
+ "nodev"
205
+ ],
206
+ "size": "979.45 MiB",
207
+ "size_bytes": 1027022848,
208
+ "used": "0 bytes",
209
+ "used_bytes": 0
210
+ },
211
+ "/run": {
212
+ "available": "386.38 MiB",
213
+ "available_bytes": 405143552,
214
+ "capacity": "1.38%",
215
+ "device": "tmpfs",
216
+ "filesystem": "tmpfs",
217
+ "options": [
218
+ "rw",
219
+ "seclabel",
220
+ "nosuid",
221
+ "nodev",
222
+ "size=401184k",
223
+ "nr_inodes=819200",
224
+ "mode=755"
225
+ ],
226
+ "size": "391.78 MiB",
227
+ "size_bytes": 410812416,
228
+ "used": "5.41 MiB",
229
+ "used_bytes": 5668864
230
+ },
231
+ "/run/user/1000": {
232
+ "available": "195.88 MiB",
233
+ "available_bytes": 205398016,
234
+ "capacity": "0.00%",
235
+ "device": "tmpfs",
236
+ "filesystem": "tmpfs",
237
+ "options": [
238
+ "rw",
239
+ "seclabel",
240
+ "nosuid",
241
+ "nodev",
242
+ "relatime",
243
+ "size=200588k",
244
+ "nr_inodes=50147",
245
+ "mode=700",
246
+ "uid=1000",
247
+ "gid=1000"
248
+ ],
249
+ "size": "195.89 MiB",
250
+ "size_bytes": 205402112,
251
+ "used": "4.00 KiB",
252
+ "used_bytes": 4096
253
+ },
254
+ "/tmp": {
255
+ "available": "979.43 MiB",
256
+ "available_bytes": 1027002368,
257
+ "capacity": "0.00%",
258
+ "device": "tmpfs",
259
+ "filesystem": "tmpfs",
260
+ "options": [
261
+ "rw",
262
+ "seclabel",
263
+ "nosuid",
264
+ "nodev",
265
+ "size=1002956k",
266
+ "nr_inodes=1048576"
267
+ ],
268
+ "size": "979.45 MiB",
269
+ "size_bytes": 1027026944,
270
+ "used": "24.00 KiB",
271
+ "used_bytes": 24576
272
+ },
273
+ "/vagrant": {
274
+ "available": "462.20 GiB",
275
+ "available_bytes": 496288608256,
276
+ "capacity": "76.51%",
277
+ "device": "vagrant",
278
+ "filesystem": "vboxsf",
279
+ "options": [
280
+ "rw",
281
+ "nodev",
282
+ "relatime",
283
+ "iocharset=utf8",
284
+ "uid=1000",
285
+ "gid=1000"
286
+ ],
287
+ "size": "1.92 TiB",
288
+ "size_bytes": 2112638386176,
289
+ "used": "1.47 TiB",
290
+ "used_bytes": 1616349777920
291
+ },
292
+ "/var/lib/nfs/rpc_pipefs": {
293
+ "available": "0 bytes",
294
+ "available_bytes": 0,
295
+ "capacity": "100%",
296
+ "device": "sunrpc",
297
+ "filesystem": "rpc_pipefs",
298
+ "options": [
299
+ "rw",
300
+ "relatime"
301
+ ],
302
+ "size": "0 bytes",
303
+ "size_bytes": 0,
304
+ "used": "0 bytes",
305
+ "used_bytes": 0
306
+ }
307
+ },
308
+ "networking": {
309
+ "dhcp": "10.0.2.2",
310
+ "domain": "example.com",
311
+ "fqdn": "foo.example.com",
312
+ "hostname": "foo",
313
+ "interfaces": {
314
+ "enp0s3": {
315
+ "bindings": [
316
+ {
317
+ "address": "10.0.2.15",
318
+ "netmask": "255.255.255.0",
319
+ "network": "10.0.2.0"
320
+ }
321
+ ],
322
+ "bindings6": [
323
+ {
324
+ "address": "fd17:625c:f037:2:a00:27ff:febc:4451",
325
+ "netmask": "ffff:ffff:ffff:ffff::",
326
+ "network": "fd17:625c:f037:2::",
327
+ "scope6": "global",
328
+ "flags": []
329
+ },
330
+ {
331
+ "address": "fe80::a00:27ff:febc:4451",
332
+ "netmask": "ffff:ffff:ffff:ffff::",
333
+ "network": "fe80::",
334
+ "scope6": "link",
335
+ "flags": [
336
+ "permanent"
337
+ ]
338
+ }
339
+ ],
340
+ "dhcp": "10.0.2.2",
341
+ "duplex": "full",
342
+ "ip": "10.0.2.15",
343
+ "ip6": "fd17:625c:f037:2:a00:27ff:febc:4451",
344
+ "mac": "08:00:27:bc:44:51",
345
+ "mtu": 1500,
346
+ "netmask": "255.255.255.0",
347
+ "netmask6": "ffff:ffff:ffff:ffff::",
348
+ "network": "10.0.2.0",
349
+ "network6": "fd17:625c:f037:2::",
350
+ "operational_state": "up",
351
+ "physical": true,
352
+ "scope6": "global",
353
+ "speed": 1000
354
+ },
355
+ "lo": {
356
+ "bindings": [
357
+ {
358
+ "address": "127.0.0.1",
359
+ "netmask": "255.0.0.0",
360
+ "network": "127.0.0.0"
361
+ }
362
+ ],
363
+ "bindings6": [
364
+ {
365
+ "address": "::1",
366
+ "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
367
+ "network": "::1",
368
+ "scope6": "host",
369
+ "flags": [
370
+ "permanent"
371
+ ]
372
+ }
373
+ ],
374
+ "ip": "127.0.0.1",
375
+ "ip6": "::1",
376
+ "mtu": 65536,
377
+ "netmask": "255.0.0.0",
378
+ "netmask6": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
379
+ "network": "127.0.0.0",
380
+ "network6": "::1",
381
+ "operational_state": "unknown",
382
+ "physical": false,
383
+ "scope6": "host"
384
+ }
385
+ },
386
+ "ip": "10.0.2.15",
387
+ "ip6": "fd17:625c:f037:2:a00:27ff:febc:4451",
388
+ "mac": "08:00:27:bc:44:51",
389
+ "mtu": 1500,
390
+ "netmask": "255.255.255.0",
391
+ "netmask6": "ffff:ffff:ffff:ffff::",
392
+ "network": "10.0.2.0",
393
+ "network6": "fd17:625c:f037:2::",
394
+ "primary": "enp0s3",
395
+ "scope6": "global"
396
+ },
397
+ "os": {
398
+ "architecture": "x86_64",
399
+ "distro": {
400
+ "codename": "Amazon Linux",
401
+ "description": "Amazon Linux release 2023.9.20251020 (Amazon Linux)",
402
+ "id": "Amazon",
403
+ "release": {
404
+ "full": "2023.0",
405
+ "major": "2023",
406
+ "minor": "0"
407
+ }
408
+ },
409
+ "family": "RedHat",
410
+ "hardware": "x86_64",
411
+ "name": "Amazon",
412
+ "release": {
413
+ "full": "2023.0",
414
+ "major": "2023",
415
+ "minor": "0"
416
+ },
417
+ "selinux": {
418
+ "config_mode": "permissive",
419
+ "config_policy": "targeted",
420
+ "current_mode": "permissive",
421
+ "enabled": true,
422
+ "enforced": false,
423
+ "policy_version": "33"
424
+ }
425
+ },
426
+ "partitions": {
427
+ "/dev/sda1": {
428
+ "filesystem": "xfs",
429
+ "label": "/",
430
+ "mount": "/",
431
+ "partlabel": "Linux",
432
+ "parttype": "0fc63daf-8483-4772-8e79-3d69d8477de4",
433
+ "partuuid": "5fefff3d-2c70-4ee8-8514-6d13a0c6d296",
434
+ "size": "24.99 GiB",
435
+ "size_bytes": 26830945792,
436
+ "uuid": "be469cd8-f903-407b-a8d8-1ffc0c3341fc"
437
+ },
438
+ "/dev/sda127": {
439
+ "partlabel": "BIOS Boot Partition",
440
+ "parttype": "21686148-6449-6e6f-744e-656564454649",
441
+ "partuuid": "6d3bb649-e2ab-432e-bd25-5b316837b694",
442
+ "size": "1.00 MiB",
443
+ "size_bytes": 1048576
444
+ },
445
+ "/dev/sda128": {
446
+ "filesystem": "vfat",
447
+ "mount": "/boot/efi",
448
+ "partlabel": "EFI System Partition",
449
+ "parttype": "c12a7328-f81f-11d2-ba4b-00a0c93ec93b",
450
+ "partuuid": "235534cb-c819-48cf-ae27-1163cbc7add9",
451
+ "size": "10.00 MiB",
452
+ "size_bytes": 10485760,
453
+ "uuid": "6DE0-1359"
454
+ }
455
+ },
456
+ "path": "/opt/puppetlabs/bin:/root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin",
457
+ "processors": {
458
+ "cores": 2,
459
+ "count": 2,
460
+ "extensions": [
461
+ "x86_64",
462
+ "x86_64-v1",
463
+ "x86_64-v2",
464
+ "x86_64-v3"
465
+ ],
466
+ "isa": "x86_64",
467
+ "models": [
468
+ "AMD Ryzen 9 7940HS w/ Radeon 780M Graphics",
469
+ "AMD Ryzen 9 7940HS w/ Radeon 780M Graphics"
470
+ ],
471
+ "physicalcount": 1,
472
+ "speed": "3.99 GHz",
473
+ "threads": 1
474
+ },
475
+ "puppetversion": "8.26.1",
476
+ "ruby": {
477
+ "platform": "x86_64-linux",
478
+ "sitedir": "/opt/puppetlabs/puppet/lib/ruby/site_ruby/3.2.0",
479
+ "version": "3.2.11"
480
+ },
481
+ "ssh": {
482
+ "dsa": {
483
+ "fingerprints": {
484
+ "sha1": "SSHFP 2 1 1c029bcfd6b29fefc6f89e2f79f69b1a4d7ab4d3",
485
+ "sha256": "SSHFP 2 2 6038ec5b842b0be32bd1b8c8ae7ce367e97c1c64e52381ea9c208d078009c272"
486
+ },
487
+ "key": "AAAAB3NzaC1kc3MAAACBAIvoDT2TpMheGgN+at0Os9gkcall7pFbyI1MqaOwCJkGyIzrVsDmBbc69LJ37obej3JTn3Gc+tSpdWh1BQQuZXH8dgawIqVrmemGBZM7OVIM7vWZ1hvnb5xc2+pywWm8Gnp3OM6PVfI38SOLMj0x/SWSTUWTnHsxjsC6xCvybysTAAAAFQCsKqELoM/wjjtv8iw+gQWhL9D6JwAAAIA1UEeGIpAy12P3wfz/QTUg2CXo9YImr/xEnb23bmOtyB8dqudCMdnC+drgYW55RcZGRc0Y6F6E5Jo0f549TNhfHeyjLATd/wvPDAzc+UOrR9Ezp9TqyyAGG/eM2HzrZiXGxgh54f0iUV23XvYyolU6IHFjOwcVscw4vPnpI2Ir+wAAAIBSKV+BEJc8dU8C54yOp3NYn5ygz7ekRlWedAW3iT1bpg942a2zdtaZtov5EtPOe6t4kaeWFLt1Xy/eYdIjTHqD9/PQ5b67hD/0iJrvEXCHy9Y44LZm0SN2DhNT0NKwy3UtoG7Xd0g6vyP5d3ceOGdOMihUuIT3FVIgPprm9dQxJg==",
488
+ "type": "ssh-dss"
489
+ },
490
+ "ecdsa": {
491
+ "fingerprints": {
492
+ "sha1": "SSHFP 3 1 be237b08f9f9a5d0530b6c0b1be795f0e04cad88",
493
+ "sha256": "SSHFP 3 2 bec599b40336fcfceea2db972218ee3d0d4dc9584d1f550057cbc5c195bd1583"
494
+ },
495
+ "key": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJLnG7l2wMBOtJhtUVOKMwCqJsgFlorPu/6VtTDiuw2q3bs7jA8PU1faj5Pn7mqFxSOXos9WECsi5D1atdsFqFs=",
496
+ "type": "ecdsa-sha2-nistp256"
497
+ },
498
+ "ed25519": {
499
+ "fingerprints": {
500
+ "sha1": "SSHFP 4 1 5412697488afa70f57295864a41c355d04601ff1",
501
+ "sha256": "SSHFP 4 2 8e037b68490cc91a179b19fbbbc1b314d5161285dea2c5f7231c6e60f8f910fd"
502
+ },
503
+ "key": "AAAAC3NzaC1lZDI1NTE5AAAAIKVRU+uVhTDA5/itIejKef6P9YTW1isVQwkitseYLrRa",
504
+ "type": "ssh-ed25519"
505
+ },
506
+ "rsa": {
507
+ "fingerprints": {
508
+ "sha1": "SSHFP 1 1 8e6d9a72145062de018d2ec6df49b036da3950a5",
509
+ "sha256": "SSHFP 1 2 57bc82d67cba9e8799344d2e86a5da123bb60479f569bd91af596c5fc85cbf58"
510
+ },
511
+ "key": "AAAAB3NzaC1yc2EAAAADAQABAAABgQDMGYdx1zF14knlIXJ1gSov4eZw4uXEVg77PbC/LpmR1KWiAYfJykyGg8FTBjySE5CmyFZ8+hey7ASLS4R8sABHLDoUDrwDcyZy5/aE7hdLN+nlQITnQbmc+Wg+tgYWdlljNsFYxcA4fHFbvu2MWZf88B9ZbsBaSGb0WwtDNSFPR/6uvxVNzmhcADB6/mY65vKamtB/ELn+m6ND4pnjYXrKrrEj+Mtb1FC7J3CI5sWLAxLUgqA6nAijtglx+JHgwtWiTwXleJmsWbwQN/E2vXJnYCuijQsZOG1JjJcO36fvDZ0yC3D1YJnpi9TUnTDdUnA8egteaLdHx4h/Bh15/m46T3Bi3fIwnKNcYfWjjxYV9D1dGVUQXGqO0WXAa/sRIKR+upyDWmKL9iqk+FwpkkJpZYKH46ctxnu4CNzoWwh2kO1EFXsFkYv6YfcKZW4gRYWKyop3ou0oZHCN+mghVG+ybsr3SGLZlgU/APFRhQQBnaf2CxwZzmctq6HZAP5zl8M=",
512
+ "type": "ssh-rsa"
513
+ }
514
+ },
515
+ "system_uptime": {
516
+ "days": 0,
517
+ "hours": 0,
518
+ "seconds": 106,
519
+ "uptime": "0:01 hours"
520
+ },
521
+ "timezone": "UTC",
522
+ "virtual": "virtualbox"
523
+ }
@@ -35,7 +35,7 @@
35
35
  "version": "1.2"
36
36
  }
37
37
  },
38
- "facterversion": "5.1.0",
38
+ "facterversion": "4.11.0",
39
39
  "filesystems": "vfat,xfs",
40
40
  "fips_enabled": false,
41
41
  "hypervisors": {
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AbideDevUtils
4
- VERSION = "0.18.9"
4
+ VERSION = "0.18.11"
5
5
  end
@@ -0,0 +1,115 @@
1
+ ## Background
2
+
3
+ `puppetlabs-sce_linux` is adding CIS Amazon Linux 2023 (epic CEM-5007). `abide sce generate
4
+ reference` and the coverage tooling look up OS facts through
5
+ `AbideDevUtils::Ppt::FacterUtils::FactSets#find_by_fact_value_tuples` using `os.name` /
6
+ `os.release.major`. For `Amazon` / `2023` this returns `nil`, causing:
7
+
8
+ ```
9
+ AbideDevUtils::Errors::BenchmarkLoadError: Error loading benchmark: undefined method `[]' for nil:NilClass, Framework: cis, OS Name: Amazon, OS Version: 2023
10
+ ```
11
+
12
+ `abide_dev_utils` pins `facterdb ~> 4.1.0`, which has no `amazon-2023` fact files, and
13
+ `files/fact_sets/` has none either.
14
+
15
+ ### Why not bump `facterdb`
16
+
17
+ `facterdb` 4.5.0 ships `amazon-2023-x86_64.facts`, but only under the OpenFact `5.1`, `5.2`, `5.4`
18
+ and `5.6` directories; the `facterdb` maintainers now generate facts with OpenVox. That is enough
19
+ for `FactSets` (which keys fact sets by directory and ignores `facterversion`), but not for
20
+ `rspec-puppet-facts`:
21
+
22
+ - `rspec-puppet-facts` does not ask the installed Facter for its version. It maps the Puppet gem
23
+ version to a Facter version via `ext/puppet_agent_facter_versions.json`, which is now built from
24
+ OpenVox agent releases. Perforce Puppet 8.22.0 maps to the nearest lower entry, OpenVox 8.19.2 →
25
+ Facter **4.11.0**; Puppet 9.1.0 maps to OpenVox 9.0.0-rc2 → OpenFact **6.2.0**.
26
+ - It then selects facts with `~> <ver>.0`, falling back to `< <major>.<minor+1>`. On Puppet 8 that
27
+ means `facterversion < 4.12`, so OpenFact 5.x factsets are never chosen and the OS is silently
28
+ dropped from `on_supported_os`.
29
+ - Confirmed in `sce_linux` CI (`main`, run 38534825592): the Puppet 8 / Ruby 3.2 RSpec job has zero
30
+ `redhat-10` or `oraclelinux-10` contexts; the Puppet 9 / Ruby 4.0 job covers them via OpenFact 5.x
31
+ fallback.
32
+
33
+ Bumping `facterdb` would also force `required_ruby_version >= 3.2.0` (a `facterdb` 4.5 requirement)
34
+ and would not be adopted by `sce_windows`, which pins `facterdb <= 4.1.0`.
35
+
36
+ Instead, we vendor the upstream AL2023 facts into `files/fact_sets/`, relabeled as Facter 4.11.0,
37
+ where we control them. We also relabel the existing `redhat-10` factset (currently `5.1.0`) to
38
+ `4.11.0` so all EL10-era local factsets are selectable by Puppet 8 once `sce_linux` points
39
+ `FACTERDB_SEARCH_PATHS` at this directory (tracked separately — `FactSets` passes the path to
40
+ `FacterDB.external_fact_files` directly and does not expose it to `FacterDB.get_facts`).
41
+
42
+ ## Change
43
+
44
+ **File:** `files/fact_sets/amazon-2023-x86_64.facts` (new)
45
+
46
+ Copy `facts/5.6/amazon-2023-x86_64.facts` from `facterdb` 4.5.0 (real AL2023 host data, not cloned
47
+ from a sibling OS) and adjust only the following to match the Facter 4.11 key shape:
48
+
49
+ | Field | Upstream (OpenFact 5.6) | Local |
50
+ |---|---|---|
51
+ | `facterversion` | `"5.6.0"` | `"4.11.0"` |
52
+ | `implementation` | `"openvox"` | removed |
53
+ | `clientversion` | `"8.26.1"` | removed |
54
+ | `clientcert` | present | removed |
55
+ | `clientnoop` | present | removed |
56
+ | `os.support` | `{ "end": "2029-06-30" }` | removed |
57
+
58
+ All other facts are kept as-is, including `os.name = "Amazon"`, `os.family = "RedHat"`,
59
+ `os.release.major = "2023"`, `os.release.full = "2023.0"` and `networking.dhcp` (also reported by
60
+ Facter 4 on DHCP hosts). `memory.swap` stays absent; the source host had no swap, matching the
61
+ existing `redhat-10` and `oraclelinux-10` factsets.
62
+
63
+ **File:** `files/fact_sets/redhat-10-x86_64.facts` (modified)
64
+
65
+ Change `facterversion` from `"5.1.0"` to `"4.11.0"`. Its key set already matches a Facter 4.11
66
+ RedHat factset; no other changes.
67
+
68
+ **File:** `abide_dev_utils.gemspec`, `Gemfile.lock`, `.rubocop.yml`, `CLAUDE.md` (unchanged vs. `main`)
69
+
70
+ The earlier `facterdb ~> 4.5` / Ruby `>= 3.2.0` / `TargetRubyVersion: 3.2` changes on this branch are
71
+ reverted.
72
+
73
+ **File:** `spec/abide_dev_utils/ppt/facter_utils_spec.rb` (modified; currently comments only on `main`)
74
+
75
+ Add unit specs for `FactSets#find_by_fact_value_tuples` covering Amazon 2023, RedHat 10,
76
+ OracleLinux 10, Ubuntu 24.04 and Windows 2025 (asserting the expected `os.family`), plus a spec
77
+ asserting every `files/fact_sets/*.facts` file is valid JSON with a `4.x` `facterversion`.
78
+
79
+ **File:** `lib/abide_dev_utils/version.rb` (modified)
80
+
81
+ Bump version from `0.18.10` to `0.18.11`.
82
+
83
+ ## Functional behavior
84
+
85
+ - `FactSets#find_by_fact_value_tuples(['os.name', 'Amazon'], ['os.release.major', '2023'])` returns
86
+ the local AL2023 facts with `os.family = "RedHat"`, so `abide sce generate reference` and the
87
+ coverage report can load a CIS Amazon Linux 2023 benchmark without a `BenchmarkLoadError`.
88
+ - RedHat 10 lookups through `FactSets` are unaffected (it ignores `facterversion`).
89
+ - With `FACTERDB_SEARCH_PATHS` pointed at `files/fact_sets/`, `rspec-puppet-facts` on Puppet 8
90
+ (Facter 4.11.0) selects the local `amazon-2023`, `redhat-10` and `oraclelinux-10` factsets.
91
+ - `facterdb` stays at `~> 4.1.0` and Ruby `>= 2.7.0`; no change for `sce_windows`.
92
+
93
+ ## Non-goals
94
+
95
+ - Wiring `FACTERDB_SEARCH_PATHS` in `sce_linux`'s `spec_helper.rb` so Puppet 8 RSpec covers RHEL 10,
96
+ OL 10 and AL2023 (separate `sce_linux` ticket).
97
+ - Bumping `facterdb` or the minimum Ruby version.
98
+ - Removing the vendored `windows-2025` / `oraclelinux-10` / `redhat-10` factsets.
99
+ - `aarch64` AL2023 facts (upstream ships `x86_64` only).
100
+ - Pre-existing `main` failures: rubocop offenses not run in CI (CEM-7116) and `cli_spec.rb` exiting
101
+ the process during `rake spec` (CEM-7117).
102
+
103
+ ## Acceptance criteria
104
+
105
+ - [ ] `files/fact_sets/amazon-2023-x86_64.facts` exists, is valid JSON, has `facterversion` `"4.11.0"`,
106
+ `os.name` `"Amazon"`, `os.family` `"RedHat"`, `os.release.major` `"2023"`, and none of
107
+ `implementation`, `clientversion`, `clientcert`, `clientnoop`, `os.support`.
108
+ - [ ] `files/fact_sets/redhat-10-x86_64.facts` has `facterversion` `"4.11.0"` and is otherwise unchanged.
109
+ - [ ] `bundle exec ruby -e "require 'abide_dev_utils'; puts AbideDevUtils::Ppt::FacterUtils::FactSets.new.find_by_fact_value_tuples(['os.name','Amazon'],['os.release.major','2023']).dig('os','family')"` prints `RedHat`.
110
+ - [ ] With `FACTERDB_SEARCH_PATHS=files/fact_sets`, a simulated `rspec-puppet-facts` selection for
111
+ Facter 4.11.0 returns facts for Amazon 2023, RedHat 10 and OracleLinux 10.
112
+ - [ ] `abide_dev_utils.gemspec`, `Gemfile.lock`, `.rubocop.yml` and `CLAUDE.md` match `main`.
113
+ - [ ] `bundle exec rspec spec/abide_dev_utils/ppt/facter_utils_spec.rb` passes, and all spec files
114
+ under `spec/abide_dev_utils/` other than `cli_spec.rb` pass.
115
+ - [ ] `lib/abide_dev_utils/version.rb` reads `VERSION = "0.18.11"`.
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abide_dev_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.9
4
+ version: 0.18.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - abide-team
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-10-15 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: nokogiri
@@ -127,14 +128,14 @@ dependencies:
127
128
  requirements:
128
129
  - - "~>"
129
130
  - !ruby/object:Gem::Version
130
- version: '4.0'
131
+ version: '5.0'
131
132
  type: :runtime
132
133
  prerelease: false
133
134
  version_requirements: !ruby/object:Gem::Requirement
134
135
  requirements:
135
136
  - - "~>"
136
137
  - !ruby/object:Gem::Version
137
- version: '4.0'
138
+ version: '5.0'
138
139
  - !ruby/object:Gem::Dependency
139
140
  name: facterdb
140
141
  requirement: !ruby/object:Gem::Requirement
@@ -374,6 +375,7 @@ files:
374
375
  - bin/setup
375
376
  - docs/ARCHITECTURE.md
376
377
  - exe/abide
378
+ - files/fact_sets/amazon-2023-x86_64.facts
377
379
  - files/fact_sets/oraclelinux-10-x86_64.facts
378
380
  - files/fact_sets/redhat-10-x86_64.facts
379
381
  - files/fact_sets/windows-2025-x86_64.facts
@@ -469,6 +471,7 @@ files:
469
471
  - new_diff.rb
470
472
  - specifications/CEM-6541.md
471
473
  - specifications/CEM-6763.md
474
+ - specifications/CEM-6998.md
472
475
  homepage: https://github.com/puppetlabs/abide_dev_utils
473
476
  licenses:
474
477
  - MIT
@@ -477,6 +480,7 @@ metadata:
477
480
  source_code_uri: https://github.com/puppetlabs/abide_dev_utils
478
481
  changelog_uri: https://github.com/puppetlabs/abide_dev_utils
479
482
  rubygems_mfa_required: 'true'
483
+ post_install_message:
480
484
  rdoc_options: []
481
485
  require_paths:
482
486
  - lib
@@ -491,7 +495,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
491
495
  - !ruby/object:Gem::Version
492
496
  version: '0'
493
497
  requirements: []
494
- rubygems_version: 3.6.9
498
+ rubygems_version: 3.5.22
499
+ signing_key:
495
500
  specification_version: 4
496
501
  summary: Helper utilities for developing compliance Puppet code
497
502
  test_files: []