abide_dev_utils 0.18.4 → 0.18.6
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 +4 -4
- data/.github/workflows/ci.yaml +7 -2
- data/CLAUDE.md +45 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +252 -168
- data/abide_dev_utils.gemspec +2 -2
- data/docs/ARCHITECTURE.md +264 -0
- data/files/fact_sets/redhat-10-x86_64.facts +606 -0
- data/files/fact_sets/windows-2025-x86_64.facts +169 -0
- data/lib/abide_dev_utils/ppt/facter_utils.rb +7 -3
- data/lib/abide_dev_utils/ppt/score_module.rb +14 -5
- data/lib/abide_dev_utils/version.rb +1 -1
- metadata +23 -19
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
|
|
2
|
+
{
|
|
3
|
+
"aio_agent_version": "8.10.0",
|
|
4
|
+
"dmi": {
|
|
5
|
+
"manufacturer": "innotek GmbH",
|
|
6
|
+
"product": {
|
|
7
|
+
"name": "VirtualBox",
|
|
8
|
+
"serial_number": "VirtualBox-8afd7ad4-bfe9-4f5a-8d30-93c42b25907d",
|
|
9
|
+
"uuid": "8AFD7AD4-BFE9-4F5A-8D30-93C42B25907D"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"env_windows_installdir": "C:\\Program Files\\Puppet Labs\\Puppet",
|
|
13
|
+
"facterversion": "4.10.0",
|
|
14
|
+
"fips_enabled": false,
|
|
15
|
+
"hypervisors": {
|
|
16
|
+
"virtualbox": {
|
|
17
|
+
"revision": "167084",
|
|
18
|
+
"version": "7.1.6"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"identity": {
|
|
22
|
+
"privileged": true,
|
|
23
|
+
"user": "FOO\\vagrant"
|
|
24
|
+
},
|
|
25
|
+
"is_virtual": true,
|
|
26
|
+
"kernel": "windows",
|
|
27
|
+
"kernelmajversion": "10.0",
|
|
28
|
+
"kernelrelease": "10.0.20348",
|
|
29
|
+
"kernelversion": "10.0.20348",
|
|
30
|
+
"memory": {
|
|
31
|
+
"system": {
|
|
32
|
+
"available": "671.45 MiB",
|
|
33
|
+
"available_bytes": 704065536,
|
|
34
|
+
"capacity": "66.92%",
|
|
35
|
+
"total": "1.98 GiB",
|
|
36
|
+
"total_bytes": 2128289792,
|
|
37
|
+
"used": "1.33 GiB",
|
|
38
|
+
"used_bytes": 1424224256
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"networking": {
|
|
42
|
+
"dhcp": "10.0.2.2",
|
|
43
|
+
"domain": "example.com",
|
|
44
|
+
"fqdn": "foo.example.com",
|
|
45
|
+
"hostname": "foo",
|
|
46
|
+
"interfaces": {
|
|
47
|
+
"Ethernet": {
|
|
48
|
+
"bindings": [
|
|
49
|
+
{
|
|
50
|
+
"address": "10.0.2.15",
|
|
51
|
+
"netmask": "255.255.255.0",
|
|
52
|
+
"network": "10.0.2.0"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"bindings6": [
|
|
56
|
+
{
|
|
57
|
+
"address": "fd00::46ab:507:687:5b80",
|
|
58
|
+
"netmask": "ffff:ffff:ffff:ffff::",
|
|
59
|
+
"network": "fd00::",
|
|
60
|
+
"scope6": "global"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"address": "fe80::aff:b25e:a03e:f84f",
|
|
64
|
+
"netmask": "ffff:ffff:ffff:ffff::",
|
|
65
|
+
"network": "fe80::",
|
|
66
|
+
"scope6": "link"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"dhcp": "10.0.2.2",
|
|
70
|
+
"ip": "10.0.2.15",
|
|
71
|
+
"ip6": "fd00::46ab:507:687:5b80",
|
|
72
|
+
"mac": "08:00:27:07:2A:6E",
|
|
73
|
+
"mtu": 1500,
|
|
74
|
+
"netmask": "255.255.255.0",
|
|
75
|
+
"netmask6": "ffff:ffff:ffff:ffff::",
|
|
76
|
+
"network": "10.0.2.0",
|
|
77
|
+
"network6": "fd00::",
|
|
78
|
+
"scope6": "global"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"ip": "10.0.2.15",
|
|
82
|
+
"ip6": "fd00::46ab:507:687:5b80",
|
|
83
|
+
"mac": "08:00:27:07:2A:6E",
|
|
84
|
+
"mtu": 1500,
|
|
85
|
+
"netmask": "255.255.255.0",
|
|
86
|
+
"netmask6": "ffff:ffff:ffff:ffff::",
|
|
87
|
+
"network": "10.0.2.0",
|
|
88
|
+
"network6": "fd00::",
|
|
89
|
+
"primary": "Ethernet",
|
|
90
|
+
"scope6": "global"
|
|
91
|
+
},
|
|
92
|
+
"os": {
|
|
93
|
+
"architecture": "x64",
|
|
94
|
+
"family": "windows",
|
|
95
|
+
"hardware": "x86_64",
|
|
96
|
+
"name": "windows",
|
|
97
|
+
"release": {
|
|
98
|
+
"full": "2025",
|
|
99
|
+
"major": "2025"
|
|
100
|
+
},
|
|
101
|
+
"windows": {
|
|
102
|
+
"display_version": "24H2",
|
|
103
|
+
"edition_id": "ServerStandardEval",
|
|
104
|
+
"installation_type": "Server Core",
|
|
105
|
+
"product_name": "Windows Server 2025 Standard Evaluation",
|
|
106
|
+
"release_id": "24H2",
|
|
107
|
+
"system32": "C:\\Windows\\system32"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"path": "C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\OpenSSH-Win64;C:\\Users\\vagrant\\AppData\\Local\\Microsoft\\WindowsApps",
|
|
111
|
+
"processors": {
|
|
112
|
+
"cores": 2,
|
|
113
|
+
"count": 2,
|
|
114
|
+
"isa": "x64",
|
|
115
|
+
"models": [
|
|
116
|
+
"12th Gen Intel(R) Core(TM) i9-12900K"
|
|
117
|
+
],
|
|
118
|
+
"physicalcount": 1,
|
|
119
|
+
"threads": 1
|
|
120
|
+
},
|
|
121
|
+
"puppetversion": "8.10.0",
|
|
122
|
+
"ruby": {
|
|
123
|
+
"platform": "x64-mingw32",
|
|
124
|
+
"sitedir": "C:/Program Files/Puppet Labs/Puppet/puppet/lib/ruby/site_ruby/3.2.0",
|
|
125
|
+
"version": "3.2.5"
|
|
126
|
+
},
|
|
127
|
+
"ssh": {
|
|
128
|
+
"dsa": {
|
|
129
|
+
"fingerprints": {
|
|
130
|
+
"sha1": "SSHFP 2 1 a8d082d65ba073f4b588ca1532b2afff564655a5",
|
|
131
|
+
"sha256": "SSHFP 2 2 d58da160af2402446a90fefa3406636720cd41086332826939d95c9e3093b052"
|
|
132
|
+
},
|
|
133
|
+
"key": "AAAAB3NzaC1kc3MAAACBAKKFEAtK0bNFrprCzPCwDTRR9kTrsuVgGhfWHH/z6cDb2MW3MiZR7FwPAMjyF8uDkOmujzx4v+T6OzqgjEm3d/AIbaBY7Ngk19RMGd6DcP6jj6356p1yQmZP/YRinSfYM6I6sYmjPopjREh7oCSw+mAtbpa6o0GZcwf8xyGU2CGvAAAAFQDSzyN8rO7yngMTJnsc5judSNv6nQAAAIAH7xfPEkE7jMV/BuVdmCsMfmHpI+KiKnyp+JjRBgz13FxfvWUu+tbCP6xJ2yeECKjk1oFfT/bsrKm0ChkZ7HssYRKcQW9CvcH6Z5ttRx9Oqm8PCM0kJpSxWm5a5dFPiHMdBCRIvJNksW7BPLCkuj/D+XzHCaDCDECzXELksPpspQAAAIBsV6OxseQ22u+48sDJJj1Jwl72cFtcxoZ7dFs/q78/xxeKHIRjNzTiaMqhBPY4V+2Sm6Zzgu2wJOQXYkEkq5F8X3BeTB0+xFkGPUXa/VexXJD71/Mc2uq0b24Z4ZqyqJfigp3PM6GzWuOUC14aS56t++ddGG690sPW1PhebPdgrw==",
|
|
134
|
+
"type": "ssh-dss"
|
|
135
|
+
},
|
|
136
|
+
"ecdsa": {
|
|
137
|
+
"fingerprints": {
|
|
138
|
+
"sha1": "SSHFP 3 1 92c1a6d77ee3c13a54441b60a59a646f505f1309",
|
|
139
|
+
"sha256": "SSHFP 3 2 6630092ecc8589ad778944e3d203de842348b151e0dd3a0457533701a7fbb383"
|
|
140
|
+
},
|
|
141
|
+
"key": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJuKojHoqRInzDL4edrdYI7gbbBrhj/oSptoChw4Y62/9id2Li73+6MEPc5RjnY+d5bBu0zUBUN5bSIEa0EaRI4=",
|
|
142
|
+
"type": "ecdsa-sha2-nistp256"
|
|
143
|
+
},
|
|
144
|
+
"ed25519": {
|
|
145
|
+
"fingerprints": {
|
|
146
|
+
"sha1": "SSHFP 4 1 baaf376fcd4d0e07122280476eb61443fd17ab7f",
|
|
147
|
+
"sha256": "SSHFP 4 2 435cfd5fe8021a37548cc0e595c56c72de2c705f84992413f686c97de282d844"
|
|
148
|
+
},
|
|
149
|
+
"key": "AAAAC3NzaC1lZDI1NTE5AAAAIKRQrcC/RFnVsJO8EI0Y0okEa6cfasfwaDYNXsRKlmb6",
|
|
150
|
+
"type": "ssh-ed25519"
|
|
151
|
+
},
|
|
152
|
+
"rsa": {
|
|
153
|
+
"fingerprints": {
|
|
154
|
+
"sha1": "SSHFP 1 1 959d4674df454c8659a7da15a806b1892c784ce5",
|
|
155
|
+
"sha256": "SSHFP 1 2 95c4ce016dae223545270157b40fdb6e1d3b854464460637ba3e707316ec3c33"
|
|
156
|
+
},
|
|
157
|
+
"key": "AAAAB3NzaC1yc2EAAAADAQABAAABgQC/gpkm190gP0gU8pD15mzIRdZl22QzkOUMnODF53qcYOgprQG4xni+1IGXZUrt2JoTbFG5yj0IVz6lZ+BOuk55vZ+WStIHMvVgAwxahelwaEHbbC0F7hAqfuPtUaqGSrjvGjRlGUEMZD/TTI/3jcvhb6ps31YsWHdhqRwo7nUPAWLVwpmX9EI1XENnwj38BD9jdLbhiXqJZMNyGmbivLwoQYUPZrtNGmO44Hfxx0rZqoXk5uexp/XR7r3qM3M4aa62zQKsDLDnfjwidkIbkUNTZgc1zC4tDQfd0zfa2LDiiawKCXBs18MhzcZJ581VCgs/D8Oa+PPOs3f4Ecl93HKd8bHiJ16ZBdBvcDFa9nZTQgQqyGZa72TyxXjwsyHHIOQ8wsAScjAufnBNoVFUugjgIhF9cuo/AfcMPGhUAgw2tlD6jT5QJyYOg7YG87qGKzU4XYeVQMnLgE1esoDkSA+IWmIX0rbDFoOi7ex8qComb7Z+HCldm7uIu5lgWE3zxwE=",
|
|
158
|
+
"type": "ssh-rsa"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"system_uptime": {
|
|
162
|
+
"days": 0,
|
|
163
|
+
"hours": 0,
|
|
164
|
+
"seconds": 60,
|
|
165
|
+
"uptime": "0:01 hours"
|
|
166
|
+
},
|
|
167
|
+
"timezone": "Coordinated Universal Time",
|
|
168
|
+
"virtual": "virtualbox"
|
|
169
|
+
}
|
|
@@ -65,7 +65,9 @@ module AbideDevUtils
|
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
def fact_sets
|
|
68
|
-
|
|
68
|
+
external_fact_path = File.expand_path(File.join(__dir__, '../../../files/fact_sets'))
|
|
69
|
+
all_facts = (FacterDB.default_fact_files + FacterDB.external_fact_files(external_fact_path)).uniq
|
|
70
|
+
@fact_sets ||= all_facts.each_with_object({}) do |f, h|
|
|
69
71
|
facter_version = File.basename(File.dirname(f))
|
|
70
72
|
fact_set = h[facter_version] || FactSet.new(facter_version)
|
|
71
73
|
fact_set.load_facts(f)
|
|
@@ -229,7 +231,9 @@ module AbideDevUtils
|
|
|
229
231
|
# end
|
|
230
232
|
|
|
231
233
|
def fact_sets
|
|
232
|
-
|
|
234
|
+
external_fact_path = File.expand_path(File.join(__dir__, '../../../files/fact_sets'))
|
|
235
|
+
all_facts = (FacterDB.default_fact_files + FacterDB.external_fact_files(external_fact_path)).uniq
|
|
236
|
+
@fact_sets ||= all_facts.each_with_object([]) do |f, ary|
|
|
233
237
|
facter_version = File.basename(File.dirname(f))
|
|
234
238
|
fact_set = ary.find { |fs| fs.facter_version == facter_version }
|
|
235
239
|
fact_set ||= FactSet.new(facter_version)
|
|
@@ -283,7 +287,7 @@ module AbideDevUtils
|
|
|
283
287
|
rescue SystemStackError
|
|
284
288
|
locals = {
|
|
285
289
|
prev_ver_map: @previous_major_version_map,
|
|
286
|
-
current_version: current_version
|
|
290
|
+
current_version: current_version
|
|
287
291
|
}
|
|
288
292
|
raise "Failed to find output while recursing versions. Locals: #{locals}"
|
|
289
293
|
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'pathname'
|
|
4
|
-
require '
|
|
4
|
+
require 'metadata_json_lint'
|
|
5
5
|
require 'puppet-lint'
|
|
6
6
|
require 'json'
|
|
7
7
|
|
|
@@ -118,14 +118,22 @@ module AbideDevUtils
|
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
ver_req = MetadataJsonLint::VersionRequirement.new(dependency['version_requirement'])
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
if ver_req.open_ended?
|
|
122
|
+
return [nil,
|
|
123
|
+
metadata_dep_open_ended(dependency['name'], dependency['version_requirement'])]
|
|
124
|
+
end
|
|
125
|
+
if ver_req.mixed_syntax?
|
|
126
|
+
return [nil,
|
|
127
|
+
metadata_dep_mixed_syntax(dependency['name'],
|
|
128
|
+
dependency['version_requirement'])]
|
|
129
|
+
end
|
|
123
130
|
|
|
124
131
|
[nil, nil]
|
|
125
132
|
end
|
|
126
133
|
|
|
127
134
|
def metadata_dep_open_ended(name, version_req)
|
|
128
|
-
metadata_err(:dependencies,
|
|
135
|
+
metadata_err(:dependencies,
|
|
136
|
+
"Dependency #{name} has an open ended dependency version requirement #{version_req}")
|
|
129
137
|
end
|
|
130
138
|
|
|
131
139
|
def metadata_dep_mixed_syntax(name, version_req)
|
|
@@ -135,7 +143,8 @@ module AbideDevUtils
|
|
|
135
143
|
end
|
|
136
144
|
|
|
137
145
|
def metadata_dep_version_range(name)
|
|
138
|
-
metadata_err(:dependencies,
|
|
146
|
+
metadata_err(:dependencies,
|
|
147
|
+
"Dependency #{name} has a 'version_range' attribute which is no longer used by the forge.")
|
|
139
148
|
end
|
|
140
149
|
|
|
141
150
|
def metadata_err(check, msg)
|
metadata
CHANGED
|
@@ -1,14 +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.
|
|
4
|
+
version: 0.18.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- abide-team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-05-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: nokogiri
|
|
@@ -38,20 +38,6 @@ dependencies:
|
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '3.0'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: puppet
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: 7.0.0
|
|
48
|
-
type: :runtime
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: 7.0.0
|
|
55
41
|
- !ruby/object:Gem::Dependency
|
|
56
42
|
name: puppet-strings
|
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -136,20 +122,34 @@ dependencies:
|
|
|
136
122
|
- - "~>"
|
|
137
123
|
- !ruby/object:Gem::Version
|
|
138
124
|
version: '1.0'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: puppet-lint
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '4.0'
|
|
132
|
+
type: :runtime
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '4.0'
|
|
139
139
|
- !ruby/object:Gem::Dependency
|
|
140
140
|
name: facterdb
|
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
|
142
142
|
requirements:
|
|
143
143
|
- - "~>"
|
|
144
144
|
- !ruby/object:Gem::Version
|
|
145
|
-
version:
|
|
145
|
+
version: 4.1.0
|
|
146
146
|
type: :runtime
|
|
147
147
|
prerelease: false
|
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
149
|
requirements:
|
|
150
150
|
- - "~>"
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
|
-
version:
|
|
152
|
+
version: 4.1.0
|
|
153
153
|
- !ruby/object:Gem::Dependency
|
|
154
154
|
name: metadata-json-lint
|
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -362,6 +362,7 @@ files:
|
|
|
362
362
|
- ".rubocop.yml"
|
|
363
363
|
- ".rubocop_todo.yml"
|
|
364
364
|
- CHANGELOG.md
|
|
365
|
+
- CLAUDE.md
|
|
365
366
|
- CODEOWNERS
|
|
366
367
|
- Gemfile
|
|
367
368
|
- Gemfile.lock
|
|
@@ -372,7 +373,10 @@ files:
|
|
|
372
373
|
- bin/abide.rb
|
|
373
374
|
- bin/console
|
|
374
375
|
- bin/setup
|
|
376
|
+
- docs/ARCHITECTURE.md
|
|
375
377
|
- exe/abide
|
|
378
|
+
- files/fact_sets/redhat-10-x86_64.facts
|
|
379
|
+
- files/fact_sets/windows-2025-x86_64.facts
|
|
376
380
|
- lib/abide_dev_utils.rb
|
|
377
381
|
- lib/abide_dev_utils/cli.rb
|
|
378
382
|
- lib/abide_dev_utils/cli/abstract.rb
|
|
@@ -486,7 +490,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
486
490
|
- !ruby/object:Gem::Version
|
|
487
491
|
version: '0'
|
|
488
492
|
requirements: []
|
|
489
|
-
rubygems_version: 3.5.
|
|
493
|
+
rubygems_version: 3.5.22
|
|
490
494
|
signing_key:
|
|
491
495
|
specification_version: 4
|
|
492
496
|
summary: Helper utilities for developing compliance Puppet code
|