hiera-eyaml-gpg 0.7.rc1 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9a1e340aeafc6de92a8995f984c749e70c80cf4a
4
- data.tar.gz: 4190de8d0b44f4a0090ba08639fa647af0329ad0
3
+ metadata.gz: 2af61d8a176da52612993cbf649a6eafda4e5d6f
4
+ data.tar.gz: 0a7db420491c2f13023eedea25c003376236ea11
5
5
  SHA512:
6
- metadata.gz: ba6dbc9e96ec7e9667d026685c56da46e995c9a7753e850b7a457402cd06ac72e3a055da3de0464d6ff9ec629eec7c1082b64842a86b1a9096d7dc40acb4d07b
7
- data.tar.gz: 08e384319fe422d1b028571fa91bdc320af8fc337b2cc08721dffca13aaeec50755aeb6c828f1df8a3e1232d6cae90def1918f07940f8d15dbfabda8066f56bd
6
+ metadata.gz: a827e567460559cbf2d7a5de01322bcc799869c627c9b6307bbefe76ea071955e3bd519268f1b571000f79825f5f90658fa1c42e784a920ad3de6e0a624beea1
7
+ data.tar.gz: 8b2d4a1f4b87f9a92534200ce3169d5052b12f1a9b2178197768a65e0b39de56a41194ce027f6db34463fa81bb85eae9e0c0d04f1e702fc2a97af2628ad27d1b
data/.gitignore CHANGED
@@ -5,3 +5,5 @@ keys/*.pem
5
5
  pkg/
6
6
  tmp/
7
7
  .DS_Store
8
+ .ruby-version
9
+ Gemfile.lock
data/.rubocop.yml ADDED
@@ -0,0 +1,489 @@
1
+ AllCops:
2
+ TargetRubyVersion: 1.9
3
+ Lint/ConditionPosition:
4
+ Enabled: True
5
+
6
+ Lint/ElseLayout:
7
+ Enabled: True
8
+
9
+ Lint/UnreachableCode:
10
+ Enabled: True
11
+
12
+ Lint/UselessComparison:
13
+ Enabled: True
14
+
15
+ Lint/EnsureReturn:
16
+ Enabled: True
17
+
18
+ Lint/HandleExceptions:
19
+ Enabled: True
20
+
21
+ Lint/LiteralInCondition:
22
+ Enabled: True
23
+
24
+ Lint/ShadowingOuterLocalVariable:
25
+ Enabled: True
26
+
27
+ Lint/LiteralInInterpolation:
28
+ Enabled: True
29
+
30
+ Style/HashSyntax:
31
+ Enabled: True
32
+
33
+ Style/RedundantReturn:
34
+ Enabled: True
35
+
36
+ Layout/EndOfLine:
37
+ Enabled: False
38
+
39
+ Lint/AmbiguousOperator:
40
+ Enabled: True
41
+
42
+ Lint/AssignmentInCondition:
43
+ Enabled: True
44
+
45
+ Layout/SpaceBeforeComment:
46
+ Enabled: True
47
+
48
+ Style/AndOr:
49
+ Enabled: True
50
+
51
+ Style/RedundantSelf:
52
+ Enabled: True
53
+
54
+ Metrics/BlockLength:
55
+ Enabled: False
56
+
57
+ # Method length is not necessarily an indicator of code quality
58
+ Metrics/MethodLength:
59
+ Enabled: False
60
+
61
+ Metrics/ModuleLength:
62
+ Enabled: True
63
+
64
+ Style/WhileUntilModifier:
65
+ Enabled: True
66
+
67
+ Lint/AmbiguousRegexpLiteral:
68
+ Enabled: True
69
+
70
+ Security/Eval:
71
+ Enabled: True
72
+
73
+ Lint/BlockAlignment:
74
+ Enabled: True
75
+
76
+ Lint/DefEndAlignment:
77
+ Enabled: True
78
+
79
+ Lint/EndAlignment:
80
+ Enabled: True
81
+
82
+ Lint/DeprecatedClassMethods:
83
+ Enabled: True
84
+
85
+ Lint/Loop:
86
+ Enabled: True
87
+
88
+ Lint/ParenthesesAsGroupedExpression:
89
+ Enabled: True
90
+
91
+ Lint/RescueException:
92
+ Enabled: True
93
+
94
+ Lint/StringConversionInInterpolation:
95
+ Enabled: True
96
+
97
+ Lint/UnusedBlockArgument:
98
+ Enabled: True
99
+
100
+ Lint/UnusedMethodArgument:
101
+ Enabled: True
102
+
103
+ Lint/UselessAccessModifier:
104
+ Enabled: True
105
+
106
+ Lint/UselessAssignment:
107
+ Enabled: True
108
+
109
+ Lint/Void:
110
+ Enabled: True
111
+
112
+ Layout/AccessModifierIndentation:
113
+ Enabled: True
114
+
115
+ Naming/AccessorMethodName:
116
+ Enabled: True
117
+
118
+ Style/Alias:
119
+ Enabled: True
120
+
121
+ Layout/AlignArray:
122
+ Enabled: True
123
+
124
+ Layout/AlignHash:
125
+ Enabled: True
126
+
127
+ Layout/AlignParameters:
128
+ Enabled: True
129
+
130
+ Metrics/BlockNesting:
131
+ Enabled: True
132
+
133
+ Style/AsciiComments:
134
+ Enabled: True
135
+
136
+ Style/Attr:
137
+ Enabled: True
138
+
139
+ Style/BracesAroundHashParameters:
140
+ Enabled: True
141
+
142
+ Style/CaseEquality:
143
+ Enabled: True
144
+
145
+ Layout/CaseIndentation:
146
+ Enabled: True
147
+
148
+ Style/CharacterLiteral:
149
+ Enabled: True
150
+
151
+ Naming/ClassAndModuleCamelCase:
152
+ Enabled: True
153
+
154
+ Style/ClassAndModuleChildren:
155
+ Enabled: False
156
+
157
+ Style/ClassCheck:
158
+ Enabled: True
159
+
160
+ # Class length is not necessarily an indicator of code quality
161
+ Metrics/ClassLength:
162
+ Enabled: False
163
+
164
+ Style/ClassMethods:
165
+ Enabled: True
166
+
167
+ Style/ClassVars:
168
+ Enabled: True
169
+
170
+ Style/WhenThen:
171
+ Enabled: True
172
+
173
+ Style/WordArray:
174
+ Enabled: True
175
+
176
+ Style/UnneededPercentQ:
177
+ Enabled: True
178
+
179
+ Layout/Tab:
180
+ Enabled: True
181
+
182
+ Layout/SpaceBeforeSemicolon:
183
+ Enabled: True
184
+
185
+ Layout/TrailingBlankLines:
186
+ Enabled: True
187
+
188
+ Layout/SpaceInsideBlockBraces:
189
+ Enabled: True
190
+
191
+ Layout/SpaceInsideBrackets:
192
+ Enabled: True
193
+
194
+ Layout/SpaceInsideHashLiteralBraces:
195
+ Enabled: True
196
+
197
+ Layout/SpaceInsideParens:
198
+ Enabled: True
199
+
200
+ Layout/LeadingCommentSpace:
201
+ Enabled: True
202
+
203
+ Layout/SpaceBeforeFirstArg:
204
+ Enabled: True
205
+
206
+ Layout/SpaceAfterColon:
207
+ Enabled: True
208
+
209
+ Layout/SpaceAfterComma:
210
+ Enabled: True
211
+
212
+ Layout/SpaceAfterMethodName:
213
+ Enabled: True
214
+
215
+ Layout/SpaceAfterNot:
216
+ Enabled: True
217
+
218
+ Layout/SpaceAfterSemicolon:
219
+ Enabled: True
220
+
221
+ Layout/SpaceAroundEqualsInParameterDefault:
222
+ Enabled: True
223
+
224
+ Layout/SpaceAroundOperators:
225
+ Enabled: True
226
+
227
+ Layout/SpaceBeforeBlockBraces:
228
+ Enabled: True
229
+
230
+ Layout/SpaceBeforeComma:
231
+ Enabled: True
232
+
233
+ Style/CollectionMethods:
234
+ Enabled: True
235
+
236
+ Layout/CommentIndentation:
237
+ Enabled: True
238
+
239
+ Style/ColonMethodCall:
240
+ Enabled: True
241
+
242
+ Style/CommentAnnotation:
243
+ Enabled: True
244
+
245
+ # 'Complexity' is very relative
246
+ Metrics/CyclomaticComplexity:
247
+ Enabled: False
248
+
249
+ Naming/ConstantName:
250
+ Enabled: True
251
+
252
+ Style/Documentation:
253
+ Enabled: False
254
+
255
+ Style/DefWithParentheses:
256
+ Enabled: True
257
+
258
+ Style/PreferredHashMethods:
259
+ Enabled: True
260
+
261
+ Layout/DotPosition:
262
+ EnforcedStyle: trailing
263
+
264
+ Style/DoubleNegation:
265
+ Enabled: True
266
+
267
+ Style/EachWithObject:
268
+ Enabled: True
269
+
270
+ Layout/EmptyLineBetweenDefs:
271
+ Enabled: True
272
+
273
+ Layout/IndentArray:
274
+ Enabled: True
275
+
276
+ Layout/IndentHash:
277
+ Enabled: True
278
+
279
+ Layout/IndentationConsistency:
280
+ Enabled: True
281
+
282
+ Layout/IndentationWidth:
283
+ Enabled: True
284
+
285
+ Layout/EmptyLines:
286
+ Enabled: True
287
+
288
+ Layout/EmptyLinesAroundAccessModifier:
289
+ Enabled: True
290
+
291
+ Style/EmptyLiteral:
292
+ Enabled: True
293
+
294
+ # Configuration parameters: AllowURI, URISchemes.
295
+ Metrics/LineLength:
296
+ Enabled: False
297
+
298
+ Style/MethodCallWithoutArgsParentheses:
299
+ Enabled: True
300
+
301
+ Style/MethodDefParentheses:
302
+ Enabled: True
303
+
304
+ Style/LineEndConcatenation:
305
+ Enabled: True
306
+
307
+ Layout/TrailingWhitespace:
308
+ Enabled: True
309
+
310
+ Style/StringLiterals:
311
+ Enabled: True
312
+
313
+ Style/TrailingCommaInArguments:
314
+ Enabled: True
315
+
316
+ Style/TrailingCommaInLiteral:
317
+ Enabled: True
318
+
319
+ Style/GlobalVars:
320
+ Enabled: True
321
+
322
+ Style/GuardClause:
323
+ Enabled: True
324
+
325
+ Style/IfUnlessModifier:
326
+ Enabled: True
327
+
328
+ Style/MultilineIfThen:
329
+ Enabled: True
330
+
331
+ Style/NegatedIf:
332
+ Enabled: True
333
+
334
+ Style/NegatedWhile:
335
+ Enabled: True
336
+
337
+ Style/Next:
338
+ Enabled: True
339
+
340
+ Style/SingleLineBlockParams:
341
+ Enabled: True
342
+
343
+ Style/SingleLineMethods:
344
+ Enabled: True
345
+
346
+ Style/SpecialGlobalVars:
347
+ Enabled: True
348
+
349
+ Style/TrivialAccessors:
350
+ Enabled: True
351
+
352
+ Style/UnlessElse:
353
+ Enabled: True
354
+
355
+ Style/VariableInterpolation:
356
+ Enabled: True
357
+
358
+ Naming/VariableName:
359
+ Enabled: True
360
+
361
+ Style/WhileUntilDo:
362
+ Enabled: True
363
+
364
+ Style/EvenOdd:
365
+ Enabled: True
366
+
367
+ Naming/FileName:
368
+ Enabled: True
369
+
370
+ Style/For:
371
+ Enabled: True
372
+
373
+ Style/Lambda:
374
+ Enabled: True
375
+
376
+ Naming/MethodName:
377
+ Enabled: True
378
+
379
+ Style/MultilineTernaryOperator:
380
+ Enabled: True
381
+
382
+ Style/NestedTernaryOperator:
383
+ Enabled: True
384
+
385
+ Style/NilComparison:
386
+ Enabled: True
387
+
388
+ Style/FormatString:
389
+ Enabled: True
390
+
391
+ Style/MultilineBlockChain:
392
+ Enabled: True
393
+
394
+ Style/Semicolon:
395
+ Enabled: True
396
+
397
+ Style/SignalException:
398
+ Enabled: True
399
+
400
+ Style/NonNilCheck:
401
+ Enabled: True
402
+
403
+ Style/Not:
404
+ Enabled: True
405
+
406
+ Style/NumericLiterals:
407
+ Enabled: True
408
+
409
+ Style/OneLineConditional:
410
+ Enabled: True
411
+
412
+ Naming/BinaryOperatorParameterName:
413
+ Enabled: True
414
+
415
+ Style/ParenthesesAroundCondition:
416
+ Enabled: True
417
+
418
+ Style/PercentLiteralDelimiters:
419
+ Enabled: True
420
+
421
+ Style/PerlBackrefs:
422
+ Enabled: True
423
+
424
+ Naming/PredicateName:
425
+ Enabled: True
426
+
427
+ Style/RedundantException:
428
+ Enabled: True
429
+
430
+ Style/SelfAssignment:
431
+ Enabled: True
432
+
433
+ Style/Proc:
434
+ Enabled: True
435
+
436
+ Style/RaiseArgs:
437
+ Enabled: True
438
+
439
+ Style/RedundantBegin:
440
+ Enabled: True
441
+
442
+ Style/RescueModifier:
443
+ Enabled: True
444
+
445
+ # based on https://github.com/voxpupuli/modulesync_config/issues/168
446
+ Style/RegexpLiteral:
447
+ EnforcedStyle: percent_r
448
+ Enabled: True
449
+
450
+ Lint/UnderscorePrefixedVariableName:
451
+ Enabled: True
452
+
453
+ Metrics/ParameterLists:
454
+ Enabled: False
455
+
456
+ Lint/RequireParentheses:
457
+ Enabled: True
458
+
459
+ Style/ModuleFunction:
460
+ Enabled: True
461
+
462
+ Lint/Debugger:
463
+ Enabled: True
464
+
465
+ Style/IfWithSemicolon:
466
+ Enabled: True
467
+
468
+ Style/Encoding:
469
+ Enabled: True
470
+
471
+ Style/BlockDelimiters:
472
+ Enabled: True
473
+
474
+ Layout/MultilineBlockLayout:
475
+ Enabled: True
476
+
477
+ # 'Complexity' is very relative
478
+ Metrics/AbcSize:
479
+ Enabled: False
480
+
481
+ # 'Complexity' is very relative
482
+ Metrics/PerceivedComplexity:
483
+ Enabled: False
484
+
485
+ Lint/UselessAssignment:
486
+ Enabled: True
487
+
488
+ Layout/ClosingParenthesisIndentation:
489
+ Enabled: True
data/.travis.yml ADDED
@@ -0,0 +1,27 @@
1
+ ---
2
+ sudo: false
3
+ language: ruby
4
+ cache: bundler
5
+ dist: trusty
6
+ script: 'bundle exec rake test'
7
+ rvm:
8
+ - 2.4.6
9
+ notifications:
10
+ email: false
11
+ irc:
12
+ on_success: always
13
+ on_failure: always
14
+ channels:
15
+ - "chat.freenode.org#voxpupuli-notifications"
16
+ branches:
17
+ only:
18
+ - master
19
+ - /^v\d/
20
+ deploy:
21
+ provider: rubygems
22
+ api_key:
23
+ secure: 'kGpuGiJSgWXwKoLXXCy7JPBEbDhumaLxQiAn7H74tAN5qYZHE9kVP1aIOet1z5utLLKSu+97ZxH0s/ZL9DoSk/S2ENapIsnsZBPu+nnaN9xW/zWsF/h1xVxbaPhE5QJOqNH8fbIq4HwNoEAgzf/uPK29e75qgChNZyDaaQRTLF1ZFdyLvryEAq9ezEV0GVvIYG4pLxykimKIaR6DOv/4YhtpoFOPADlEIv38r4gqfnPEZm7gXq3yoSLGxDmKzs0NvzAlL2OKwurVArAt042G/y5ZtSe1hP+oJGKFZ/fcL4rcMcU3YTl9sgb12R9q2iCC1MPftZLv4qIC8NrcDUkQ/IxEFMzaJs6KQNIHiFYClS1HL9zYlRH/Aek6wq+N2J2e7SCRvf9TAQb1BmV6vNsDcnAfVaUw6On6E0BIM8boUow1e4sTYSX2bdqO2tWq6PN/eWAXsTfCGNNyec9zPEXDOeiWnQ/x21AcPV7X0ESNhjNQQmmsq/owuBrlrpei9r6moY3IoMCt3JRdzyaMfFia6KuZqvQamd29rK0tqxY/PiCy+QtkxAnH7yAgDCykCGagUn7NrJdmTdc4MXvfJIi3EF2laiQebOn9V85WKIWmjwZkjgBnGWGFHEf9Df8WHyAElp9cghmXZSI/ZeaM6lhn/AnSrdOfyTuSaUQwkCSRAG8='
24
+ gem: hiera-eyaml-gpg
25
+ on:
26
+ tags: true
27
+ repo: voxpupuli/hiera-eyaml-gpg
data/CHANGELOG.md ADDED
@@ -0,0 +1,88 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [v0.7.1](https://github.com/voxpupuli/hiera-eyaml-gpg/tree/v0.7.1) (2019-04-24)
6
+
7
+ [Full Changelog](https://github.com/voxpupuli/hiera-eyaml-gpg/compare/v0.7.0...v0.7.1)
8
+
9
+ **Merged pull requests:**
10
+
11
+ - Use correct travis-ci.com secret [\#61](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/61) ([alexjfisher](https://github.com/alexjfisher))
12
+
13
+ ## [v0.7.0](https://github.com/voxpupuli/hiera-eyaml-gpg/tree/v0.7.0) (2019-04-24)
14
+
15
+ [Full Changelog](https://github.com/voxpupuli/hiera-eyaml-gpg/compare/vp_migration...v0.7.0)
16
+
17
+ This is the first release of `hiera-eyaml-gpg` since the project was migrated to [Vox Pupuli](https://voxpupuli.org/). We're pleased to announce that this project should now work with Puppet 6 (jruby 9k puppetserver). Special thanks to [seanmil](https://github.com/seanmil) for his work on this.
18
+
19
+ From this point onwards, all releases made to rubygems will have corresponding tags in the github project and a changelog will be maintained with [GitHub Changelog Generator](https://github.com/github-changelog-generator/github-changelog-generator). The project will use [semantic versioning](https://semver.org/).
20
+
21
+ **Implemented enhancements:**
22
+
23
+ - Expose plugin version [\#58](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/58) ([alexjfisher](https://github.com/alexjfisher))
24
+ - Use Puppet::Util::Execution for RubyGpg [\#48](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/48) ([seanmil](https://github.com/seanmil))
25
+ - Allow gnupghome to be set from an environment variable [\#46](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/46) ([seanmil](https://github.com/seanmil))
26
+
27
+ **Fixed bugs:**
28
+
29
+ - blank lines in a recipients file results in the first key in the being used to encrypt the secrets [\#37](https://github.com/voxpupuli/hiera-eyaml-gpg/issues/37)
30
+ - Fix `uninitialized constant Puppet \(NameError\)` [\#55](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/55) ([alexjfisher](https://github.com/alexjfisher))
31
+ - Make the list of keys to encrypt with accurate [\#38](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/38) ([grahamhar](https://github.com/grahamhar))
32
+
33
+ **Merged pull requests:**
34
+
35
+ - Refactoring and fixing of remaining rubocop violations [\#57](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/57) ([alexjfisher](https://github.com/alexjfisher))
36
+ - Fix `\<module:Encryptors\>: Gpg is not a class \(TypeError\)` [\#56](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/56) ([alexjfisher](https://github.com/alexjfisher))
37
+ - Document installation of gems on puppetserver [\#53](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/53) ([ghoneycutt](https://github.com/ghoneycutt))
38
+ - Document usage with Hiera 5 [\#51](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/51) ([ghoneycutt](https://github.com/ghoneycutt))
39
+ - Document which versions of Puppet this should work with [\#50](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/50) ([ghoneycutt](https://github.com/ghoneycutt))
40
+
41
+ ## v0.6 (2015-09-10)
42
+
43
+ **Implemented enhancements:**
44
+
45
+ - Improve GPG home handling [\#30](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/30) ([sihil](https://github.com/sihil))
46
+ - Add support for comments in hiera-eyaml-gpg.recipients file [\#29](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/29) ([tampakrap](https://github.com/tampakrap))
47
+
48
+ **Fixed bugs:**
49
+
50
+ - Add missing curly brace. [\#31](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/31) ([danny-cheung](https://github.com/danny-cheung))
51
+
52
+ ## v0.5 (2015-03-21)
53
+
54
+ **Implemented enhancements:**
55
+
56
+ - Adapt code for Puppetserver [\#24](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/24) ([raphink](https://github.com/raphink))
57
+ - Set GPG home directory without an environment variable [\#19](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/19) ([mattbostock](https://github.com/mattbostock))
58
+
59
+ **Closed issues:**
60
+
61
+ - Support for puppetserver \(jruby\) [\#23](https://github.com/voxpupuli/hiera-eyaml-gpg/issues/23)
62
+
63
+ ## [v0.4](https://github.com/voxpupuli/hiera-eyaml-gpg/tree/v0.4) (2013-11-26)
64
+
65
+ [Full Changelog](https://github.com/voxpupuli/hiera-eyaml-gpg/compare/v0.3...v0.4)
66
+
67
+ **Closed issues:**
68
+
69
+ - Encryption should fail if don't have hiera-gpg key on my keyring [\#7](https://github.com/voxpupuli/hiera-eyaml-gpg/issues/7)
70
+
71
+ **Merged pull requests:**
72
+
73
+ - \[FIX\] keys map not being set correctly [\#9](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/9) ([rooprob](https://github.com/rooprob))
74
+
75
+ ## [v0.3](https://github.com/voxpupuli/hiera-eyaml-gpg/tree/v0.3) (2013-11-22)
76
+
77
+ [Full Changelog](https://github.com/voxpupuli/hiera-eyaml-gpg/compare/709b12bcd637a18672847946c410701d32096e0c...v0.3)
78
+
79
+ **Implemented enhancements:**
80
+
81
+ - Use gpg-agent when using the edit option [\#2](https://github.com/voxpupuli/hiera-eyaml-gpg/issues/2)
82
+
83
+ **Merged pull requests:**
84
+
85
+ - Fix typo. [\#5](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/5) ([javins](https://github.com/javins))
86
+
87
+
88
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/Gemfile CHANGED
@@ -1,7 +1,8 @@
1
- source 'https://rubygems.org/'
1
+ source ENV['GEM_SOURCE'] || 'https://rubygems.org'
2
2
 
3
- gem 'hiera-eyaml', ">=1.3.8"
3
+ gemspec
4
4
 
5
5
  group :development do
6
- gem "aruba"
6
+ gem 'github_changelog_generator', require: false, git: 'https://github.com/github-changelog-generator/github-changelog-generator'
7
+ gem 'rubocop', '~> 0.50.0'
7
8
  end
data/HISTORY.md ADDED
@@ -0,0 +1,45 @@
1
+ ## v0.6 (2015-09-10)
2
+
3
+ **Implemented enhancements:**
4
+
5
+ - Improve GPG home handling [\#30](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/30) ([sihil](https://github.com/sihil))
6
+ - Add support for comments in hiera-eyaml-gpg.recipients file [\#29](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/29) ([tampakrap](https://github.com/tampakrap))
7
+
8
+ **Fixed bugs:**
9
+
10
+ - Add missing curly brace. [\#31](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/31) ([danny-cheung](https://github.com/danny-cheung))
11
+
12
+ ## v0.5 (2015-03-21)
13
+
14
+ **Implemented enhancements:**
15
+
16
+ - Adapt code for Puppetserver [\#24](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/24) ([raphink](https://github.com/raphink))
17
+ - Set GPG home directory without an environment variable [\#19](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/19) ([mattbostock](https://github.com/mattbostock))
18
+
19
+ **Closed issues:**
20
+
21
+ - Support for puppetserver \(jruby\) [\#23](https://github.com/voxpupuli/hiera-eyaml-gpg/issues/23)
22
+
23
+ ## [v0.4](https://github.com/voxpupuli/hiera-eyaml-gpg/tree/v0.4) (2013-11-26)
24
+
25
+ [Full Changelog](https://github.com/voxpupuli/hiera-eyaml-gpg/compare/v0.3...v0.4)
26
+
27
+ **Closed issues:**
28
+
29
+ - Encryption should fail if don't have hiera-gpg key on my keyring [\#7](https://github.com/voxpupuli/hiera-eyaml-gpg/issues/7)
30
+
31
+ **Merged pull requests:**
32
+
33
+ - \[FIX\] keys map not being set correctly [\#9](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/9) ([rooprob](https://github.com/rooprob))
34
+
35
+ ## [v0.3](https://github.com/voxpupuli/hiera-eyaml-gpg/tree/v0.3) (2013-11-22)
36
+
37
+ [Full Changelog](https://github.com/voxpupuli/hiera-eyaml-gpg/compare/709b12bcd637a18672847946c410701d32096e0c...v0.3)
38
+
39
+ **Implemented enhancements:**
40
+
41
+ - Use gpg-agent when using the edit option [\#2](https://github.com/voxpupuli/hiera-eyaml-gpg/issues/2)
42
+
43
+ **Merged pull requests:**
44
+
45
+ - Fix typo. [\#5](https://github.com/voxpupuli/hiera-eyaml-gpg/pull/5) ([javins](https://github.com/javins))
data/README.md CHANGED
@@ -1,7 +1,10 @@
1
1
  hiera-eyaml-gpg
2
2
  ===============
3
3
 
4
- GPG encryption backend for the [hiera-eyaml](https://github.com/TomPoulton/hiera-eyaml) module.
4
+ [![Gem Version](https://img.shields.io/gem/v/hiera-eyaml-gpg.svg)](https://rubygems.org/gems/hiera-eyaml-gpg)
5
+ [![Gem Downloads](https://img.shields.io/gem/dt/hiera-eyaml-gpg.svg)](https://rubygems.org/gems/hiera-eyaml-gpg)
6
+
7
+ GPG encryption backend for the [hiera-eyaml](https://github.com/voxpupuli/hiera-eyaml) module.
5
8
 
6
9
  Motivation
7
10
  ----------
@@ -37,11 +40,26 @@ Note: you will need to use `ruby_gpg` with the Puppet server as it uses JRuby wh
37
40
  make use of native extensions such as `gpgme`.
38
41
 
39
42
  If you haven't already installed it, this requires and will install the hiera-eyaml gem, which you
40
- should probably acquint yourself with at https://github.com/TomPoulton/hiera-eyaml.
43
+ should probably acquaint yourself with at https://github.com/TomPoulton/hiera-eyaml.
41
44
 
42
45
  Note that in order to install the gpgme gem you'll need to have the ruby development package installed
43
46
  for your distribution.
44
47
 
48
+ For use on puppetserver
49
+ ---
50
+
51
+ As root
52
+
53
+ ```sh
54
+ /opt/puppetlabs/puppet/bin/gem install hiera-eyaml-gpg ruby_gpg
55
+ /opt/puppetlabs/server/bin/puppetserver gem install hiera-eyaml-gpg ruby_gpg
56
+ ```
57
+
58
+ Puppet versions
59
+ ---------------
60
+
61
+ This project supports Puppet 5.5.8 and later.
62
+
45
63
  How to use
46
64
  ----------
47
65
 
@@ -68,16 +86,52 @@ Use `eyaml --help` for more details or look at the hiera-eyaml docs.
68
86
 
69
87
  ### Configuring hiera
70
88
 
71
- Assuming you have a working `hiera` and `hiera-eyaml` then the only option you need to add is to
72
- configure `:gpg_gnupghome:` in your hiera.yaml (under the `:eyaml:` section). This should be the
73
- directory that contains the keyring etc for the user that can to decrypt the hiera data. Please note
74
- that the private GPG key must not have a passphrase.
89
+ This assumes you have a working `hiera` and `hiera-eyaml`. Please note that the private GPG key must not
90
+ have a passphrase.
91
+
92
+ Each level of the hierarchy must specify the `gpg_gnupghome` option with the path to the keyring as well
93
+ as specifying `lookup_key` with the value `eyaml_lookup_key`. The following example shows a simple hierarchy.
94
+
95
+ ```yaml
96
+ ---
97
+ version: 5
98
+ defaults:
99
+ hierarchy:
100
+ - name: "Per-node data (yaml version)"
101
+ lookup_key: eyaml_lookup_key
102
+ options:
103
+ gpg_gnupghome: /opt/puppetlabs/server/data/puppetserver/.gnupg
104
+ path: "nodes/%{::trusted.certname}.yaml"
105
+ - name: "Role data"
106
+ lookup_key: eyaml_lookup_key
107
+ options:
108
+ gpg_gnupghome: /opt/puppetlabs/server/data/puppetserver/.gnupg
109
+ paths:
110
+ - "role/%{facts.role}.yaml"
111
+ - name: "Per platform data"
112
+ lookup_key: eyaml_lookup_key
113
+ options:
114
+ gpg_gnupghome: /opt/puppetlabs/server/data/puppetserver/.gnupg
115
+ paths:
116
+ - "kernel/%{::kernel}.yaml"
117
+ - "osfamily/%{::osfamily}.yaml"
118
+ - "osfamily/%{::osfamily}-%{::operatingsystemmajrelease}.yaml"
119
+ - name: "Default"
120
+ lookup_key: eyaml_lookup_key
121
+ options:
122
+ gpg_gnupghome: /opt/puppetlabs/server/data/puppetserver/.gnupg
123
+ paths:
124
+ - "common.yaml"
125
+ ```
126
+
127
+ For command line uses such as `puppet lookup` where the `gpg_gnupghome` setting in the `hiera.yaml`
128
+ configuration does not match a directory the user has access to, you can override the `gpg_gnupghome`
129
+ setting by setting the path in the environment variable `HIERA_EYAML_GPG_GNUPGHOME` and, if set, that
130
+ will be used instead of `gpg_gnupghome`.
131
+
132
+ $ HIERA_EYAML_GPG_GNUPGHOME=~/.gnupg puppet lookup my_key
75
133
 
76
134
  Authors
77
135
  -------
78
136
 
79
- - Simon Hildrew - Initial code
80
- - Geoff Meakins - Created hiera-eyaml plugin framework that made this possible
81
-
82
- ### Contributors
83
- - Walt Javins - Bug fixes
137
+ Thanks to Simon Hildrew for the inital code. Other contributors can be seen at [https://github.com/voxpupuli/hiera-eyaml-gpg/graphs/contributors](https://github.com/voxpupuli/hiera-eyaml-gpg/graphs/contributors)
data/Rakefile CHANGED
@@ -1 +1,20 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
+ require 'rubocop/rake_task'
3
+ require 'github_changelog_generator/task'
4
+
5
+ desc 'Run RuboCop on the lib directory'
6
+ RuboCop::RakeTask.new(:rubocop) do |task|
7
+ task.patterns = ['lib/**/*.rb']
8
+ end
9
+
10
+ task test: %w[clean rubocop]
11
+
12
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
13
+ version = Hiera::Backend::Eyaml::Encryptors::GpgVersion::VERSION
14
+ config.future_release = "v#{version}" if version =~ %r{^\d+\.\d+.\d+$}
15
+ config.header = "# Changelog\n\nAll notable changes to this project will be documented in this file."
16
+ config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog]
17
+ config.user = 'voxpupuli'
18
+ config.project = 'hiera-eyaml-gpg'
19
+ config.since_tag = 'vp_migration'
20
+ end
@@ -1,21 +1,21 @@
1
- # -*- encoding: utf-8 -*-
2
1
  lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'hiera/backend/eyaml/encryptors/gpg/version'
5
4
 
6
5
  Gem::Specification.new do |gem|
7
- gem.name = "hiera-eyaml-gpg"
8
- gem.version = Hiera::Backend::Eyaml::Encryptors::Gpg::VERSION
9
- gem.description = "GPG encryptor for use with hiera-eyaml"
10
- gem.summary = "Encryption plugin for hiera-eyaml backend for Hiera"
11
- gem.author = "Simon Hildrew"
12
- gem.license = "MIT"
6
+ gem.name = 'hiera-eyaml-gpg'
7
+ gem.version = Hiera::Backend::Eyaml::Encryptors::GpgVersion::VERSION
8
+ gem.description = 'GPG encryptor for use with hiera-eyaml'
9
+ gem.summary = 'Encryption plugin for hiera-eyaml backend for Hiera'
10
+ gem.author = 'Simon Hildrew'
11
+ gem.license = 'MIT'
13
12
 
14
- gem.homepage = "http://github.com/sihil/hiera-eyaml-gpg"
15
- gem.files = `git ls-files`.split($/)
16
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.homepage = 'http://github.com/sihil/hiera-eyaml-gpg'
14
+ gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
15
+ gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
17
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
- gem.require_paths = ["lib"]
17
+ gem.require_paths = ['lib']
19
18
 
20
19
  gem.add_dependency('hiera-eyaml', '>=1.3.8')
20
+ gem.add_dependency('puppet', '>=5.5.8')
21
21
  end
@@ -4,8 +4,9 @@ rescue LoadError
4
4
  begin
5
5
  require 'ruby_gpg'
6
6
  rescue LoadError
7
- fail "hiera-eyaml-gpg requires either the 'gpgme' or 'ruby_gpg' gem"
7
+ raise "hiera-eyaml-gpg requires either the 'gpgme' or 'ruby_gpg' gem"
8
8
  end
9
+ require 'hiera/backend/eyaml/encryptors/gpg/puppet_gpg'
9
10
  end
10
11
 
11
12
  require 'base64'
@@ -18,51 +19,52 @@ class Hiera
18
19
  module Backend
19
20
  module Eyaml
20
21
  module Encryptors
21
-
22
22
  class Gpg < Encryptor
23
-
24
- self.tag = "GPG"
23
+ VERSION = Hiera::Backend::Eyaml::Encryptors::GpgVersion::VERSION
24
+ self.tag = 'GPG'
25
25
 
26
26
  self.options = {
27
- :gnupghome => { :desc => "Location of your GNUPGHOME directory",
28
- :type => :string,
29
- :default => "#{["HOME", "HOMEPATH"].reject { |h| ENV[h].nil? }.map { |h| ENV[h]+"/.gnupg" }.first || ""}"},
30
- :always_trust => { :desc => "Assume that used keys are fully trusted",
31
- :type => :boolean,
32
- :default => false },
33
- :recipients => { :desc => "List of recipients (comma separated)",
34
- :type => :string },
35
- :recipients_file => { :desc => "File containing a list of recipients (one on each line)",
36
- :type => :string }
27
+ gnupghome: { desc: 'Location of your GNUPGHOME directory',
28
+ type: :string,
29
+ default: (%w[HOME HOMEPATH].reject { |h| ENV[h].nil? }.map { |h| ENV[h] + '/.gnupg' }.first || '').to_s },
30
+ always_trust: { desc: 'Assume that used keys are fully trusted',
31
+ type: :boolean,
32
+ default: false },
33
+ recipients: { desc: 'List of recipients (comma separated)',
34
+ type: :string },
35
+ recipients_file: { desc: 'File containing a list of recipients (one on each line)',
36
+ type: :string }
37
37
  }
38
38
 
39
- @@passphrase_cache = Hash.new
39
+ @passphrase_cache = {}
40
40
 
41
- def self.passfunc(hook, uid_hint, passphrase_info, prev_was_bad, fd)
42
- begin
43
- system('stty -echo')
41
+ def self.passfunc(_hook, uid_hint, _passphrase_info, _prev_was_bad, fd)
42
+ system('stty -echo')
44
43
 
45
- unless @@passphrase_cache.has_key?(uid_hint)
46
- @@passphrase_cache[uid_hint] = ask("Enter passphrase for #{uid_hint}: ") { |q| q.echo = '' }
47
- $stderr.puts
48
- end
49
- passphrase = @@passphrase_cache[uid_hint]
50
-
51
- io = IO.for_fd(fd, 'w')
52
- io.puts(passphrase)
53
- io.flush
54
- ensure
55
- (0 ... $_.length).each do |i| $_[i] = ?0 end if $_
56
- system('stty echo')
57
- end
44
+ unless @passphrase_cache.key?(uid_hint)
45
+ @passphrase_cache[uid_hint] = ask("Enter passphrase for #{uid_hint}: ") { |q| q.echo = '' }
46
+ $stderr.puts
47
+ end
48
+ passphrase = @passphrase_cache[uid_hint]
49
+
50
+ io = IO.for_fd(fd, 'w')
51
+ io.puts(passphrase)
52
+ io.flush
53
+ ensure
54
+ (0...$LAST_READ_LINE.length).each { |i| $LAST_READ_LINE[i] = '0' } if $LAST_READ_LINE
55
+ system('stty echo')
58
56
  end
59
57
 
60
58
  def self.gnupghome
61
- gnupghome = self.option :gnupghome
59
+ gnupghome = if ENV['HIERA_EYAML_GPG_GNUPGHOME'].nil?
60
+ option :gnupghome
61
+ else
62
+ ENV['HIERA_EYAML_GPG_GNUPGHOME']
63
+ end
62
64
  debug("GNUPGHOME is #{gnupghome}")
63
65
  if gnupghome.nil? || gnupghome.empty?
64
- warn("No GPG home directory configured, check gpg_gnupghome configuration value is correct")
65
- raise ArgumentError, "No GPG home directory configured, check gpg_gnupghome configuration value is correct"
66
+ warn('No GPG home directory configured, check gpg_gnupghome configuration value is correct')
67
+ raise ArgumentError, 'No GPG home directory configured, check gpg_gnupghome configuration value is correct'
66
68
  elsif !File.directory?(gnupghome)
67
69
  warn("Configured GPG home directory #{gnupghome} doesn't exist, check gpg_gnupghome configuration value is correct")
68
70
  raise ArgumentError, "Configured GPG home directory #{gnupghome} doesn't exist, check gpg_gnupghome configuration value is correct"
@@ -71,76 +73,30 @@ class Hiera
71
73
  end
72
74
  end
73
75
 
74
- def self.find_recipients
75
- recipient_option = self.option :recipients
76
- recipients = if !recipient_option.nil?
77
- debug("Using --recipients option")
78
- recipient_option.split(",")
79
- else
80
- recipient_file_option = self.option :recipients_file
81
- recipient_file = if !recipient_file_option.nil?
82
- debug("Using --recipients-file option")
83
- Pathname.new(recipient_file_option)
84
- else
85
- debug("Searching for any hiera-eyaml-gpg.recipients files in path")
86
- # if we are editing a file, look for a hiera-eyaml-gpg.recipients file
87
- filename = case Eyaml::Options[:source]
88
- when :file
89
- Eyaml::Options[:file]
90
- when :eyaml
91
- Eyaml::Options[:eyaml]
92
- else
93
- nil
94
- end
95
-
96
- if filename.nil?
97
- nil
98
- else
99
- path = Pathname.new(filename).realpath.dirname
100
- selected_file = nil
101
- path.descend{|path| path
102
- potential_file = path.join('hiera-eyaml-gpg.recipients')
103
- selected_file = potential_file if potential_file.exist?
104
- }
105
- debug("Using file at #{selected_file}")
106
- selected_file
107
- end
108
- end
109
-
110
- unless recipient_file.nil?
111
- recipient_file.readlines.map{ |line|
112
- line.strip unless line.start_with? '#' or line.strip.empty?
113
- }.compact
114
- else
115
- []
116
- end
117
- end
118
- end
119
-
120
- def self.encrypt plaintext
76
+ def self.encrypt(plaintext)
121
77
  unless defined?(GPGME)
122
78
  raise RecoverableError, "Encryption is only supported when using the 'gpgme' gem"
123
79
  end
124
80
 
125
- GPGME::Engine.home_dir = self.gnupghome
81
+ GPGME::Engine.home_dir = gnupghome
126
82
 
127
83
  ctx = GPGME::Ctx.new
128
84
 
129
- recipients = self.find_recipients
85
+ recipients = find_recipients
130
86
  debug("Recipents are #{recipients}")
131
87
 
132
88
  raise RecoverableError, 'No recipients provided, don\'t know who to encrypt to' if recipients.empty?
133
89
 
134
- keys = recipients.map {|r|
90
+ keys = recipients.map do |r|
135
91
  key_to_use = ctx.keys(r).first
136
92
  if key_to_use.nil?
137
93
  raise RecoverableError, "No key found on keyring for #{r}"
138
94
  end
139
95
  key_to_use
140
- }
96
+ end
141
97
  debug("Keys: #{keys}")
142
98
 
143
- always_trust = self.option(:always_trust)
99
+ always_trust = option(:always_trust)
144
100
  unless always_trust
145
101
  # check validity of recipients (this is possibly naive, but better than the unhelpful
146
102
  # error that it would spit out otherwise)
@@ -152,28 +108,29 @@ class Hiera
152
108
  end
153
109
 
154
110
  data = GPGME::Data.from_str(plaintext)
155
- crypto = GPGME::Crypto.new(:always_trust => always_trust)
111
+ crypto = GPGME::Crypto.new(always_trust: always_trust)
156
112
 
157
- ciphertext = crypto.encrypt(data, :recipients => keys)
113
+ ciphertext = crypto.encrypt(data, recipients: keys)
158
114
  ciphertext.seek 0
159
115
  ciphertext.read
160
116
  end
161
117
 
162
- def self.decrypt ciphertext
118
+ def self.decrypt(ciphertext)
163
119
  gnupghome = self.gnupghome
164
120
 
165
121
  unless defined?(GPGME)
166
- RubyGpg.config.homedir = gnupghome if gnupghome
167
- return RubyGpg.decrypt_string(ciphertext)
122
+ gpg = Hiera::Backend::Eyaml::GpgPuppetserver
123
+ gpg.config.homedir = gnupghome if gnupghome
124
+ return gpg.decrypt_string(ciphertext)
168
125
  end
169
126
 
170
127
  GPGME::Engine.home_dir = gnupghome
171
128
 
172
129
  ctx = if hiera?
173
- GPGME::Ctx.new
174
- else
175
- GPGME::Ctx.new(:passphrase_callback => method(:passfunc))
176
- end
130
+ GPGME::Ctx.new
131
+ else
132
+ GPGME::Ctx.new(passphrase_callback: method(:passfunc))
133
+ end
177
134
 
178
135
  if !ctx.keys.empty?
179
136
  raw = GPGME::Data.new(ciphertext)
@@ -182,10 +139,10 @@ class Hiera
182
139
  begin
183
140
  txt = ctx.decrypt(raw)
184
141
  rescue GPGME::Error::DecryptFailed => e
185
- warn("Fatal: Failed to decrypt ciphertext (check settings and that you are a recipient)")
142
+ warn('Fatal: Failed to decrypt ciphertext (check settings and that you are a recipient)')
186
143
  raise e
187
- rescue Exception => e
188
- warn("Warning: General exception decrypting GPG file")
144
+ rescue StandardError => e
145
+ warn('Warning: General exception decrypting GPG file')
189
146
  raise e
190
147
  end
191
148
 
@@ -198,11 +155,58 @@ class Hiera
198
155
  end
199
156
 
200
157
  def self.create_keys
201
- STDERR.puts "The GPG encryptor does not support creation of keys, use the GPG command lines tools instead"
158
+ STDERR.puts 'The GPG encryptor does not support creation of keys, use the GPG command lines tools instead'
202
159
  end
203
160
 
204
- end
161
+ class << self
162
+ private
163
+
164
+ def find_recipients
165
+ recipient_option = option :recipients
166
+
167
+ unless recipient_option.nil?
168
+ debug('Using --recipients option')
169
+ return recipient_option.split(',')
170
+ end
171
+
172
+ recipient_file_option = option :recipients_file
173
+ recipient_file = if recipient_file_option.nil?
174
+ debug('Searching for any hiera-eyaml-gpg.recipients files in path')
175
+ find_recipient_file
176
+ else
177
+ debug('Using --recipients-file option')
178
+ Pathname.new(recipient_file_option)
179
+ end
205
180
 
181
+ return [] if recipient_file.nil?
182
+
183
+ recipient_file.readlines.map do |line|
184
+ line.strip unless line.start_with?('#') || line.strip.empty?
185
+ end.compact
186
+ end
187
+
188
+ def find_recipient_file
189
+ # if we are editing a file, look for a hiera-eyaml-gpg.recipients file
190
+ filename = case Eyaml::Options[:source]
191
+ when :file
192
+ Eyaml::Options[:file]
193
+ when :eyaml
194
+ Eyaml::Options[:eyaml]
195
+ end
196
+
197
+ return if filename.nil?
198
+
199
+ root = Pathname.new(filename).realpath.dirname
200
+ selected_file = nil
201
+ root.descend do |path|
202
+ potential_file = path.join('hiera-eyaml-gpg.recipients')
203
+ selected_file = potential_file if potential_file.exist?
204
+ end
205
+ debug("Using file at #{selected_file}")
206
+ selected_file
207
+ end
208
+ end
209
+ end
206
210
  end
207
211
  end
208
212
  end
@@ -1,3 +1,3 @@
1
1
  require 'hiera/backend/eyaml/encryptors/gpg'
2
2
 
3
- Hiera::Backend::Eyaml::Encryptors::Gpg.register
3
+ Hiera::Backend::Eyaml::Encryptors::Gpg.register
@@ -0,0 +1,30 @@
1
+ require 'puppet'
2
+ require 'puppet/util/execution'
3
+ require 'puppet/file_system/uniquefile'
4
+
5
+ class Hiera
6
+ module Backend
7
+ module Eyaml
8
+ module GpgPuppetserver
9
+ extend RubyGpg
10
+
11
+ def self.run_command(command, input = nil)
12
+ tmpfile = Puppet::FileSystem::Uniquefile.new('puppet-eyaml-hiera-gpg-input', modes: File::WRONLY | File::BINARY)
13
+ tmpfile.write(input)
14
+ tmpfile.close
15
+
16
+ real_command = "#{command} #{tmpfile.path}"
17
+
18
+ output = Puppet::Util::Execution.execute(real_command)
19
+ tmpfile.unlink
20
+
21
+ if output.exitstatus != 0
22
+ raise "GPG command (#{real_command}) failed with status #{output.exitstatus}: '#{output}'"
23
+ end
24
+
25
+ output
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -2,8 +2,8 @@ class Hiera
2
2
  module Backend
3
3
  module Eyaml
4
4
  module Encryptors
5
- module Gpg
6
- VERSION = "0.7.rc1"
5
+ module GpgVersion
6
+ VERSION = '0.7.1'.freeze
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiera-eyaml-gpg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.rc1
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Hildrew
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-01 00:00:00.000000000 Z
11
+ date: 2019-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hiera-eyaml
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.3.8
27
+ - !ruby/object:Gem::Dependency
28
+ name: puppet
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 5.5.8
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 5.5.8
27
41
  description: GPG encryptor for use with hiera-eyaml
28
42
  email:
29
43
  executables: []
@@ -31,13 +45,18 @@ extensions: []
31
45
  extra_rdoc_files: []
32
46
  files:
33
47
  - ".gitignore"
48
+ - ".rubocop.yml"
49
+ - ".travis.yml"
50
+ - CHANGELOG.md
34
51
  - Gemfile
52
+ - HISTORY.md
35
53
  - LICENSE
36
54
  - README.md
37
55
  - Rakefile
38
56
  - hiera-eyaml-gpg.gemspec
39
57
  - lib/hiera/backend/eyaml/encryptors/gpg.rb
40
58
  - lib/hiera/backend/eyaml/encryptors/gpg/eyaml_init.rb
59
+ - lib/hiera/backend/eyaml/encryptors/gpg/puppet_gpg.rb
41
60
  - lib/hiera/backend/eyaml/encryptors/gpg/version.rb
42
61
  - tools/regem.sh
43
62
  homepage: http://github.com/sihil/hiera-eyaml-gpg
@@ -55,12 +74,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
55
74
  version: '0'
56
75
  required_rubygems_version: !ruby/object:Gem::Requirement
57
76
  requirements:
58
- - - ">"
77
+ - - ">="
59
78
  - !ruby/object:Gem::Version
60
- version: 1.3.1
79
+ version: '0'
61
80
  requirements: []
62
81
  rubyforge_project:
63
- rubygems_version: 2.2.2
82
+ rubygems_version: 2.6.14.4
64
83
  signing_key:
65
84
  specification_version: 4
66
85
  summary: Encryption plugin for hiera-eyaml backend for Hiera