chef-encrypted-attributes 0.3.0 → 0.4.0
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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.yardopts +8 -0
- data/CHANGELOG.md +40 -4
- data/CONTRIBUTING.md +7 -6
- data/KNIFE.md +151 -0
- data/README.md +70 -192
- data/Rakefile +27 -14
- data/TESTING.md +18 -7
- data/TODO.md +2 -5
- data/lib/chef-encrypted-attributes.rb +7 -1
- data/lib/chef/encrypted_attribute.rb +282 -121
- data/lib/chef/encrypted_attribute/api.rb +521 -0
- data/lib/chef/encrypted_attribute/assertions.rb +16 -6
- data/lib/chef/encrypted_attribute/cache_lru.rb +54 -13
- data/lib/chef/encrypted_attribute/config.rb +198 -89
- data/lib/chef/encrypted_attribute/encrypted_mash.rb +127 -33
- data/lib/chef/encrypted_attribute/encrypted_mash/version0.rb +236 -48
- data/lib/chef/encrypted_attribute/encrypted_mash/version1.rb +249 -36
- data/lib/chef/encrypted_attribute/encrypted_mash/version2.rb +133 -19
- data/lib/chef/encrypted_attribute/exceptions.rb +19 -3
- data/lib/chef/encrypted_attribute/local_node.rb +15 -4
- data/lib/chef/encrypted_attribute/remote_clients.rb +33 -17
- data/lib/chef/encrypted_attribute/remote_node.rb +84 -29
- data/lib/chef/encrypted_attribute/remote_nodes.rb +62 -11
- data/lib/chef/encrypted_attribute/remote_users.rb +58 -19
- data/lib/chef/encrypted_attribute/search_helper.rb +214 -74
- data/lib/chef/encrypted_attribute/version.rb +3 -1
- data/lib/chef/encrypted_attributes.rb +20 -0
- data/lib/chef/knife/core/config.rb +4 -1
- data/lib/chef/knife/core/encrypted_attribute_base.rb +179 -0
- data/lib/chef/knife/core/encrypted_attribute_depends.rb +43 -0
- data/lib/chef/knife/core/encrypted_attribute_editor_options.rb +125 -61
- data/lib/chef/knife/encrypted_attribute_create.rb +51 -31
- data/lib/chef/knife/encrypted_attribute_delete.rb +32 -40
- data/lib/chef/knife/encrypted_attribute_edit.rb +51 -32
- data/lib/chef/knife/encrypted_attribute_show.rb +30 -55
- data/lib/chef/knife/encrypted_attribute_update.rb +43 -28
- data/spec/benchmark_helper.rb +2 -1
- data/spec/integration_helper.rb +1 -0
- data/spec/spec_helper.rb +21 -7
- metadata +75 -36
- metadata.gz.sig +1 -1
- data/API.md +0 -174
- data/INTERNAL.md +0 -166
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: UTF-8
|
1
2
|
#
|
2
3
|
# Author:: Xabier de Zuazo (<xabier@onddo.com>)
|
3
4
|
# Copyright:: Copyright (c) 2014 Onddo Labs, SL. (www.onddo.com)
|
@@ -16,53 +17,71 @@
|
|
16
17
|
# limitations under the License.
|
17
18
|
#
|
18
19
|
|
19
|
-
require 'chef/knife/
|
20
|
+
require 'chef/knife/core/encrypted_attribute_base'
|
21
|
+
require 'chef/knife/core/encrypted_attribute_depends'
|
20
22
|
require 'chef/knife/core/encrypted_attribute_editor_options'
|
21
23
|
|
22
24
|
class Chef
|
23
25
|
class Knife
|
24
|
-
|
25
|
-
|
26
|
+
# knife encrypted attribute edit command.
|
27
|
+
#
|
28
|
+
# ```
|
29
|
+
# $ knife encrypted attribute edit NODE ATTRIBUTE (options)
|
30
|
+
# ```
|
31
|
+
class EncryptedAttributeEdit < Core::EncryptedAttributeBase
|
32
|
+
include Knife::Core::EncryptedAttributeDepends
|
26
33
|
include Knife::Core::EncryptedAttributeEditorOptions
|
27
34
|
|
28
35
|
option :input_format,
|
29
|
-
|
30
|
-
|
31
|
-
|
36
|
+
short: '-i FORMAT',
|
37
|
+
long: '--input-format FORMAT',
|
38
|
+
description:
|
39
|
+
'Input (EDITOR) format, supported formats are "plain" '\
|
40
|
+
'(default) and "json"'
|
32
41
|
|
33
42
|
banner 'knife encrypted attribute edit NODE ATTRIBUTE (options)'
|
34
43
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
show_usage
|
41
|
-
ui.fatal('You must specify a node name')
|
42
|
-
exit 1
|
43
|
-
end
|
44
|
-
|
45
|
-
if attr_path.nil?
|
46
|
-
show_usage
|
47
|
-
ui.fatal('You must specify an encrypted attribute name')
|
48
|
-
exit 1
|
49
|
-
end
|
50
|
-
|
51
|
-
attr_ary = attribute_path_to_ary(attr_path)
|
44
|
+
# (see EncryptedAttributeBase#assert_valid_args)
|
45
|
+
# @raise [ArgumentError] if the attribute path format is wrong.
|
46
|
+
def assert_valid_args
|
47
|
+
assert_attribute_exists(@node_name, @attr_ary)
|
48
|
+
end
|
52
49
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
50
|
+
# Runs knife command.
|
51
|
+
#
|
52
|
+
# @raise [RuntimeError] if the editing command fails.
|
53
|
+
# @return void
|
54
|
+
# @raise [ArgumentError] if the attribute path format or the user list is
|
55
|
+
# wrong.
|
56
|
+
# @raise [UnacceptableEncryptedAttributeFormat] if encrypted attribute
|
57
|
+
# format is wrong or does not exist.
|
58
|
+
# @raise [UnsupportedEncryptedAttributeFormat] if encrypted attribute
|
59
|
+
# format is not supported or unknown.
|
60
|
+
# @raise [EncryptionFailure] if there are encryption errors.
|
61
|
+
# @raise [MessageAuthenticationFailure] if HMAC calculation error.
|
62
|
+
# @raise [InvalidPublicKey] if it is not a valid RSA public key.
|
63
|
+
# @raise [InvalidKey] if the RSA key format is wrong.
|
64
|
+
# @raise [InsufficientPrivileges] if you lack enough privileges to read
|
65
|
+
# the keys from the Chef Server.
|
66
|
+
# @raise [ClientNotFound] if client does not exist.
|
67
|
+
# @raise [Net::HTTPServerException] for Chef Server HTTP errors.
|
68
|
+
# @raise [RequirementsFailure] if the specified encrypted attribute
|
69
|
+
# version cannot be used.
|
70
|
+
# @raise [SearchFailure] if there is a Chef search error.
|
71
|
+
# @raise [SearchFatalError] if the Chef search response is wrong.
|
72
|
+
# @raise [InvalidSearchKeys] if search keys structure is wrong.
|
73
|
+
def run
|
74
|
+
parse_args
|
58
75
|
|
59
76
|
# edit encrypted attribute
|
60
|
-
enc_attr =
|
61
|
-
|
77
|
+
enc_attr =
|
78
|
+
Chef::EncryptedAttribute.new(
|
79
|
+
Chef::Config[:knife][:encrypted_attributes]
|
80
|
+
)
|
81
|
+
input = enc_attr.load_from_node(@node_name, @attr_ary)
|
62
82
|
output = edit_data(input, config[:input_format])
|
63
|
-
enc_attr.create_on_node(node_name, attr_ary, output)
|
83
|
+
enc_attr.create_on_node(@node_name, @attr_ary, output)
|
64
84
|
end
|
65
|
-
|
66
85
|
end
|
67
86
|
end
|
68
87
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: UTF-8
|
1
2
|
#
|
2
3
|
# Author:: Xabier de Zuazo (<xabier@onddo.com>)
|
3
4
|
# Copyright:: Copyright (c) 2014 Onddo Labs, SL. (www.onddo.com)
|
@@ -16,71 +17,45 @@
|
|
16
17
|
# limitations under the License.
|
17
18
|
#
|
18
19
|
|
19
|
-
require 'chef/knife'
|
20
|
+
require 'chef/knife/core/encrypted_attribute_base'
|
21
|
+
require 'chef/knife/core/encrypted_attribute_depends'
|
20
22
|
|
21
23
|
class Chef
|
22
24
|
class Knife
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
# knife encrypted attribute show command.
|
26
|
+
#
|
27
|
+
# ```
|
28
|
+
# $ knife encrypted attribute show NODE ATTRIBUTE (options)
|
29
|
+
# ```
|
30
|
+
class EncryptedAttributeShow < Core::EncryptedAttributeBase
|
31
|
+
include Knife::Core::EncryptedAttributeDepends
|
29
32
|
|
30
33
|
banner 'knife encrypted attribute show NODE ATTRIBUTE (options)'
|
31
34
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
show_usage
|
38
|
-
ui.fatal('You must specify a node name')
|
39
|
-
exit 1
|
40
|
-
end
|
41
|
-
|
42
|
-
if attr_path.nil?
|
43
|
-
show_usage
|
44
|
-
ui.fatal('You must specify an encrypted attribute name')
|
45
|
-
exit 1
|
46
|
-
end
|
47
|
-
|
48
|
-
attr_ary = attribute_path_to_ary(attr_path)
|
35
|
+
# (see EncryptedAttributeBase#assert_valid_args)
|
36
|
+
# @raise [ArgumentError] if the attribute path format is wrong.
|
37
|
+
def assert_valid_args
|
38
|
+
assert_attribute_exists(@node_name, @attr_ary)
|
39
|
+
end
|
49
40
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
41
|
+
# Runs knife command.
|
42
|
+
#
|
43
|
+
# @return void
|
44
|
+
# @raise [ArgumentError] if the attribute path format is wrong.
|
45
|
+
# @raise [UnacceptableEncryptedAttributeFormat] if encrypted attribute
|
46
|
+
# format is wrong.
|
47
|
+
# @raise [UnsupportedEncryptedAttributeFormat] if encrypted attribute
|
48
|
+
# format is not supported or unknown.
|
49
|
+
# @raise [SearchFailure] if there is a Chef search error.
|
50
|
+
# @raise [SearchFatalError] if the Chef search response is wrong.
|
51
|
+
# @raise [InvalidSearchKeys] if search keys structure is wrong.
|
52
|
+
def run
|
53
|
+
parse_args
|
54
54
|
|
55
|
-
enc_attr =
|
55
|
+
enc_attr =
|
56
|
+
Chef::EncryptedAttribute.load_from_node(@node_name, @attr_ary)
|
56
57
|
output(enc_attr)
|
57
58
|
end
|
58
|
-
|
59
|
-
def attribute_path_to_ary(str, delim='.', escape='\\')
|
60
|
-
# return str.scan(/(?:[^.\\]|\\.)+/).map {|x| x.gsub('\\.', '.') } # cool, but doesn't work for some edge cases
|
61
|
-
result = []
|
62
|
-
current = ''
|
63
|
-
i = 0
|
64
|
-
while ! str[i].nil?
|
65
|
-
if str[i] == escape
|
66
|
-
if str[i+1] == delim
|
67
|
-
current << str[i+1]
|
68
|
-
else
|
69
|
-
current << str[i]
|
70
|
-
current << str[i+1] unless str[i+1].nil?
|
71
|
-
end
|
72
|
-
i += 1 # skip the next char
|
73
|
-
elsif str[i] == delim
|
74
|
-
result << current
|
75
|
-
current = ''
|
76
|
-
else
|
77
|
-
current << str[i]
|
78
|
-
end
|
79
|
-
i += 1
|
80
|
-
end
|
81
|
-
result << current
|
82
|
-
end
|
83
|
-
|
84
59
|
end
|
85
60
|
end
|
86
61
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: UTF-8
|
1
2
|
#
|
2
3
|
# Author:: Xabier de Zuazo (<xabier@onddo.com>)
|
3
4
|
# Copyright:: Copyright (c) 2014 Onddo Labs, SL. (www.onddo.com)
|
@@ -16,50 +17,64 @@
|
|
16
17
|
# limitations under the License.
|
17
18
|
#
|
18
19
|
|
19
|
-
require 'chef/knife/
|
20
|
+
require 'chef/knife/core/encrypted_attribute_base'
|
21
|
+
require 'chef/knife/core/encrypted_attribute_depends'
|
20
22
|
require 'chef/knife/core/encrypted_attribute_editor_options'
|
21
23
|
|
22
24
|
class Chef
|
23
25
|
class Knife
|
24
|
-
|
25
|
-
|
26
|
+
# knife encrypted attribute update command.
|
27
|
+
#
|
28
|
+
# ```
|
29
|
+
# $ knife encrypted attribute update NODE ATTRIBUTE (options)
|
30
|
+
# ```
|
31
|
+
class EncryptedAttributeUpdate < Core::EncryptedAttributeBase
|
32
|
+
include Knife::Core::EncryptedAttributeDepends
|
26
33
|
include Knife::Core::EncryptedAttributeEditorOptions
|
27
34
|
|
28
35
|
banner 'knife encrypted attribute update NODE ATTRIBUTE (options)'
|
29
36
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
show_usage
|
36
|
-
ui.fatal('You must specify a node name')
|
37
|
-
exit 1
|
38
|
-
end
|
39
|
-
|
40
|
-
if attr_path.nil?
|
41
|
-
show_usage
|
42
|
-
ui.fatal('You must specify an encrypted attribute name')
|
43
|
-
exit 1
|
44
|
-
end
|
45
|
-
|
46
|
-
attr_ary = attribute_path_to_ary(attr_path)
|
37
|
+
# (see EncryptedAttributeBase#assert_valid_args)
|
38
|
+
# @raise [ArgumentError] if the attribute path format is wrong.
|
39
|
+
def assert_valid_args
|
40
|
+
assert_attribute_exists(@node_name, @attr_ary)
|
41
|
+
end
|
47
42
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
43
|
+
# Runs knife command.
|
44
|
+
#
|
45
|
+
# @return void
|
46
|
+
# @raise [ArgumentError] if the attribute path format or the user list is
|
47
|
+
# wrong.
|
48
|
+
# @raise [UnacceptableEncryptedAttributeFormat] if encrypted attribute
|
49
|
+
# format is wrong or does not exist.
|
50
|
+
# @raise [UnsupportedEncryptedAttributeFormat] if encrypted attribute
|
51
|
+
# format is not supported or unknown.
|
52
|
+
# @raise [EncryptionFailure] if there are encryption errors.
|
53
|
+
# @raise [MessageAuthenticationFailure] if HMAC calculation error.
|
54
|
+
# @raise [InvalidPublicKey] if it is not a valid RSA public key.
|
55
|
+
# @raise [InvalidKey] if the RSA key format is wrong.
|
56
|
+
# @raise [InsufficientPrivileges] if you lack enough privileges to read
|
57
|
+
# the keys from the Chef Server.
|
58
|
+
# @raise [ClientNotFound] if client does not exist.
|
59
|
+
# @raise [Net::HTTPServerException] for Chef Server HTTP errors.
|
60
|
+
# @raise [RequirementsFailure] if the specified encrypted attribute
|
61
|
+
# version cannot be used.
|
62
|
+
# @raise [SearchFailure] if there is a Chef search error.
|
63
|
+
# @raise [SearchFatalError] if the Chef search response is wrong.
|
64
|
+
# @raise [InvalidSearchKeys] if search keys structure is wrong.
|
65
|
+
def run
|
66
|
+
parse_args
|
53
67
|
|
54
68
|
# update encrypted attribute
|
55
|
-
enc_attr = Chef::EncryptedAttribute.new(
|
56
|
-
|
69
|
+
enc_attr = Chef::EncryptedAttribute.new(
|
70
|
+
Chef::Config[:knife][:encrypted_attributes]
|
71
|
+
)
|
72
|
+
if enc_attr.update_on_node(@node_name, @attr_ary)
|
57
73
|
ui.info('Encrypted attribute updated.')
|
58
74
|
else
|
59
75
|
ui.info('Encrypted attribute does not need updating.')
|
60
76
|
end
|
61
77
|
end
|
62
|
-
|
63
78
|
end
|
64
79
|
end
|
65
80
|
end
|
data/spec/benchmark_helper.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: UTF-8
|
1
2
|
#
|
2
3
|
# Author:: Xabier de Zuazo (<xabier@onddo.com>)
|
3
4
|
# Copyright:: Copyright (c) 2014 Onddo Labs, SL. (www.onddo.com)
|
@@ -18,7 +19,7 @@
|
|
18
19
|
|
19
20
|
require 'rspec/autorun'
|
20
21
|
require 'chef_zero/rspec'
|
21
|
-
require 'chef
|
22
|
+
require 'chef/encrypted_attributes'
|
22
23
|
|
23
24
|
require 'support/silent_formatter'
|
24
25
|
RSpec.configure do |config|
|
data/spec/integration_helper.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: UTF-8
|
1
2
|
#
|
2
3
|
# Author:: Xabier de Zuazo (<xabier@onddo.com>)
|
3
4
|
# Copyright:: Copyright (c) 2014 Onddo Labs, SL. (www.onddo.com)
|
@@ -17,7 +18,7 @@
|
|
17
18
|
#
|
18
19
|
|
19
20
|
require 'simplecov'
|
20
|
-
if ENV['TRAVIS']
|
21
|
+
if ENV['TRAVIS'] && RUBY_VERSION >= '2.0'
|
21
22
|
require 'coveralls'
|
22
23
|
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
23
24
|
end
|
@@ -25,22 +26,35 @@ SimpleCov.start do
|
|
25
26
|
add_filter '/spec/'
|
26
27
|
end
|
27
28
|
|
28
|
-
require 'chef
|
29
|
+
require 'chef/encrypted_attributes'
|
29
30
|
require 'chef/exceptions'
|
30
31
|
|
31
32
|
require 'rspec/autorun'
|
33
|
+
require 'should_not/rspec'
|
32
34
|
|
33
35
|
require 'support/platform_helpers'
|
36
|
+
require 'support/chef_helpers'
|
37
|
+
require 'support/encrypted_attributes_helpers'
|
34
38
|
|
35
39
|
RSpec.configure do |config|
|
40
|
+
# Prohibit using the should syntax
|
41
|
+
config.expect_with :rspec do |spec|
|
42
|
+
spec.syntax = :expect
|
43
|
+
end
|
44
|
+
|
36
45
|
config.order = 'random'
|
37
46
|
|
38
47
|
config.color = true
|
39
48
|
config.tty = true
|
40
49
|
|
41
|
-
config.filter_run_excluding :
|
42
|
-
config.filter_run_excluding :
|
43
|
-
|
44
|
-
|
45
|
-
|
50
|
+
config.filter_run_excluding ruby_gte_19: true unless ruby_gte_19?
|
51
|
+
config.filter_run_excluding ruby_gte_20: true unless ruby_gte_20?
|
52
|
+
unless ruby_gte_20? && openssl_gte_101?
|
53
|
+
config.filter_run_excluding ruby_gte_20_and_openssl_gte_101: true
|
54
|
+
end
|
55
|
+
config.filter_run_excluding openssl_lt_101: true unless openssl_lt_101?
|
56
|
+
config.filter_run_excluding ruby_lt_20: true unless ruby_lt_20?
|
57
|
+
|
58
|
+
config.include ChefHelpers
|
59
|
+
config.include EncryptedAttributesHelpers
|
46
60
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-encrypted-attributes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Onddo Labs, SL.
|
@@ -30,144 +30,178 @@ cert_chain:
|
|
30
30
|
cYe8PqNEkky7ugvF4zU3sB6TW+96XasuwDv1uJmyr35LF15U6Cs83+osMbAKJTmG
|
31
31
|
/vqKzw==
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2014-
|
33
|
+
date: 2014-12-10 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
name: yajl
|
36
|
+
name: ffi-yajl
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - ~>
|
39
|
+
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '1.
|
41
|
+
version: '1.0'
|
42
42
|
type: :runtime
|
43
43
|
prerelease: false
|
44
44
|
version_requirements: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- - ~>
|
46
|
+
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '1.
|
48
|
+
version: '1.0'
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: chef
|
51
51
|
requirement: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '11.4'
|
56
|
+
- - "<"
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '13'
|
56
59
|
type: :runtime
|
57
60
|
prerelease: false
|
58
61
|
version_requirements: !ruby/object:Gem::Requirement
|
59
62
|
requirements:
|
60
|
-
- -
|
63
|
+
- - ">="
|
61
64
|
- !ruby/object:Gem::Version
|
62
65
|
version: '11.4'
|
66
|
+
- - "<"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '13'
|
63
69
|
- !ruby/object:Gem::Dependency
|
64
70
|
name: rake
|
65
71
|
requirement: !ruby/object:Gem::Requirement
|
66
72
|
requirements:
|
67
|
-
- - ~>
|
73
|
+
- - "~>"
|
68
74
|
- !ruby/object:Gem::Version
|
69
75
|
version: '10.0'
|
70
76
|
type: :development
|
71
77
|
prerelease: false
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
73
79
|
requirements:
|
74
|
-
- - ~>
|
80
|
+
- - "~>"
|
75
81
|
- !ruby/object:Gem::Version
|
76
82
|
version: '10.0'
|
77
83
|
- !ruby/object:Gem::Dependency
|
78
84
|
name: chef-zero
|
79
85
|
requirement: !ruby/object:Gem::Requirement
|
80
86
|
requirements:
|
81
|
-
- - ~>
|
87
|
+
- - "~>"
|
82
88
|
- !ruby/object:Gem::Version
|
83
|
-
version: '2
|
89
|
+
version: '3.2'
|
84
90
|
type: :development
|
85
91
|
prerelease: false
|
86
92
|
version_requirements: !ruby/object:Gem::Requirement
|
87
93
|
requirements:
|
88
|
-
- - ~>
|
94
|
+
- - "~>"
|
89
95
|
- !ruby/object:Gem::Version
|
90
|
-
version: '2
|
96
|
+
version: '3.2'
|
91
97
|
- !ruby/object:Gem::Dependency
|
92
98
|
name: rspec-core
|
93
99
|
requirement: !ruby/object:Gem::Requirement
|
94
100
|
requirements:
|
95
|
-
- - ~>
|
101
|
+
- - "~>"
|
96
102
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
103
|
+
version: '3.1'
|
98
104
|
type: :development
|
99
105
|
prerelease: false
|
100
106
|
version_requirements: !ruby/object:Gem::Requirement
|
101
107
|
requirements:
|
102
|
-
- - ~>
|
108
|
+
- - "~>"
|
103
109
|
- !ruby/object:Gem::Version
|
104
|
-
version: '
|
110
|
+
version: '3.1'
|
105
111
|
- !ruby/object:Gem::Dependency
|
106
112
|
name: rspec-expectations
|
107
113
|
requirement: !ruby/object:Gem::Requirement
|
108
114
|
requirements:
|
109
|
-
- - ~>
|
115
|
+
- - "~>"
|
110
116
|
- !ruby/object:Gem::Version
|
111
|
-
version: '
|
117
|
+
version: '3.1'
|
112
118
|
type: :development
|
113
119
|
prerelease: false
|
114
120
|
version_requirements: !ruby/object:Gem::Requirement
|
115
121
|
requirements:
|
116
|
-
- - ~>
|
122
|
+
- - "~>"
|
117
123
|
- !ruby/object:Gem::Version
|
118
|
-
version: '
|
124
|
+
version: '3.1'
|
119
125
|
- !ruby/object:Gem::Dependency
|
120
126
|
name: rspec-mocks
|
121
127
|
requirement: !ruby/object:Gem::Requirement
|
122
128
|
requirements:
|
123
|
-
- - ~>
|
129
|
+
- - "~>"
|
124
130
|
- !ruby/object:Gem::Version
|
125
|
-
version: '
|
131
|
+
version: '3.1'
|
126
132
|
type: :development
|
127
133
|
prerelease: false
|
128
134
|
version_requirements: !ruby/object:Gem::Requirement
|
129
135
|
requirements:
|
130
|
-
- - ~>
|
136
|
+
- - "~>"
|
131
137
|
- !ruby/object:Gem::Version
|
132
|
-
version: '
|
138
|
+
version: '3.1'
|
133
139
|
- !ruby/object:Gem::Dependency
|
134
140
|
name: coveralls
|
135
141
|
requirement: !ruby/object:Gem::Requirement
|
136
142
|
requirements:
|
137
|
-
- - ~>
|
143
|
+
- - "~>"
|
138
144
|
- !ruby/object:Gem::Version
|
139
145
|
version: '0.7'
|
140
146
|
type: :development
|
141
147
|
prerelease: false
|
142
148
|
version_requirements: !ruby/object:Gem::Requirement
|
143
149
|
requirements:
|
144
|
-
- - ~>
|
150
|
+
- - "~>"
|
145
151
|
- !ruby/object:Gem::Version
|
146
152
|
version: '0.7'
|
147
153
|
- !ruby/object:Gem::Dependency
|
148
154
|
name: simplecov
|
149
155
|
requirement: !ruby/object:Gem::Requirement
|
150
156
|
requirements:
|
151
|
-
- - ~>
|
157
|
+
- - "~>"
|
152
158
|
- !ruby/object:Gem::Version
|
153
159
|
version: '0.9'
|
154
160
|
type: :development
|
155
161
|
prerelease: false
|
156
162
|
version_requirements: !ruby/object:Gem::Requirement
|
157
163
|
requirements:
|
158
|
-
- - ~>
|
164
|
+
- - "~>"
|
159
165
|
- !ruby/object:Gem::Version
|
160
166
|
version: '0.9'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: should_not
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '1.1'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '1.1'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: rubocop
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - '='
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 0.27.1
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - '='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 0.27.1
|
161
195
|
description: Chef plugin to add Node encrypted attributes support using client keys
|
162
196
|
email: team@onddo.com
|
163
197
|
executables: []
|
164
198
|
extensions: []
|
165
199
|
extra_rdoc_files: []
|
166
200
|
files:
|
167
|
-
-
|
201
|
+
- ".yardopts"
|
168
202
|
- CHANGELOG.md
|
169
203
|
- CONTRIBUTING.md
|
170
|
-
-
|
204
|
+
- KNIFE.md
|
171
205
|
- LICENSE
|
172
206
|
- README.md
|
173
207
|
- Rakefile
|
@@ -175,6 +209,7 @@ files:
|
|
175
209
|
- TODO.md
|
176
210
|
- lib/chef-encrypted-attributes.rb
|
177
211
|
- lib/chef/encrypted_attribute.rb
|
212
|
+
- lib/chef/encrypted_attribute/api.rb
|
178
213
|
- lib/chef/encrypted_attribute/assertions.rb
|
179
214
|
- lib/chef/encrypted_attribute/cache_lru.rb
|
180
215
|
- lib/chef/encrypted_attribute/config.rb
|
@@ -190,7 +225,10 @@ files:
|
|
190
225
|
- lib/chef/encrypted_attribute/remote_users.rb
|
191
226
|
- lib/chef/encrypted_attribute/search_helper.rb
|
192
227
|
- lib/chef/encrypted_attribute/version.rb
|
228
|
+
- lib/chef/encrypted_attributes.rb
|
193
229
|
- lib/chef/knife/core/config.rb
|
230
|
+
- lib/chef/knife/core/encrypted_attribute_base.rb
|
231
|
+
- lib/chef/knife/core/encrypted_attribute_depends.rb
|
194
232
|
- lib/chef/knife/core/encrypted_attribute_editor_options.rb
|
195
233
|
- lib/chef/knife/encrypted_attribute_create.rb
|
196
234
|
- lib/chef/knife/encrypted_attribute_delete.rb
|
@@ -210,12 +248,12 @@ require_paths:
|
|
210
248
|
- lib
|
211
249
|
required_ruby_version: !ruby/object:Gem::Requirement
|
212
250
|
requirements:
|
213
|
-
- -
|
251
|
+
- - ">="
|
214
252
|
- !ruby/object:Gem::Version
|
215
253
|
version: 1.9.2
|
216
254
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
255
|
requirements:
|
218
|
-
- -
|
256
|
+
- - ">="
|
219
257
|
- !ruby/object:Gem::Version
|
220
258
|
version: '0'
|
221
259
|
requirements: []
|
@@ -225,6 +263,7 @@ signing_key:
|
|
225
263
|
specification_version: 4
|
226
264
|
summary: Chef Encrypted Attributes
|
227
265
|
test_files:
|
266
|
+
- spec/spec_helper.rb
|
228
267
|
- spec/integration_helper.rb
|
229
268
|
- spec/benchmark_helper.rb
|
230
|
-
|
269
|
+
has_rdoc:
|