chef-encrypted-attributes 0.4.0 → 0.5.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/CHANGELOG.md +14 -0
- data/LICENSE +1 -1
- data/README.md +10 -8
- data/lib/chef/encrypted_attribute/cache_lru.rb +3 -6
- data/lib/chef/encrypted_attribute/config.rb +0 -2
- data/lib/chef/encrypted_attribute/encrypted_mash.rb +4 -0
- data/lib/chef/encrypted_attribute/remote_node.rb +4 -5
- data/lib/chef/encrypted_attribute/version.rb +1 -1
- data/lib/chef/knife/core/encrypted_attribute_editor_options.rb +0 -1
- data/lib/chef/knife/encrypted_attribute_update.rb +2 -3
- metadata +12 -6
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 810a37dff2980969d642d2759f2ee1c09fdb1ebf
|
4
|
+
data.tar.gz: 3e199cd293403bdeccb89a1e6ce0ca93913f5bf2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62020afcc9d396f9800c8364f5e3f111dc19ac6e7fa8639c2f0737dc071e257a4355a7ceef0d5c35bbeb7807fd857573982ab76d52db5ad01a1c79265db490cd
|
7
|
+
data.tar.gz: 1102b54b595fe434c360adea4367eea8ce44061c52cbea4262b87c1b6dd5e1783e859b07701ee68643a8f686fcbeb9d2a7aa1a4482fa85636c17cd125ba422d1
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,20 @@
|
|
2
2
|
|
3
3
|
This file is used to list changes made in each version of `chef-encrypted-attributes`.
|
4
4
|
|
5
|
+
## 0.5.0 (2015-04-03)
|
6
|
+
|
7
|
+
* `#load_from_node` raises an exception if no ecnrypted attribute is found.
|
8
|
+
* GemSpec:
|
9
|
+
* Fix Ruby < 2 support ([issue #2](https://github.com/onddo/chef-encrypted-attributes/pull/2), thanks [@chhsiung](https://github.com/chhsiung) for the help).
|
10
|
+
* Depend on `ffi-yajl` `< 3` as in Chef.
|
11
|
+
|
12
|
+
* Tests:
|
13
|
+
* Use the new build environment on Travis ([issue #1](https://github.com/onddo/chef-encrypted-attributes/pull/1), thanks [Josh Kalderimis](https://github.com/joshk))
|
14
|
+
* GemSpec: Update RuboCop to version `0.29.1` (new offenses fixed).
|
15
|
+
|
16
|
+
* Documentation:
|
17
|
+
* README: Fix testing link.
|
18
|
+
|
5
19
|
## 0.4.0 (2014-12-10)
|
6
20
|
|
7
21
|
* Add Chef `12` support.
|
data/LICENSE
CHANGED
@@ -175,7 +175,7 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
175
175
|
|
176
176
|
END OF TERMS AND CONDITIONS
|
177
177
|
|
178
|
-
Copyright 2014 Onddo Labs, SL. (www.onddo.com)
|
178
|
+
Copyright 2014-2015 Onddo Labs, SL. (www.onddo.com)
|
179
179
|
|
180
180
|
Licensed under the Apache License, Version 2.0 (the "License");
|
181
181
|
you may not use this file except in compliance with the License.
|
data/README.md
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
[](http://badge.fury.io/rb/chef-encrypted-attributes)
|
3
3
|
[](https://gemnasium.com/onddo/chef-encrypted-attributes)
|
4
4
|
[](https://codeclimate.com/github/onddo/chef-encrypted-attributes)
|
5
|
-
[](https://travis-ci.org/onddo/chef-encrypted-attributes)
|
6
|
+
[](https://coveralls.io/r/onddo/chef-encrypted-attributes?branch=master)
|
7
|
+
[](http://inch-ci.org/github/onddo/chef-encrypted-attributes)
|
8
8
|
|
9
9
|
[Chef](https://www.chef.io/) plugin to add Node encrypted attributes support using client keys.
|
10
10
|
|
@@ -193,11 +193,11 @@ See the [official gem documentation](http://www.rubydoc.info/gems/chef-encrypted
|
|
193
193
|
|
194
194
|
The `chef-encrypted-attributes` gem is cryptographically signed by Onddo Labs's certificate, which identifies as *team@onddo.com*. You can obtain the official signature here:
|
195
195
|
|
196
|
-
https://raw.github.com/onddo/chef-encrypted-attributes/
|
196
|
+
https://raw.github.com/onddo/chef-encrypted-attributes/master/certs/team_onddo.crt
|
197
197
|
|
198
198
|
To be sure the gem you install has not been tampered with:
|
199
199
|
|
200
|
-
$ gem cert --add <(curl -Ls https://raw.github.com/onddo/chef-encrypted-attributes/
|
200
|
+
$ gem cert --add <(curl -Ls https://raw.github.com/onddo/chef-encrypted-attributes/master/certs/team_onddo.crt)
|
201
201
|
$ gem install chef-encrypted-attributes -P MediumSecurity
|
202
202
|
|
203
203
|
The *MediumSecurity* trust profile will verify signed gems, but allow the installation of unsigned dependencies. This is necessary because not all of `chef-encrypted-attributes`'s dependencies are signed, so we cannot use *HighSecurity*.
|
@@ -216,7 +216,7 @@ Still, this gem should be considered experimental until audited by professional
|
|
216
216
|
|
217
217
|
If you have discovered a bug in `chef-encrypted-attributes` of a sensitive nature, i.e. one which can compromise the security of `chef-encrypted-attributes` users, you can report it securely by sending a GPG encrypted message. Please use the following key:
|
218
218
|
|
219
|
-
https://raw.github.com/onddo/chef-encrypted-attributes/
|
219
|
+
https://raw.github.com/onddo/chef-encrypted-attributes/master/zuazo.gpg
|
220
220
|
|
221
221
|
The key fingerprint is (or should be):
|
222
222
|
|
@@ -224,7 +224,7 @@ The key fingerprint is (or should be):
|
|
224
224
|
|
225
225
|
## Testing
|
226
226
|
|
227
|
-
See [TESTING.md](
|
227
|
+
See [TESTING.md](https://github.com/onddo/chef-encrypted-attributes/blob/master/TESTING.md).
|
228
228
|
|
229
229
|
## Contributing
|
230
230
|
|
@@ -241,7 +241,9 @@ See [TODO.md](https://github.com/onddo/chef-encrypted-attributes/blob/master/TOD
|
|
241
241
|
| | |
|
242
242
|
|:---------------------|:-----------------------------------------|
|
243
243
|
| **Author:** | [Xabier de Zuazo](https://github.com/zuazo) (<xabier@onddo.com>)
|
244
|
-
| **
|
244
|
+
| **Contributor:** | [Josh Kalderimis](https://github.com/joshk)
|
245
|
+
| **Contributor:** | [@chhsiung](https://github.com/chhsiung)
|
246
|
+
| **Copyright:** | Copyright (c) 2014-2015 Onddo Labs, SL. (www.onddo.com)
|
245
247
|
| **License:** | Apache License, Version 2.0
|
246
248
|
|
247
249
|
Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -75,12 +75,9 @@ class Chef
|
|
75
75
|
# @param key [String, Symbol] cache key to read.
|
76
76
|
# @return [Mixed] cache key value.
|
77
77
|
def [](key)
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
else
|
82
|
-
nil
|
83
|
-
end
|
78
|
+
return nil unless key?(key)
|
79
|
+
val = super(key)
|
80
|
+
self[key] = val
|
84
81
|
end
|
85
82
|
|
86
83
|
# Sets a cache key.
|
@@ -160,6 +160,10 @@ class Chef
|
|
160
160
|
# @raise [UnsupportedEncryptedAttributeFormat] if encrypted attribute
|
161
161
|
# format is not supported or unknown.
|
162
162
|
def self.json_create(enc_hs)
|
163
|
+
unless enc_hs.is_a?(Hash)
|
164
|
+
fail UnacceptableEncryptedAttributeFormat,
|
165
|
+
'Encrypted attribute not found or corrupted.'
|
166
|
+
end
|
163
167
|
klass = string_to_klass(enc_hs[JSON_CLASS])
|
164
168
|
if klass.nil?
|
165
169
|
fail UnsupportedEncryptedAttributeFormat,
|
@@ -66,7 +66,7 @@ class Chef
|
|
66
66
|
#
|
67
67
|
# @param attr_ary [Array<String>] node attribute path as Array.
|
68
68
|
# @param partial_search [Boolean] whether to use partial search.
|
69
|
-
# @return [Mixed] node attribute value.
|
69
|
+
# @return [Mixed] node attribute value, `nil` if not found.
|
70
70
|
# @raise [ArgumentError] if the attribute path format is wrong.
|
71
71
|
# @raise [SearchFailure] if there is a Chef search error.
|
72
72
|
# @raise [SearchFatalError] if the Chef search response is wrong.
|
@@ -134,11 +134,10 @@ class Chef
|
|
134
134
|
# @param res [Array<Hash>] {SearchHelper#search} result.
|
135
135
|
# @return [Mixed] final search result value.
|
136
136
|
def parse_search_result(res)
|
137
|
-
|
138
|
-
|
139
|
-
else
|
140
|
-
nil
|
137
|
+
unless res.is_a?(Array) && res[0].is_a?(Hash) && res[0].key?('value')
|
138
|
+
return nil
|
141
139
|
end
|
140
|
+
res[0]['value']
|
142
141
|
end
|
143
142
|
|
144
143
|
# Generates the cache key.
|
@@ -30,7 +30,6 @@ class Chef
|
|
30
30
|
# @param includer [Class] includer class.
|
31
31
|
def self.included(includer)
|
32
32
|
includer.class_eval do
|
33
|
-
|
34
33
|
# Helper method to set the encrypted attributes configuration.
|
35
34
|
def self.encrypted_attributes_option_set(key, value)
|
36
35
|
Chef::Config[:knife][:encrypted_attributes][key] = value
|
@@ -66,9 +66,8 @@ class Chef
|
|
66
66
|
parse_args
|
67
67
|
|
68
68
|
# update encrypted attribute
|
69
|
-
|
70
|
-
|
71
|
-
)
|
69
|
+
knife_config = Chef::Config[:knife][:encrypted_attributes]
|
70
|
+
enc_attr = Chef::EncryptedAttribute.new(knife_config)
|
72
71
|
if enc_attr.update_on_node(@node_name, @attr_ary)
|
73
72
|
ui.info('Encrypted attribute updated.')
|
74
73
|
else
|
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.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Onddo Labs, SL.
|
@@ -30,22 +30,28 @@ cert_chain:
|
|
30
30
|
cYe8PqNEkky7ugvF4zU3sB6TW+96XasuwDv1uJmyr35LF15U6Cs83+osMbAKJTmG
|
31
31
|
/vqKzw==
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date:
|
33
|
+
date: 2015-04-03 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: ffi-yajl
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - "
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '1.0'
|
42
|
+
- - "<"
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '3.0'
|
42
45
|
type: :runtime
|
43
46
|
prerelease: false
|
44
47
|
version_requirements: !ruby/object:Gem::Requirement
|
45
48
|
requirements:
|
46
|
-
- - "
|
49
|
+
- - ">="
|
47
50
|
- !ruby/object:Gem::Version
|
48
51
|
version: '1.0'
|
52
|
+
- - "<"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
49
55
|
- !ruby/object:Gem::Dependency
|
50
56
|
name: chef
|
51
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,14 +190,14 @@ dependencies:
|
|
184
190
|
requirements:
|
185
191
|
- - '='
|
186
192
|
- !ruby/object:Gem::Version
|
187
|
-
version: 0.
|
193
|
+
version: 0.29.1
|
188
194
|
type: :development
|
189
195
|
prerelease: false
|
190
196
|
version_requirements: !ruby/object:Gem::Requirement
|
191
197
|
requirements:
|
192
198
|
- - '='
|
193
199
|
- !ruby/object:Gem::Version
|
194
|
-
version: 0.
|
200
|
+
version: 0.29.1
|
195
201
|
description: Chef plugin to add Node encrypted attributes support using client keys
|
196
202
|
email: team@onddo.com
|
197
203
|
executables: []
|
metadata.gz.sig
CHANGED
Binary file
|