abide_dev_utils 0.10.0 → 0.11.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +7 -1
- data/Gemfile.lock +54 -65
- data/Rakefile +28 -0
- data/abide_dev_utils.gemspec +2 -1
- data/lib/abide_dev_utils/cem/benchmark.rb +485 -0
- data/lib/abide_dev_utils/cem/generate/coverage_report.rb +380 -0
- data/lib/abide_dev_utils/cem/generate/reference.rb +240 -0
- data/lib/abide_dev_utils/cem/generate.rb +11 -0
- data/lib/abide_dev_utils/cem/hiera_data/mapping_data/map_data.rb +110 -0
- data/lib/abide_dev_utils/cem/hiera_data/mapping_data/mixins.rb +46 -0
- data/lib/abide_dev_utils/cem/hiera_data/mapping_data.rb +146 -0
- data/lib/abide_dev_utils/cem/hiera_data/resource_data/control.rb +127 -0
- data/lib/abide_dev_utils/cem/hiera_data/resource_data/parameters.rb +90 -0
- data/lib/abide_dev_utils/cem/hiera_data/resource_data/resource.rb +102 -0
- data/lib/abide_dev_utils/cem/hiera_data/resource_data.rb +310 -0
- data/lib/abide_dev_utils/cem/hiera_data.rb +7 -0
- data/lib/abide_dev_utils/cem/mapping/mapper.rb +282 -0
- data/lib/abide_dev_utils/cem/validate/resource_data.rb +33 -0
- data/lib/abide_dev_utils/cem/validate.rb +10 -0
- data/lib/abide_dev_utils/cem.rb +1 -0
- data/lib/abide_dev_utils/cli/cem.rb +98 -0
- data/lib/abide_dev_utils/cli/jira.rb +1 -1
- data/lib/abide_dev_utils/cli/xccdf.rb +3 -0
- data/lib/abide_dev_utils/dot_number_comparable.rb +75 -0
- data/lib/abide_dev_utils/errors/cem.rb +32 -0
- data/lib/abide_dev_utils/errors/general.rb +8 -2
- data/lib/abide_dev_utils/errors/ppt.rb +4 -0
- data/lib/abide_dev_utils/errors.rb +6 -0
- data/lib/abide_dev_utils/markdown.rb +104 -0
- data/lib/abide_dev_utils/ppt/class_utils.rb +1 -1
- data/lib/abide_dev_utils/ppt/code_gen/data_types.rb +51 -0
- data/lib/abide_dev_utils/ppt/code_gen/generate.rb +15 -0
- data/lib/abide_dev_utils/ppt/code_gen/resource.rb +59 -0
- data/lib/abide_dev_utils/ppt/code_gen/resource_types/base.rb +93 -0
- data/lib/abide_dev_utils/ppt/code_gen/resource_types/class.rb +17 -0
- data/lib/abide_dev_utils/ppt/code_gen/resource_types/manifest.rb +16 -0
- data/lib/abide_dev_utils/ppt/code_gen/resource_types/parameter.rb +16 -0
- data/lib/abide_dev_utils/ppt/code_gen/resource_types/strings.rb +13 -0
- data/lib/abide_dev_utils/ppt/code_gen/resource_types.rb +6 -0
- data/lib/abide_dev_utils/ppt/code_gen.rb +15 -0
- data/lib/abide_dev_utils/ppt/code_introspection.rb +102 -0
- data/lib/abide_dev_utils/ppt/facter_utils.rb +140 -0
- data/lib/abide_dev_utils/ppt/hiera.rb +300 -0
- data/lib/abide_dev_utils/ppt/puppet_module.rb +75 -0
- data/lib/abide_dev_utils/ppt.rb +6 -5
- data/lib/abide_dev_utils/validate.rb +14 -0
- data/lib/abide_dev_utils/version.rb +1 -1
- data/lib/abide_dev_utils/xccdf/parser/helpers.rb +146 -0
- data/lib/abide_dev_utils/xccdf/parser/objects.rb +87 -144
- data/lib/abide_dev_utils/xccdf/parser.rb +5 -0
- data/lib/abide_dev_utils/xccdf/utils.rb +89 -0
- data/lib/abide_dev_utils/xccdf.rb +8 -2
- metadata +52 -5
- data/lib/abide_dev_utils/ppt/coverage.rb +0 -86
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b3b154482634fc055b078ce36dbf15a387c4da25f6061f96128f33fb3f29e18
|
4
|
+
data.tar.gz: ecf7d53d1b06680970bc21affdbd7603193a84a9c1cac46d53cc1e95b13abbb6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8c1b8d427bcde511d53dc505c4c10853a6cd963d0da3d27148b81342f0bd497e364f17cd6212fde0a4d97fb3e0a25d566d11cef679c7220a05c696c6df95191
|
7
|
+
data.tar.gz: 54fd1971163662139121b3e9b7b31a7be8ad42127f8a08b4271cb995454a3b90460477d11b6e13148dfa3d950cfb2b86d84ea491e436ee6b28518c9ae66486bb
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -39,6 +39,9 @@ Style/IpAddresses:
|
|
39
39
|
Exclude:
|
40
40
|
- spec/rubocop/cop/style/ip_addresses_spec.rb
|
41
41
|
|
42
|
+
Style/RegexpLiteral:
|
43
|
+
Enabled: false
|
44
|
+
|
42
45
|
Layout/EndOfLine:
|
43
46
|
EnforcedStyle: lf
|
44
47
|
|
@@ -133,4 +136,7 @@ Performance/CollectionLiteralInLoop:
|
|
133
136
|
- 'spec/**/*.rb'
|
134
137
|
|
135
138
|
RSpec/StubbedMock:
|
136
|
-
Enabled: false
|
139
|
+
Enabled: false
|
140
|
+
|
141
|
+
Convention/ExplicitBlockArgument:
|
142
|
+
Enabled: false
|
data/Gemfile.lock
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
abide_dev_utils (0.
|
4
|
+
abide_dev_utils (0.11.1)
|
5
5
|
amatch (~> 0.4)
|
6
6
|
cmdparse (~> 3.0)
|
7
|
+
facterdb (>= 1.18)
|
7
8
|
google-cloud-storage (~> 1.34)
|
8
9
|
hashdiff (~> 1.0)
|
9
10
|
jira-ruby (~> 2.2)
|
10
|
-
nokogiri (~> 1.
|
11
|
+
nokogiri (~> 1.13)
|
11
12
|
puppet (>= 6.23)
|
12
13
|
ruby-progressbar (~> 1.11)
|
13
14
|
selenium-webdriver (~> 4.0.0.beta4)
|
@@ -15,76 +16,62 @@ PATH
|
|
15
16
|
GEM
|
16
17
|
remote: https://rubygems.org/
|
17
18
|
specs:
|
18
|
-
|
19
|
+
CFPropertyList (2.3.6)
|
20
|
+
activesupport (7.0.3)
|
19
21
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
20
22
|
i18n (>= 1.6, < 2)
|
21
23
|
minitest (>= 5.1)
|
22
24
|
tzinfo (~> 2.0)
|
23
25
|
addressable (2.8.0)
|
24
26
|
public_suffix (>= 2.0.2, < 5.0)
|
25
|
-
amatch (0.4.
|
27
|
+
amatch (0.4.1)
|
26
28
|
mize
|
27
29
|
tins (~> 1.0)
|
28
30
|
ast (2.4.2)
|
29
|
-
async (1.30.
|
31
|
+
async (1.30.2)
|
30
32
|
console (~> 1.10)
|
31
33
|
nio4r (~> 2.3)
|
32
34
|
timers (~> 4.1)
|
33
|
-
async-http (0.56.
|
35
|
+
async-http (0.56.6)
|
34
36
|
async (>= 1.25)
|
35
37
|
async-io (>= 1.28)
|
36
38
|
async-pool (>= 0.2)
|
37
39
|
protocol-http (~> 0.22.0)
|
38
40
|
protocol-http1 (~> 0.14.0)
|
39
41
|
protocol-http2 (~> 0.14.0)
|
42
|
+
traces (~> 0.4.0)
|
40
43
|
async-http-faraday (0.11.0)
|
41
44
|
async-http (~> 0.42)
|
42
45
|
faraday
|
43
|
-
async-io (1.
|
46
|
+
async-io (1.33.0)
|
44
47
|
async
|
45
|
-
async-pool (0.3.
|
48
|
+
async-pool (0.3.10)
|
46
49
|
async (>= 1.25)
|
47
50
|
atlassian-jwt (0.2.1)
|
48
51
|
jwt (~> 2.1)
|
49
52
|
childprocess (4.1.0)
|
50
53
|
cmdparse (3.0.7)
|
51
54
|
coderay (1.1.3)
|
52
|
-
concurrent-ruby (1.1.
|
53
|
-
console (1.
|
55
|
+
concurrent-ruby (1.1.10)
|
56
|
+
console (1.15.3)
|
54
57
|
fiber-local
|
55
58
|
declarative (0.0.20)
|
56
59
|
deep_merge (1.2.2)
|
57
60
|
diff-lcs (1.5.0)
|
58
61
|
digest-crc (0.6.4)
|
59
62
|
rake (>= 12.0.0, < 14.0.0)
|
60
|
-
facter (4.2.
|
63
|
+
facter (4.2.10)
|
61
64
|
hocon (~> 1.3)
|
62
65
|
thor (>= 1.0.1, < 2.0)
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
faraday-
|
68
|
-
faraday-multipart (~> 1.0)
|
69
|
-
faraday-net_http (~> 1.0)
|
70
|
-
faraday-net_http_persistent (~> 1.0)
|
71
|
-
faraday-patron (~> 1.0)
|
72
|
-
faraday-rack (~> 1.0)
|
73
|
-
faraday-retry (~> 1.0)
|
66
|
+
facterdb (1.18.0)
|
67
|
+
facter (< 5.0.0)
|
68
|
+
jgrep
|
69
|
+
faraday (2.3.0)
|
70
|
+
faraday-net_http (~> 2.0)
|
74
71
|
ruby2_keywords (>= 0.0.4)
|
75
|
-
faraday-
|
76
|
-
faraday-em_synchrony (1.0.0)
|
77
|
-
faraday-excon (1.1.0)
|
78
|
-
faraday-http-cache (2.2.0)
|
72
|
+
faraday-http-cache (2.3.0)
|
79
73
|
faraday (>= 0.8)
|
80
|
-
faraday-
|
81
|
-
faraday-multipart (1.0.3)
|
82
|
-
multipart-post (>= 1.2, < 3)
|
83
|
-
faraday-net_http (1.0.1)
|
84
|
-
faraday-net_http_persistent (1.2.0)
|
85
|
-
faraday-patron (1.0.0)
|
86
|
-
faraday-rack (1.0.0)
|
87
|
-
faraday-retry (1.0.3)
|
74
|
+
faraday-net_http (2.0.3)
|
88
75
|
fast_gettext (1.8.0)
|
89
76
|
fiber-local (1.0.0)
|
90
77
|
gem-release (2.2.2)
|
@@ -97,7 +84,7 @@ GEM
|
|
97
84
|
octokit (~> 4.6)
|
98
85
|
rainbow (>= 2.2.1)
|
99
86
|
rake (>= 10.0)
|
100
|
-
google-apis-core (0.
|
87
|
+
google-apis-core (0.5.0)
|
101
88
|
addressable (~> 2.5, >= 2.5.1)
|
102
89
|
googleauth (>= 0.16.2, < 2.a)
|
103
90
|
httpclient (>= 2.8.1, < 3.a)
|
@@ -108,7 +95,7 @@ GEM
|
|
108
95
|
webrick
|
109
96
|
google-apis-iamcredentials_v1 (0.10.0)
|
110
97
|
google-apis-core (>= 0.4, < 2.a)
|
111
|
-
google-apis-storage_v1 (0.
|
98
|
+
google-apis-storage_v1 (0.14.0)
|
112
99
|
google-apis-core (>= 0.4, < 2.a)
|
113
100
|
google-cloud-core (1.6.0)
|
114
101
|
google-cloud-env (~> 1.0)
|
@@ -116,7 +103,7 @@ GEM
|
|
116
103
|
google-cloud-env (1.6.0)
|
117
104
|
faraday (>= 0.17.3, < 3.0)
|
118
105
|
google-cloud-errors (1.2.0)
|
119
|
-
google-cloud-storage (1.36.
|
106
|
+
google-cloud-storage (1.36.2)
|
120
107
|
addressable (~> 2.8)
|
121
108
|
digest-crc (~> 0.4)
|
122
109
|
google-apis-iamcredentials_v1 (~> 0.1)
|
@@ -124,7 +111,7 @@ GEM
|
|
124
111
|
google-cloud-core (~> 1.6)
|
125
112
|
googleauth (>= 0.16.2, < 2.a)
|
126
113
|
mini_mime (~> 1.0)
|
127
|
-
googleauth (1.1.
|
114
|
+
googleauth (1.1.3)
|
128
115
|
faraday (>= 0.17.3, < 3.a)
|
129
116
|
jwt (>= 1.4, < 3.0)
|
130
117
|
memoist (~> 0.16)
|
@@ -137,6 +124,7 @@ GEM
|
|
137
124
|
httpclient (2.8.3)
|
138
125
|
i18n (1.10.0)
|
139
126
|
concurrent-ruby (~> 1.0)
|
127
|
+
jgrep (1.5.4)
|
140
128
|
jira-ruby (2.2.0)
|
141
129
|
activesupport
|
142
130
|
atlassian-jwt
|
@@ -147,29 +135,27 @@ GEM
|
|
147
135
|
memoist (0.16.2)
|
148
136
|
method_source (1.0.0)
|
149
137
|
mini_mime (1.1.2)
|
150
|
-
mini_portile2 (2.8.0)
|
151
138
|
minitest (5.15.0)
|
152
139
|
mize (0.4.0)
|
153
140
|
protocol (~> 2.0)
|
154
141
|
multi_json (1.15.0)
|
155
142
|
multipart-post (2.1.1)
|
156
143
|
nio4r (2.5.8)
|
157
|
-
nokogiri (1.13.6)
|
158
|
-
mini_portile2 (~> 2.8.0)
|
144
|
+
nokogiri (1.13.6-x86_64-darwin)
|
159
145
|
racc (~> 1.4)
|
160
|
-
oauth (0.5.
|
161
|
-
octokit (4.
|
162
|
-
faraday (>=
|
163
|
-
sawyer (~> 0.
|
146
|
+
oauth (0.5.10)
|
147
|
+
octokit (4.25.0)
|
148
|
+
faraday (>= 1, < 3)
|
149
|
+
sawyer (~> 0.9)
|
164
150
|
os (1.1.4)
|
165
|
-
parallel (1.
|
166
|
-
parser (3.1.
|
151
|
+
parallel (1.22.1)
|
152
|
+
parser (3.1.2.0)
|
167
153
|
ast (~> 2.4.1)
|
168
154
|
protocol (2.0.0)
|
169
155
|
ruby_parser (~> 3.0)
|
170
156
|
protocol-hpack (1.4.2)
|
171
|
-
protocol-http (0.22.
|
172
|
-
protocol-http1 (0.14.
|
157
|
+
protocol-http (0.22.6)
|
158
|
+
protocol-http1 (0.14.4)
|
173
159
|
protocol-http (~> 0.22)
|
174
160
|
protocol-http2 (0.14.2)
|
175
161
|
protocol-hpack (~> 1.4)
|
@@ -177,8 +163,9 @@ GEM
|
|
177
163
|
pry (0.14.1)
|
178
164
|
coderay (~> 1.1)
|
179
165
|
method_source (~> 1.0)
|
180
|
-
public_suffix (4.0.
|
181
|
-
puppet (7.
|
166
|
+
public_suffix (4.0.7)
|
167
|
+
puppet (7.17.0-universal-darwin)
|
168
|
+
CFPropertyList (~> 2.2)
|
182
169
|
concurrent-ruby (~> 1.0)
|
183
170
|
deep_merge (~> 1.0)
|
184
171
|
facter (> 2.0.1, < 5)
|
@@ -194,8 +181,8 @@ GEM
|
|
194
181
|
racc (1.6.0)
|
195
182
|
rainbow (3.1.1)
|
196
183
|
rake (13.0.6)
|
197
|
-
regexp_parser (2.
|
198
|
-
representable (3.
|
184
|
+
regexp_parser (2.5.0)
|
185
|
+
representable (3.2.0)
|
199
186
|
declarative (< 0.1.0)
|
200
187
|
trailblazer-option (>= 0.1.1, < 0.2.0)
|
201
188
|
uber (< 0.2.0)
|
@@ -210,36 +197,36 @@ GEM
|
|
210
197
|
rspec-expectations (3.11.0)
|
211
198
|
diff-lcs (>= 1.2.0, < 2.0)
|
212
199
|
rspec-support (~> 3.11.0)
|
213
|
-
rspec-mocks (3.11.
|
200
|
+
rspec-mocks (3.11.1)
|
214
201
|
diff-lcs (>= 1.2.0, < 2.0)
|
215
202
|
rspec-support (~> 3.11.0)
|
216
203
|
rspec-support (3.11.0)
|
217
|
-
rubocop (1.
|
204
|
+
rubocop (1.30.0)
|
218
205
|
parallel (~> 1.10)
|
219
206
|
parser (>= 3.1.0.0)
|
220
207
|
rainbow (>= 2.2.2, < 4.0)
|
221
208
|
regexp_parser (>= 1.8, < 3.0)
|
222
|
-
rexml
|
223
|
-
rubocop-ast (>= 1.
|
209
|
+
rexml (>= 3.2.5, < 4.0)
|
210
|
+
rubocop-ast (>= 1.18.0, < 2.0)
|
224
211
|
ruby-progressbar (~> 1.7)
|
225
212
|
unicode-display_width (>= 1.4.0, < 3.0)
|
226
|
-
rubocop-ast (1.
|
213
|
+
rubocop-ast (1.18.0)
|
227
214
|
parser (>= 3.1.1.0)
|
228
215
|
rubocop-i18n (3.0.0)
|
229
216
|
rubocop (~> 1.0)
|
230
|
-
rubocop-performance (1.
|
217
|
+
rubocop-performance (1.14.0)
|
231
218
|
rubocop (>= 1.7.0, < 2.0)
|
232
219
|
rubocop-ast (>= 0.4.0)
|
233
|
-
rubocop-rspec (2.
|
220
|
+
rubocop-rspec (2.11.1)
|
234
221
|
rubocop (~> 1.19)
|
235
222
|
ruby-progressbar (1.11.0)
|
236
223
|
ruby2_keywords (0.0.5)
|
237
224
|
ruby_parser (3.19.1)
|
238
225
|
sexp_processor (~> 4.16)
|
239
226
|
rubyzip (2.3.2)
|
240
|
-
sawyer (0.
|
227
|
+
sawyer (0.9.2)
|
241
228
|
addressable (>= 2.3.5)
|
242
|
-
faraday (
|
229
|
+
faraday (>= 0.17.3, < 3)
|
243
230
|
scanf (1.0.0)
|
244
231
|
selenium-webdriver (4.0.3)
|
245
232
|
childprocess (>= 0.5, < 5.0)
|
@@ -255,8 +242,9 @@ GEM
|
|
255
242
|
sync (0.5.0)
|
256
243
|
thor (1.2.1)
|
257
244
|
timers (4.3.3)
|
258
|
-
tins (1.31.
|
245
|
+
tins (1.31.1)
|
259
246
|
sync
|
247
|
+
traces (0.4.1)
|
260
248
|
trailblazer-option (0.1.2)
|
261
249
|
tzinfo (2.0.4)
|
262
250
|
concurrent-ruby (~> 1.0)
|
@@ -265,7 +253,8 @@ GEM
|
|
265
253
|
webrick (1.7.0)
|
266
254
|
|
267
255
|
PLATFORMS
|
268
|
-
|
256
|
+
x86_64-darwin-19
|
257
|
+
x86_64-linux
|
269
258
|
|
270
259
|
DEPENDENCIES
|
271
260
|
abide_dev_utils!
|
@@ -284,4 +273,4 @@ DEPENDENCIES
|
|
284
273
|
rubocop-rspec (~> 2.1)
|
285
274
|
|
286
275
|
BUNDLED WITH
|
287
|
-
2.
|
276
|
+
2.3.9
|
data/Rakefile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'rake'
|
3
4
|
require "bundler/gem_tasks"
|
4
5
|
require "rspec/core/rake_task"
|
5
6
|
|
@@ -10,3 +11,30 @@ require "rubocop/rake_task"
|
|
10
11
|
RuboCop::RakeTask.new
|
11
12
|
|
12
13
|
task default: %i[spec rubocop]
|
14
|
+
|
15
|
+
namespace 'cem' do
|
16
|
+
directory 'spec/fixtures'
|
17
|
+
|
18
|
+
directory 'spec/fixtures/puppetlabs-cem_linux' do
|
19
|
+
sh 'git clone git@github.com:puppetlabs/puppetlabs-cem_linux.git spec/fixtures/puppetlabs-cem_linux'
|
20
|
+
end
|
21
|
+
file 'spec/fixtures/puppetlabs-cem_linux' => ['spec/fixtures']
|
22
|
+
|
23
|
+
directory 'spec/fixtures/puppetlabs-cem_windows' do
|
24
|
+
sh 'git clone git@github.com:puppetlabs/puppetlabs-cem_windows.git spec/fixtures/puppetlabs-cem_windows'
|
25
|
+
end
|
26
|
+
file 'spec/fixtures/puppetlabs-cem_windows' => ['spec/fixtures']
|
27
|
+
|
28
|
+
task :fixture, [:cem_mod] do |_, args|
|
29
|
+
case args.cem_mod
|
30
|
+
when /linux/
|
31
|
+
Rake::Task['spec/fixtures/puppetlabs-cem_linux'].invoke
|
32
|
+
when /windows/
|
33
|
+
Rake::Task['spec/fixtures/puppetlabs-cem_windows'].invoke
|
34
|
+
else
|
35
|
+
raise "Unknown CEM module #{args.cem_mod}"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
multitask fixtures: %w[spec/fixtures/puppetlabs-cem_linux spec/fixtures/puppetlabs-cem_windows]
|
40
|
+
end
|
data/abide_dev_utils.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.require_paths = ['lib']
|
33
33
|
|
34
34
|
# Prod dependencies
|
35
|
-
spec.add_dependency 'nokogiri', '~> 1.
|
35
|
+
spec.add_dependency 'nokogiri', '~> 1.13'
|
36
36
|
spec.add_dependency 'cmdparse', '~> 3.0'
|
37
37
|
spec.add_dependency 'puppet', '>= 6.23'
|
38
38
|
spec.add_dependency 'jira-ruby', '~> 2.2'
|
@@ -41,6 +41,7 @@ Gem::Specification.new do |spec|
|
|
41
41
|
spec.add_dependency 'google-cloud-storage', '~> 1.34'
|
42
42
|
spec.add_dependency 'hashdiff', '~> 1.0'
|
43
43
|
spec.add_dependency 'amatch', '~> 0.4'
|
44
|
+
spec.add_dependency 'facterdb', '>= 1.18'
|
44
45
|
|
45
46
|
# Dev dependencies
|
46
47
|
spec.add_development_dependency 'bundler'
|