chef-encrypted-attributes 0.6.0.beta.2 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGELOG.md +3 -1
- data/README.md +4 -3
- data/Rakefile +10 -0
- data/TESTING.md +6 -0
- data/lib/chef/encrypted_attribute/encrypted_mash/version0.rb +9 -4
- data/lib/chef/encrypted_attribute/version.rb +1 -1
- data/lib/chef/encrypted_attribute/yajl.rb +45 -0
- data/lib/chef/knife/core/encrypted_attribute_editor_options.rb +1 -1
- metadata +20 -25
- 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: 9152cd93c8d694d37df7659cae3d93bf00ae85f0
|
4
|
+
data.tar.gz: 539393acaeef1511dd82dc035a38365ec012b043
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a943ad2d06b15cd9d39a00c81da3907ecbf42e7e3a9c506db815296b32245203a3d1bd3e7076a4afd0aefb06576a43c34524abc938b61965c86c10c663f3b65
|
7
|
+
data.tar.gz: 1f11c694453b7fc80717808159e81c242909fe2b18b271a45400d1bfd11c21fb696155978a5604eba048a5d6795caa70102f37ad9803de26f068fbd5a9b9667f
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -2,9 +2,11 @@
|
|
2
2
|
|
3
3
|
This file is used to list changes made in each version of `chef-encrypted-attributes`.
|
4
4
|
|
5
|
-
## 0.6.0
|
5
|
+
## 0.6.0 (2015-05-08)
|
6
6
|
|
7
7
|
* Conditional gem dependency installation within a gemspec ([issue #2](https://github.com/onddo/chef-encrypted-attributes/pull/2), thanks [@chhsiung](https://github.com/chhsiung) for the help).
|
8
|
+
* Choose YAJL library based on chef version ([issue #4](https://github.com/onddo/chef-encrypted-attributes/pull/4), thanks [Lisa Danz](https://github.com/ldanz)).
|
9
|
+
* Add doc Rake task to generate the documentation.
|
8
10
|
|
9
11
|
## 0.5.0 (2015-04-03)
|
10
12
|
|
data/README.md
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
[![Gem Version](http://img.shields.io/gem/v/chef-encrypted-attributes.svg?style=flat)](http://badge.fury.io/rb/chef-encrypted-attributes)
|
3
3
|
[![Dependency Status](http://img.shields.io/gemnasium/onddo/chef-encrypted-attributes.svg?style=flat)](https://gemnasium.com/onddo/chef-encrypted-attributes)
|
4
4
|
[![Code Climate](http://img.shields.io/codeclimate/github/onddo/chef-encrypted-attributes.svg?style=flat)](https://codeclimate.com/github/onddo/chef-encrypted-attributes)
|
5
|
-
[![Build Status](http://img.shields.io/travis/onddo/chef-encrypted-attributes.svg?style=flat)](https://travis-ci.org/onddo/chef-encrypted-attributes)
|
6
|
-
[![Coverage Status](http://img.shields.io/coveralls/onddo/chef-encrypted-attributes.svg?style=flat)](https://coveralls.io/r/onddo/chef-encrypted-attributes?branch=
|
5
|
+
[![Build Status](http://img.shields.io/travis/onddo/chef-encrypted-attributes/0.6.0.svg?style=flat)](https://travis-ci.org/onddo/chef-encrypted-attributes)
|
6
|
+
[![Coverage Status](http://img.shields.io/coveralls/onddo/chef-encrypted-attributes/0.6.0.svg?style=flat)](https://coveralls.io/r/onddo/chef-encrypted-attributes?branch=0.6.0)
|
7
7
|
[![Inline docs](http://inch-ci.org/github/onddo/chef-encrypted-attributes.svg?branch=master&style=flat)](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.
|
@@ -20,7 +20,7 @@ Node attributes are encrypted using chef client and user keys with public key in
|
|
20
20
|
|
21
21
|
* Ruby `>= 1.9`
|
22
22
|
* Chef Client `~> 11.4`
|
23
|
-
*
|
23
|
+
* yajl_ruby `~> 1.1` or ffi_yajl `>= 1.0, <3.0` (included with Chef)
|
24
24
|
* If you want to use protocol version 2 to use [GCM](http://en.wikipedia.org/wiki/Galois/Counter_Mode) (disabled by default):
|
25
25
|
* Ruby `>= 2`.
|
26
26
|
* OpenSSL `>= 1.0.1`.
|
@@ -243,6 +243,7 @@ See [TODO.md](https://github.com/onddo/chef-encrypted-attributes/blob/master/TOD
|
|
243
243
|
| **Author:** | [Xabier de Zuazo](https://github.com/zuazo) (<xabier@onddo.com>)
|
244
244
|
| **Contributor:** | [Josh Kalderimis](https://github.com/joshk)
|
245
245
|
| **Contributor:** | [@chhsiung](https://github.com/chhsiung)
|
246
|
+
| **Contributor:** | [Lisa Danz](https://github.com/ldanz)
|
246
247
|
| **Copyright:** | Copyright (c) 2014-2015 Onddo Labs, SL. (www.onddo.com)
|
247
248
|
| **License:** | Apache License, Version 2.0
|
248
249
|
|
data/Rakefile
CHANGED
@@ -27,6 +27,16 @@ Bundler::GemHelper.install_tasks
|
|
27
27
|
|
28
28
|
require 'rake/testtask'
|
29
29
|
|
30
|
+
desc 'Generate Ruby documentation'
|
31
|
+
task :yard do
|
32
|
+
require 'yard'
|
33
|
+
YARD::Rake::YardocTask.new do |t|
|
34
|
+
t.stats_options = %w(--list-undoc)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
task doc: %w(yard)
|
39
|
+
|
30
40
|
desc 'Run RuboCop style checks'
|
31
41
|
task :rubocop do
|
32
42
|
require 'rubocop/rake_task'
|
data/TESTING.md
CHANGED
@@ -7,6 +7,12 @@ You can install gem dependencies with bundler:
|
|
7
7
|
$ gem install bundler
|
8
8
|
$ bundler install
|
9
9
|
|
10
|
+
## Generate Documentation
|
11
|
+
|
12
|
+
$ bundle exec rake doc
|
13
|
+
|
14
|
+
This will generate the HTML documentation in the `doc/` directory.
|
15
|
+
|
10
16
|
## All the Tests
|
11
17
|
|
12
18
|
$ bundle exec rake test
|
@@ -17,9 +17,14 @@
|
|
17
17
|
# limitations under the License.
|
18
18
|
#
|
19
19
|
|
20
|
+
require 'chef/version'
|
20
21
|
require 'chef/encrypted_attribute/encrypted_mash'
|
21
22
|
require 'chef/encrypted_attribute/exceptions'
|
22
|
-
require '
|
23
|
+
require 'chef/encrypted_attribute/yajl'
|
24
|
+
|
25
|
+
# Use the YAJL library that Chef provides. Determine which to use based on
|
26
|
+
# Chef version.
|
27
|
+
YAJL_NAMESPACE = Chef::EncryptedAttribute::Yajl.load_requirement(Chef::VERSION)
|
23
28
|
|
24
29
|
class Chef
|
25
30
|
class EncryptedAttribute
|
@@ -197,7 +202,7 @@ class Chef
|
|
197
202
|
def json_encode(o)
|
198
203
|
# TODO: This does not check if the object is correct, should be an
|
199
204
|
# Array or a Hash
|
200
|
-
|
205
|
+
YAJL_NAMESPACE::Encoder.encode(o)
|
201
206
|
end
|
202
207
|
|
203
208
|
# Decodes a JSON string.
|
@@ -206,8 +211,8 @@ class Chef
|
|
206
211
|
# @return [Mixed] Ruby representation of the JSON string.
|
207
212
|
# @raise [DecryptionFailure] if JSON string format is wrong.
|
208
213
|
def json_decode(o)
|
209
|
-
|
210
|
-
rescue
|
214
|
+
YAJL_NAMESPACE::Parser.parse(o.to_s)
|
215
|
+
rescue YAJL_NAMESPACE::ParseError => e
|
211
216
|
raise DecryptionFailure, "#{e.class.name}: #{e}"
|
212
217
|
end
|
213
218
|
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
#
|
3
|
+
# Author:: Lisa Danz (<lisa.danz@opower.com>)
|
4
|
+
# Author:: Xabier de Zuazo (<xabier@onddo.com>)
|
5
|
+
# Copyright:: Copyright (c) 2015 Onddo Labs, SL. (www.onddo.com)
|
6
|
+
# License:: Apache License, Version 2.0
|
7
|
+
#
|
8
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
9
|
+
# you may not use this file except in compliance with the License.
|
10
|
+
# You may obtain a copy of the License at
|
11
|
+
#
|
12
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
13
|
+
#
|
14
|
+
# Unless required by applicable law or agreed to in writing, software
|
15
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
16
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
17
|
+
# See the License for the specific language governing permissions and
|
18
|
+
# limitations under the License.
|
19
|
+
#
|
20
|
+
|
21
|
+
class Chef
|
22
|
+
class EncryptedAttribute
|
23
|
+
# Helper module to abstract the required Yajl (JSON) dependecy.
|
24
|
+
module Yajl
|
25
|
+
# Loads the required Yajl JSON library depending on the installed Chef
|
26
|
+
# version.
|
27
|
+
#
|
28
|
+
# * Loads the `yajl` gem in Chef `< 11.13`.
|
29
|
+
# * Loads the `ffi_yajl` gem in Chef `>= 11.13`.
|
30
|
+
#
|
31
|
+
# @return [Class] The correct JSON class to use.
|
32
|
+
def self.load_requirement(chef_version)
|
33
|
+
if Gem::Requirement.new('< 11.13').satisfied_by?(
|
34
|
+
Gem::Version.new(chef_version)
|
35
|
+
)
|
36
|
+
require 'yajl'
|
37
|
+
::Yajl
|
38
|
+
else
|
39
|
+
require 'ffi_yajl'
|
40
|
+
::FFI_Yajl
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
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.6.0
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Onddo Labs, SL.
|
@@ -30,28 +30,8 @@ cert_chain:
|
|
30
30
|
cYe8PqNEkky7ugvF4zU3sB6TW+96XasuwDv1uJmyr35LF15U6Cs83+osMbAKJTmG
|
31
31
|
/vqKzw==
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2015-05-
|
33
|
+
date: 2015-05-08 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: ffi-yajl
|
37
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - ">="
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: '1.0'
|
42
|
-
- - "<"
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: '3.0'
|
45
|
-
type: :runtime
|
46
|
-
prerelease: false
|
47
|
-
version_requirements: !ruby/object:Gem::Requirement
|
48
|
-
requirements:
|
49
|
-
- - ">="
|
50
|
-
- !ruby/object:Gem::Version
|
51
|
-
version: '1.0'
|
52
|
-
- - "<"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '3.0'
|
55
35
|
- !ruby/object:Gem::Dependency
|
56
36
|
name: chef
|
57
37
|
requirement: !ruby/object:Gem::Requirement
|
@@ -198,6 +178,20 @@ dependencies:
|
|
198
178
|
- - '='
|
199
179
|
- !ruby/object:Gem::Version
|
200
180
|
version: 0.29.1
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: yard
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0.8'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0.8'
|
201
195
|
description: Chef plugin to add Node encrypted attributes support using client keys
|
202
196
|
email: team@onddo.com
|
203
197
|
executables: []
|
@@ -233,6 +227,7 @@ files:
|
|
233
227
|
- lib/chef/encrypted_attribute/remote_users.rb
|
234
228
|
- lib/chef/encrypted_attribute/search_helper.rb
|
235
229
|
- lib/chef/encrypted_attribute/version.rb
|
230
|
+
- lib/chef/encrypted_attribute/yajl.rb
|
236
231
|
- lib/chef/encrypted_attributes.rb
|
237
232
|
- lib/chef/knife/core/config.rb
|
238
233
|
- lib/chef/knife/core/encrypted_attribute_base.rb
|
@@ -261,12 +256,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
261
256
|
version: 1.9.2
|
262
257
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
263
258
|
requirements:
|
264
|
-
- - "
|
259
|
+
- - ">="
|
265
260
|
- !ruby/object:Gem::Version
|
266
|
-
version:
|
261
|
+
version: '0'
|
267
262
|
requirements: []
|
268
263
|
rubyforge_project:
|
269
|
-
rubygems_version: 2.
|
264
|
+
rubygems_version: 2.4.3
|
270
265
|
signing_key:
|
271
266
|
specification_version: 4
|
272
267
|
summary: Chef Encrypted Attributes
|
metadata.gz.sig
CHANGED
Binary file
|