hiera-eyaml 2.0.3 → 2.0.4
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.
- data/CHANGES.md +16 -0
- data/README.md +10 -2
- data/bin/eyaml +15 -2
- data/lib/hiera/backend/eyaml.rb +1 -2
- data/lib/hiera/backend/eyaml/CLI.rb +2 -2
- data/lib/hiera/backend/eyaml/encryptor.rb +4 -0
- data/lib/hiera/backend/eyaml/encryptors/pkcs7.rb +1 -1
- data/lib/hiera/backend/eyaml/options.rb +9 -5
- data/lib/hiera/backend/eyaml/subcommand.rb +18 -8
- data/lib/hiera/backend/eyaml/subcommands/edit.rb +44 -5
- data/lib/hiera/backend/eyaml/subcommands/version.rb +3 -7
- data/lib/hiera/backend/eyaml/utils.rb +59 -20
- data/tools/regem.sh +1 -1
- metadata +53 -44
- checksums.yaml +0 -7
data/CHANGES.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
Change log for hiera-eyaml
|
2
|
+
==========================
|
3
|
+
|
4
|
+
2.04
|
5
|
+
----
|
6
|
+
|
7
|
+
- Add change log
|
8
|
+
- #118 - Some initial support for spaces in filenames (primarily targeted at windows platforms) (@elyscape)
|
9
|
+
- #114 - Add new config file resolution so that a system wide /etc/eyaml/config.yaml is processed first (@gtmtech)
|
10
|
+
- #112 - Improve debugging options and colorise output (@gtmtech)
|
11
|
+
- #102 - Extension of temp files should be yaml to help editors provide syntax highlighting (@ColinHebert)
|
12
|
+
- #90, #121, #122 - Add preamble in edit mode to make it easier to remember how to edit (@sihil)
|
13
|
+
- #96, #111, #116 - Various updates to docs
|
14
|
+
|
15
|
+
2.03
|
16
|
+
----
|
data/README.md
CHANGED
@@ -59,6 +59,10 @@ Setup
|
|
59
59
|
|
60
60
|
$ gem install hiera-eyaml
|
61
61
|
|
62
|
+
### Installing hiera-eyaml for the new [puppet-server](https://github.com/puppetlabs/puppet-server)
|
63
|
+
|
64
|
+
$ puppetserver gem install hiera-eyaml
|
65
|
+
|
62
66
|
### Generate keys
|
63
67
|
|
64
68
|
The first step is to create a pair of keys:
|
@@ -234,7 +238,7 @@ Configuration file for eyaml
|
|
234
238
|
|
235
239
|
Default parameters for the eyaml command line tool can be provided by creating a configuration YAML file.
|
236
240
|
|
237
|
-
|
241
|
+
Config files will be read first from `/etc/eyaml/config.yaml`, then from `~/.eyaml/config.yaml` and finally by anything referenced in the `EYAML_CONFIG` environment variable
|
238
242
|
|
239
243
|
The file takes any long form argument that you can provide on the command line. For example, to override the pkcs7 keys:
|
240
244
|
```yaml
|
@@ -271,9 +275,12 @@ When editing eyaml files, you will see that the unencrypted plaintext is marked
|
|
271
275
|
This is a list of available plugins:
|
272
276
|
|
273
277
|
- [hiera-eyaml-gpg](https://github.com/sihil/hiera-eyaml-gpg) - Provide GPG encryption
|
274
|
-
- [hiera-eyaml-plaintext](https://github.com/
|
278
|
+
- [hiera-eyaml-plaintext](https://github.com/gtmtechltd/hiera-eyaml-plaintext) - This is a no-op encryption plugin that
|
275
279
|
simply base64 encodes the values. It exists as an example plugin to create your own and to do integration tests on
|
276
280
|
hiera-eyaml. **THIS SHOULD NOT BE USED IN PRODUCTION**
|
281
|
+
- [hiera-eyaml-twofac](https://github.com/gtmtechltd/hiera-eyaml-twofac) - PKCS7 keypair + AES256 symmetric password for two-factor encryption
|
282
|
+
Note that this plugin mandates the user enter a password. It is useful for non-automated scenarios, and is not advised to be used
|
283
|
+
in conjunction with puppet, as it requires entry of a password over a terminal.
|
277
284
|
|
278
285
|
|
279
286
|
Notes
|
@@ -322,6 +329,7 @@ You'll need to have a few requirements installed:
|
|
322
329
|
* `aruba` (gem)
|
323
330
|
* `cucumber` (gem)
|
324
331
|
* `puppet` (gem)
|
332
|
+
* `hiera-eyaml-plaintext` (gem)
|
325
333
|
|
326
334
|
|
327
335
|
Authors
|
data/bin/eyaml
CHANGED
@@ -9,5 +9,18 @@ require 'hiera/backend/eyaml/encryptors/pkcs7'
|
|
9
9
|
Hiera::Backend::Eyaml::Encryptors::Pkcs7.register
|
10
10
|
Hiera::Backend::Eyaml::Plugins.find
|
11
11
|
|
12
|
-
|
13
|
-
Hiera::Backend::Eyaml::CLI.
|
12
|
+
begin
|
13
|
+
Hiera::Backend::Eyaml::CLI.parse
|
14
|
+
rescue StandardError => e
|
15
|
+
Hiera::Backend::Eyaml::Utils.warn e.message
|
16
|
+
Hiera::Backend::Eyaml::Utils.debug e.backtrace.join("\n")
|
17
|
+
exit 1
|
18
|
+
end
|
19
|
+
|
20
|
+
begin
|
21
|
+
Hiera::Backend::Eyaml::CLI.execute
|
22
|
+
rescue StandardError => e
|
23
|
+
Hiera::Backend::Eyaml::Utils.warn e.message
|
24
|
+
Hiera::Backend::Eyaml::Utils.debug e.backtrace.join("\n")
|
25
|
+
exit 1
|
26
|
+
end
|
data/lib/hiera/backend/eyaml.rb
CHANGED
@@ -2,7 +2,7 @@ class Hiera
|
|
2
2
|
module Backend
|
3
3
|
module Eyaml
|
4
4
|
|
5
|
-
VERSION = "2.0.
|
5
|
+
VERSION = "2.0.4"
|
6
6
|
DESCRIPTION = "Hiera-eyaml is a backend for Hiera which provides OpenSSL encryption/decryption for Hiera properties"
|
7
7
|
|
8
8
|
class RecoverableError < StandardError
|
@@ -45,4 +45,3 @@ class Hiera
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
48
|
-
|
@@ -34,7 +34,7 @@ class Hiera
|
|
34
34
|
|
35
35
|
options = command_class.validate options
|
36
36
|
Eyaml::Options.set options
|
37
|
-
Eyaml::Options.
|
37
|
+
Eyaml::Options.trace
|
38
38
|
|
39
39
|
end
|
40
40
|
|
@@ -46,7 +46,7 @@ class Hiera
|
|
46
46
|
puts result unless result.nil?
|
47
47
|
rescue Exception => e
|
48
48
|
Utils.warn e.message
|
49
|
-
Utils.
|
49
|
+
Utils.debug e.backtrace.join("\n")
|
50
50
|
end
|
51
51
|
|
52
52
|
end
|
@@ -20,13 +20,17 @@ class Hiera
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
def self.
|
24
|
-
Utils::
|
25
|
-
Utils::
|
23
|
+
def self.trace
|
24
|
+
Utils::trace "Dump of eyaml tool options dict:"
|
25
|
+
Utils::trace "--------------------------------"
|
26
26
|
@@options.each do |k, v|
|
27
|
-
|
27
|
+
begin
|
28
|
+
Utils::trace sprintf "%18s %-18s = %18s %-18s", "(#{k.class.name})", k.to_s, "(#{v.class.name})", v.to_s
|
29
|
+
rescue
|
30
|
+
Utils::trace sprintf "%18s %-18s = %18s %-18s", "(#{k.class.name})", k.to_s, "(#{v.class.name})", "<unprintable>" # case where v is binary
|
31
|
+
end
|
28
32
|
end
|
29
|
-
Utils::
|
33
|
+
Utils::trace "--------------------------------"
|
30
34
|
end
|
31
35
|
|
32
36
|
end
|
@@ -22,6 +22,9 @@ class Hiera
|
|
22
22
|
{:name => :verbose,
|
23
23
|
:description => "Be more verbose",
|
24
24
|
:short => 'v'},
|
25
|
+
{:name => :trace,
|
26
|
+
:description => "Enable trace debug",
|
27
|
+
:short => 't'},
|
25
28
|
{:name => :quiet,
|
26
29
|
:description => "Be less verbose",
|
27
30
|
:short => 'q'},
|
@@ -31,21 +34,24 @@ class Hiera
|
|
31
34
|
]
|
32
35
|
|
33
36
|
def self.load_config_file
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
config = {}
|
38
|
+
[ "/etc/eyaml/config.yaml", "#{ENV['HOME']}/.eyaml/config.yaml", "#{ENV['EYAML_CONFIG']}" ].each do |config_file|
|
39
|
+
begin
|
40
|
+
yaml_contents = YAML.load_file(config_file)
|
41
|
+
Utils::info "Loaded config from #{config_file}"
|
42
|
+
config.merge! yaml_contents
|
43
|
+
rescue
|
44
|
+
raise StandardError, "Could not open config file \"#{config_file}\" for reading"
|
45
|
+
end if config_file and File.file? config_file
|
41
46
|
end
|
47
|
+
config
|
42
48
|
end
|
43
49
|
|
44
50
|
def self.all_options
|
45
51
|
options = @@global_options.dup
|
46
52
|
options += self.options if self.options
|
47
53
|
options += Plugins.options
|
48
|
-
# merge in defaults from configuration
|
54
|
+
# merge in defaults from configuration files
|
49
55
|
config_file = self.load_config_file
|
50
56
|
options.map!{ | opt|
|
51
57
|
key_name = "#{opt[:name]}"
|
@@ -106,6 +112,10 @@ class Hiera
|
|
106
112
|
Hiera::Backend::Eyaml.verbosity_level += 1
|
107
113
|
end
|
108
114
|
|
115
|
+
if options[:trace]
|
116
|
+
Hiera::Backend::Eyaml.verbosity_level += 2
|
117
|
+
end
|
118
|
+
|
109
119
|
if options[:quiet]
|
110
120
|
Hiera::Backend::Eyaml.verbosity_level = 0
|
111
121
|
end
|
@@ -12,7 +12,8 @@ class Hiera
|
|
12
12
|
class Edit < Subcommand
|
13
13
|
|
14
14
|
def self.options
|
15
|
-
[
|
15
|
+
[{ :name => :no_preamble,
|
16
|
+
:description => "Don't prefix edit sessions with the informative preamble" }]
|
16
17
|
end
|
17
18
|
|
18
19
|
def self.description
|
@@ -23,11 +24,46 @@ class Hiera
|
|
23
24
|
"Usage: eyaml edit [options] <some-eyaml-file>"
|
24
25
|
end
|
25
26
|
|
27
|
+
def self.prefix
|
28
|
+
'#|'
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.preamble
|
32
|
+
tags = (["pkcs7"] + Plugins.plugins.collect {|plugin|
|
33
|
+
plugin.name.split("hiera-eyaml-").last
|
34
|
+
}).collect{|name| Encryptor.find(name).tag}
|
35
|
+
|
36
|
+
preamble = <<-eos
|
37
|
+
This is eyaml edit mode. This text (lines starting with #{self.prefix} at the top of the
|
38
|
+
file) will be removed when you save and exit.
|
39
|
+
- To edit encrypted values, change the content of the DEC(<num>)::PKCS7[]!
|
40
|
+
block#{(tags.size>1) ? " (or #{tags.drop(1).collect {|tag| "DEC(<num>)::#{tag}[]!" }.join(' or ')})." : '.' }
|
41
|
+
WARNING: DO NOT change the number in the parentheses.
|
42
|
+
- To add a new encrypted value copy and paste a new block from the
|
43
|
+
appropriate example below. Note that:
|
44
|
+
* the text to encrypt goes in the square brackets
|
45
|
+
* ensure you include the exclamation mark when you copy and paste
|
46
|
+
* you must not include a number when adding a new block
|
47
|
+
e.g. #{tags.collect {|tag| "DEC::#{tag}[]!" }.join(' -or- ')}
|
48
|
+
eos
|
49
|
+
|
50
|
+
preamble.gsub(/^/, "#{self.prefix} ")
|
51
|
+
end
|
52
|
+
|
26
53
|
def self.validate options
|
27
54
|
Trollop::die "You must specify an eyaml file" if ARGV.empty?
|
28
55
|
options[:source] = :eyaml
|
29
56
|
options[:eyaml] = ARGV.shift
|
30
|
-
|
57
|
+
if File.exists? options[:eyaml]
|
58
|
+
begin
|
59
|
+
options[:input_data] = File.read options[:eyaml]
|
60
|
+
rescue
|
61
|
+
raise StandardError, "Could not open file for reading: #{options[:eyaml]}"
|
62
|
+
end
|
63
|
+
else
|
64
|
+
Utils.info "#{options[:eyaml]} doesn't exist, editing new file"
|
65
|
+
options[:input_data] = "---"
|
66
|
+
end
|
31
67
|
options
|
32
68
|
end
|
33
69
|
|
@@ -35,16 +71,19 @@ class Hiera
|
|
35
71
|
encrypted_parser = Parser::ParserFactory.encrypted_parser
|
36
72
|
tokens = encrypted_parser.parse Eyaml::Options[:input_data]
|
37
73
|
decrypted_input = tokens.each_with_index.to_a.map{|(t,index)| t.to_decrypted :index => index}.join
|
38
|
-
|
74
|
+
decrypted_file_content = Eyaml::Options[:no_preamble] ? decrypted_input : (self.preamble + decrypted_input)
|
75
|
+
decrypted_file = Utils.write_tempfile decrypted_file_content
|
39
76
|
|
40
77
|
editor = Utils.find_editor
|
41
78
|
|
42
79
|
begin
|
43
|
-
system "#{editor} #{decrypted_file}"
|
80
|
+
system "#{editor} \"#{decrypted_file}\""
|
44
81
|
status = $?
|
45
82
|
|
46
83
|
raise StandardError, "File was moved by editor" unless File.file? decrypted_file
|
47
|
-
|
84
|
+
raw_edited_file = File.read decrypted_file
|
85
|
+
# strip comments at start of file
|
86
|
+
edited_file = raw_edited_file.split($/,-1).drop_while {|line| line.start_with?(self.prefix)}.join($/)
|
48
87
|
|
49
88
|
raise StandardError, "Editor #{editor} has not exited?" unless status.exited?
|
50
89
|
raise StandardError, "Editor did not exit successfully (exit code #{status.exitstatus}), aborting" unless status.exitstatus == 0
|
@@ -19,11 +19,7 @@ class Hiera
|
|
19
19
|
def self.execute
|
20
20
|
plugin_versions = {}
|
21
21
|
|
22
|
-
|
23
|
-
Version info
|
24
|
-
|
25
|
-
hiera-eyaml (core): #{Eyaml::VERSION}
|
26
|
-
EOS
|
22
|
+
Eyaml::Utils.info "hiera-eyaml (core): #{Eyaml::VERSION}"
|
27
23
|
|
28
24
|
Plugins.plugins.each do |plugin|
|
29
25
|
plugin_shortname = plugin.name.split("hiera-eyaml-").last
|
@@ -32,7 +28,7 @@ EOS
|
|
32
28
|
rescue
|
33
29
|
"unknown (is plugin compatible with eyaml 2.0+ ?)"
|
34
30
|
end
|
35
|
-
|
31
|
+
Eyaml::Utils.info "hiera-eyaml-#{plugin_shortname} (gem): #{plugin_version}"
|
36
32
|
end
|
37
33
|
|
38
34
|
nil
|
@@ -44,4 +40,4 @@ EOS
|
|
44
40
|
end
|
45
41
|
end
|
46
42
|
end
|
47
|
-
end
|
43
|
+
end
|
@@ -34,6 +34,20 @@ class Hiera
|
|
34
34
|
editor = ENV['EDITOR']
|
35
35
|
editor ||= %w{ /usr/bin/sensible-editor /usr/bin/editor /usr/bin/vim /usr/bin/vi }.collect {|e| e if FileTest.executable? e}.compact.first
|
36
36
|
raise StandardError, "Editor not found. Please set your EDITOR env variable" if editor.nil?
|
37
|
+
if editor.index(' ')
|
38
|
+
editor = editor.dup if editor.frozen? # values from ENV are frozen
|
39
|
+
editor.gsub!(/([^\\]|^)~/, '\1' + ENV['HOME']) # replace ~ with home unless escaped
|
40
|
+
editor.gsub!(/(^|[^\\])"/, '\1') # remove unescaped quotes during processing
|
41
|
+
editor.gsub!(/\\ /, ' ') # unescape spaces since we quote paths
|
42
|
+
pieces = editor.split(' ')
|
43
|
+
paths = pieces.each_with_index.map {|_,x| pieces[0..x].join(' ')}.reverse # get possible paths, starting with longest
|
44
|
+
extensions = (ENV['PATHEXT'] || '').split(';') # handle Windows executables
|
45
|
+
editorfile = paths.select { |path|
|
46
|
+
FileTest.file?(path) || ! extensions.select {|ext| FileTest.file?(path + ext) }.empty?
|
47
|
+
}.first
|
48
|
+
raise StandardError, "Editor not found. Please set your EDITOR env variable" if editorfile.nil?
|
49
|
+
editor = "\"#{editorfile}\"#{editor[editorfile.size()..-1]}"
|
50
|
+
end
|
37
51
|
editor
|
38
52
|
end
|
39
53
|
|
@@ -45,11 +59,12 @@ class Hiera
|
|
45
59
|
num_bytes.times { file.print(byte.chr) }
|
46
60
|
file.fsync
|
47
61
|
end
|
62
|
+
file.close
|
48
63
|
File.delete args[:file]
|
49
64
|
end
|
50
65
|
|
51
66
|
def self.write_tempfile data_to_write
|
52
|
-
file = Tempfile.open('eyaml_edit')
|
67
|
+
file = Tempfile.open(['eyaml_edit', '.yaml'])
|
53
68
|
path = file.path
|
54
69
|
file.close!
|
55
70
|
|
@@ -107,7 +122,7 @@ class Hiera
|
|
107
122
|
root_folder = File.dirname(__FILE__) + "/" + Array.new(num_class_hierarchy_levels).fill("..").join("/")
|
108
123
|
class_folder = root_folder + "/" + classdir
|
109
124
|
Dir[File.expand_path("#{class_folder}/*.rb")].uniq.each do |file|
|
110
|
-
|
125
|
+
self.trace "Requiring file: #{file}"
|
111
126
|
require file
|
112
127
|
end
|
113
128
|
end
|
@@ -134,36 +149,60 @@ class Hiera
|
|
134
149
|
else
|
135
150
|
message.merge!({:msg => messageinfo.to_s})
|
136
151
|
end
|
152
|
+
message[:prefix] = "[#{message[:from]}]"
|
153
|
+
message[:spacer] = " #{' ' * message[:from].length} "
|
154
|
+
formatted_output = message[:msg].split("\n").each_with_index.map do |line, index|
|
155
|
+
if index == 0
|
156
|
+
"#{message[:prefix]} #{line}"
|
157
|
+
else
|
158
|
+
"#{message[:spacer]} #{line}"
|
159
|
+
end
|
160
|
+
end
|
161
|
+
formatted_output.join "\n"
|
137
162
|
end
|
138
163
|
|
139
164
|
def self.warn messageinfo
|
140
|
-
message
|
141
|
-
message = "[#{message[:from]}] !!! #{message[:msg]}"
|
142
|
-
if self.hiera?
|
143
|
-
Hiera.warn message
|
144
|
-
else
|
145
|
-
STDERR.puts message
|
146
|
-
end
|
165
|
+
self.print_message({ :message => self.structure_message( messageinfo ), :hiera_loglevel => :warn, :cli_color => :red })
|
147
166
|
end
|
148
167
|
|
149
168
|
def self.info messageinfo
|
150
|
-
message
|
151
|
-
message = "[#{message[:from]}] #{message[:msg]}"
|
152
|
-
if self.hiera?
|
153
|
-
Hiera.debug message if Eyaml.verbosity_level > 0
|
154
|
-
else
|
155
|
-
STDERR.puts message if Eyaml.verbosity_level > 0
|
156
|
-
end
|
169
|
+
self.print_message({ :message => self.structure_message( messageinfo ), :hiera_loglevel => :debug, :cli_color => :white, :threshold => 0 })
|
157
170
|
end
|
158
171
|
|
159
172
|
def self.debug messageinfo
|
160
|
-
message
|
161
|
-
|
173
|
+
self.print_message({ :message => self.structure_message( messageinfo ), :hiera_loglevel => :debug, :cli_color => :green, :threshold => 1 })
|
174
|
+
end
|
175
|
+
|
176
|
+
def self.trace messageinfo
|
177
|
+
self.print_message({ :message => self.structure_message( messageinfo ), :hiera_loglevel => :debug, :cli_color => :blue, :threshold => 2 })
|
178
|
+
end
|
179
|
+
|
180
|
+
def self.print_message( args )
|
181
|
+
message = args[:message] ||= ""
|
182
|
+
hiera_loglevel = args[:hiera_loglevel] ||= :debug
|
183
|
+
cli_color = args[:cli_color] ||= :blue
|
184
|
+
threshold = args[:threshold]
|
185
|
+
|
162
186
|
if self.hiera?
|
163
|
-
Hiera.
|
187
|
+
Hiera.send(hiera_loglevel, message) if threshold.nil? or Eyaml.verbosity_level > threshold
|
164
188
|
else
|
165
|
-
STDERR.puts message if Eyaml.verbosity_level >
|
189
|
+
STDERR.puts self.colorize( message, cli_color ) if threshold.nil? or Eyaml.verbosity_level > threshold
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
def self.colorize message, color
|
194
|
+
suffix = "\e[0m"
|
195
|
+
prefix = case color
|
196
|
+
when :red
|
197
|
+
"\e[31m"
|
198
|
+
when :green
|
199
|
+
"\e[32m"
|
200
|
+
when :blue
|
201
|
+
"\e[34m"
|
202
|
+
else #:white
|
203
|
+
"\e[0m"
|
166
204
|
end
|
205
|
+
"#{prefix}#{message}#{suffix}"
|
167
206
|
end
|
168
207
|
|
169
208
|
end
|
data/tools/regem.sh
CHANGED
metadata
CHANGED
@@ -1,47 +1,58 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiera-eyaml
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.4
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
|
-
authors:
|
7
|
+
authors:
|
7
8
|
- Tom Poulton
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2014-11-24 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
15
|
name: trollop
|
16
|
-
|
17
|
-
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '2.0'
|
22
22
|
type: :runtime
|
23
|
-
version_requirements: *id001
|
24
|
-
- !ruby/object:Gem::Dependency
|
25
|
-
name: highline
|
26
23
|
prerelease: false
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2.0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: highline
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
31
37
|
version: 1.6.19
|
32
38
|
type: :runtime
|
33
|
-
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.6.19
|
34
46
|
description: Hiera backend for decrypting encrypted yaml properties
|
35
47
|
email:
|
36
|
-
executables:
|
48
|
+
executables:
|
37
49
|
- eyaml
|
38
50
|
extensions: []
|
39
|
-
|
40
51
|
extra_rdoc_files: []
|
41
|
-
|
42
|
-
files:
|
52
|
+
files:
|
43
53
|
- .gitignore
|
44
54
|
- .travis.yml
|
55
|
+
- CHANGES.md
|
45
56
|
- Gemfile
|
46
57
|
- Gemfile.lock
|
47
58
|
- LICENSE.txt
|
@@ -76,30 +87,28 @@ files:
|
|
76
87
|
- sublime_text/eyaml.syntax_definition.json
|
77
88
|
- tools/regem.sh
|
78
89
|
homepage: http://github.com/TomPoulton/hiera-eyaml
|
79
|
-
licenses:
|
90
|
+
licenses:
|
80
91
|
- MIT
|
81
|
-
metadata: {}
|
82
|
-
|
83
92
|
post_install_message:
|
84
93
|
rdoc_options: []
|
85
|
-
|
86
|
-
require_paths:
|
94
|
+
require_paths:
|
87
95
|
- lib
|
88
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version:
|
94
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
-
|
96
|
-
|
96
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
104
|
+
requirements:
|
105
|
+
- - ! '>='
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '0'
|
97
108
|
requirements: []
|
98
|
-
|
99
109
|
rubyforge_project:
|
100
|
-
rubygems_version:
|
110
|
+
rubygems_version: 1.8.23.2
|
101
111
|
signing_key:
|
102
|
-
specification_version:
|
112
|
+
specification_version: 3
|
103
113
|
summary: OpenSSL Encryption backend for Hiera
|
104
114
|
test_files: []
|
105
|
-
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 3912bf9a2405844f834908a20b1366efda3dd75d
|
4
|
-
data.tar.gz: 5cec508a47fab8d5a4f4ec19808c436dd61d8d6a
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: dc1f52d302216134c15e7880f77c5f3c8aa639f4ac1be73b30fca4ae9e0c76a30a7bf95999cb94313fe7c9c4632853cbafdf08559658d83c94c81a9e6ec72097
|
7
|
-
data.tar.gz: 861f3b3ca88829e533f65ac4a36afc5e674b2217d84855005c913c3577e94f490eeefb70c027daa89d77f8b650f9e9c926b55e4217a87945a0e7bcb4cb71d116
|