ridley 4.4.0 → 4.4.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: 531224a1d42a7dd8d9945c1f096fbe18260d33b5
4
- data.tar.gz: 4e91e3700b180e136ee36071f2c7296da865adf8
3
+ metadata.gz: 32e1dbb729d85a4c08c66b4b7d07a5fd26b0bdb9
4
+ data.tar.gz: 6f3c4bee09d4a1bff4e2260a2c66c35b39fdf9d5
5
5
  SHA512:
6
- metadata.gz: ae4f2904466cce0a7cd08d3716ebf53bc18c895e853edf67ded955e93aec49284a8fca8601e6c0f5c8f100226843cc61773d72c60a96708bd003481773269bd8
7
- data.tar.gz: 97970ba2a5368760cdb8fb32df2546da2775f5cf833fd6359d64801086bbccf783a48df2a7f0407078d544ffe8ddfea5d31aad048ce8a61942da475889b63ee7
6
+ metadata.gz: bc76d74cd487011835a6fb0b698d58d977393e826c3d0c56f68e26a1278e901e35898f211e618d7babcbf7070291c8ce0b03a0a38e5ece4acb2527a1d1fb9991
7
+ data.tar.gz: 15f8611da50402f310681d3f1c4cae1cdea4aad2fe9a79eb8d0d683c0e49b2cb26c14ad017d7a0cec6cd5a6e7cf572806879d1eb7ae512b10d94ab9b9019219f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 4.4.1
2
+
3
+ * Revert 4.4.0 while we figure out a regression
4
+
1
5
  # 4.4.0
2
6
 
3
7
  * Enhancements
@@ -1,23 +1,86 @@
1
- require 'chef-config/config'
2
- require 'chef-config/workstation_config_loader'
1
+ require 'buff/config/ruby'
3
2
  require 'socket'
4
3
 
5
4
  module Ridley::Chef
6
- class Config
5
+ class Config < Buff::Config::Ruby
6
+ class << self
7
+ # Return the most sensible path to the Chef configuration file. This can
8
+ # be configured by setting a value for the 'RIDLEY_CHEF_CONFIG' environment
9
+ # variable.
10
+ #
11
+ # @return [String, nil]
12
+ def location
13
+ possibles = []
14
+
15
+ possibles << ENV['RIDLEY_CHEF_CONFIG'] if ENV['RIDLEY_CHEF_CONFIG']
16
+ possibles << File.join(ENV['KNIFE_HOME'], 'knife.rb') if ENV['KNIFE_HOME']
17
+ possibles << File.join(working_dir, 'knife.rb') if working_dir
18
+
19
+ # Ascending search for .chef directory siblings
20
+ Pathname.new(working_dir).ascend do |file|
21
+ sibling_chef = File.join(file, '.chef')
22
+ possibles << File.join(sibling_chef, 'knife.rb')
23
+ end if working_dir
24
+
25
+ possibles << File.join(ENV['HOME'], '.chef', 'knife.rb') if ENV['HOME']
26
+ possibles.compact!
27
+
28
+ location = possibles.find { |loc| File.exists?(File.expand_path(loc)) }
29
+
30
+ File.expand_path(location) unless location.nil?
31
+ end
32
+
33
+ private
34
+
35
+ # The current working directory
36
+ #
37
+ # @return [String]
38
+ def working_dir
39
+ ENV['PWD'] || Dir.pwd
40
+ end
41
+ end
42
+
43
+ set_assignment_mode :carefree
44
+
45
+ attribute :node_name,
46
+ default: -> { Socket.gethostname }
47
+ attribute :chef_server_url,
48
+ default: 'http://localhost:4000'
49
+ attribute :client_key,
50
+ default: -> { platform_specific_path('/etc/chef/client.pem') }
51
+ attribute :validation_key,
52
+ default: -> { platform_specific_path('/etc/chef/validation.pem') }
53
+ attribute :validation_client_name,
54
+ default: 'chef-validator'
55
+
56
+ attribute :cookbook_copyright,
57
+ default: 'YOUR_NAME'
58
+ attribute :cookbook_email,
59
+ default: 'YOUR_EMAIL'
60
+ attribute :cookbook_license,
61
+ default: 'reserved'
62
+
63
+ attribute :knife,
64
+ default: {}
65
+
66
+ # Prior to Chef 11, the cache implementation was based on
67
+ # moneta and configured via cache_options[:path]. Knife configs
68
+ # generated with Chef 11 will have `syntax_check_cache_path`, but older
69
+ # configs will have `cache_options[:path]`. `cache_options` is marked
70
+ # deprecated in chef/config.rb but doesn't currently trigger a warning.
71
+ # See also: CHEF-3715
72
+ attribute :syntax_check_cache_path,
73
+ default: -> { Dir.mktmpdir }
74
+ attribute :cache_options,
75
+ default: -> { { path: defined?(syntax_check_cache_path) ? syntax_check_cache_path : Dir.mktmpdir } }
76
+
7
77
  # Create a new Chef Config object.
8
78
  #
9
79
  # @param [#to_s] path
10
80
  # the path to the configuration file
11
81
  # @param [Hash] options
12
82
  def initialize(path, options = {})
13
- ChefConfig::WorkstationConfigLoader.new(path).load
14
- ChefConfig::Config.merge!(options)
15
- ChefConfig::Config.export_proxies # Set proxy settings as environment variables
16
- end
17
-
18
- # The configuration as a hash
19
- def to_hash
20
- ChefConfig::Config.save(true)
83
+ super(path || self.class.location, options)
21
84
  end
22
85
  end
23
86
  end
@@ -1,3 +1,3 @@
1
1
  module Ridley
2
- VERSION = "4.4.0"
2
+ VERSION = "4.4.1"
3
3
  end
data/ridley.gemspec CHANGED
@@ -25,7 +25,6 @@ Gem::Specification.new do |s|
25
25
  s.add_dependency 'buff-shell_out', '~> 0.1'
26
26
  s.add_dependency 'celluloid', '~> 0.16.0'
27
27
  s.add_dependency 'celluloid-io', '~> 0.16.1'
28
- s.add_dependency 'chef-config'
29
28
  s.add_dependency 'erubis'
30
29
  s.add_dependency 'faraday', '~> 0.9.0'
31
30
  s.add_dependency 'hashie', '>= 2.0.2', '< 4.0.0'
@@ -37,29 +37,43 @@ describe Ridley do
37
37
  end
38
38
 
39
39
  it "creates a Ridley connection from the Chef config" do
40
- expect(Ridley::Client).to receive(:new).with(hash_including(
40
+ expect(Ridley::Client).to receive(:new).with({
41
41
  client_key: 'username.pem',
42
42
  client_name: 'username',
43
43
  validator_client: 'validator',
44
44
  validator_path: 'validator.pem',
45
45
  server_url: 'https://api.opscode.com',
46
+
47
+ cookbook_copyright: 'YOUR_NAME',
48
+ cookbook_email: 'YOUR_EMAIL',
49
+ cookbook_license: 'reserved',
50
+
51
+ knife: {},
52
+
46
53
  syntax_check_cache_path: "/foo/bar",
47
54
  cache_options: { path: "~/.chef/checksums" },
48
- )).and_return(nil)
55
+ }).and_return(nil)
49
56
 
50
57
  subject.from_chef_config(path)
51
58
  end
52
59
 
53
60
  it "allows the user to override attributes" do
54
- expect(Ridley::Client).to receive(:new).with(hash_including(
61
+ expect(Ridley::Client).to receive(:new).with({
55
62
  client_key: 'bacon.pem',
56
63
  client_name: 'bacon',
57
64
  validator_client: 'validator',
58
65
  validator_path: 'validator.pem',
59
66
  server_url: 'https://api.opscode.com',
67
+
68
+ cookbook_copyright: 'YOUR_NAME',
69
+ cookbook_email: 'YOUR_EMAIL',
70
+ cookbook_license: 'reserved',
71
+
72
+ knife: {},
73
+
60
74
  syntax_check_cache_path: "/foo/bar",
61
75
  cache_options: { path: "~/.chef/checksums" },
62
- ))
76
+ })
63
77
 
64
78
  subject.from_chef_config(path, client_key: 'bacon.pem', client_name: 'bacon')
65
79
  end
@@ -74,15 +88,22 @@ describe Ridley do
74
88
  end
75
89
 
76
90
  it "does a knife.rb search" do
77
- expect(Ridley::Client).to receive(:new).with(hash_including(
91
+ expect(Ridley::Client).to receive(:new).with({
78
92
  client_key: 'username.pem',
79
93
  client_name: 'username',
80
94
  validator_client: 'validator',
81
95
  validator_path: 'validator.pem',
82
96
  server_url: 'https://api.opscode.com',
97
+
98
+ cookbook_copyright: 'YOUR_NAME',
99
+ cookbook_email: 'YOUR_EMAIL',
100
+ cookbook_license: 'reserved',
101
+
102
+ knife: {},
103
+
83
104
  syntax_check_cache_path: "/foo/bar",
84
105
  cache_options: { path: "~/.chef/checksums" },
85
- )).and_return(nil)
106
+ }).and_return(nil)
86
107
 
87
108
  Dir.chdir(tmp_path) do
88
109
  ENV['PWD'] = Dir.pwd
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridley
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.0
4
+ version: 4.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamie Winsor
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-01-11 00:00:00.000000000 Z
12
+ date: 2016-01-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: addressable
@@ -123,20 +123,6 @@ dependencies:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
125
  version: 0.16.1
126
- - !ruby/object:Gem::Dependency
127
- name: chef-config
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: '0'
133
- type: :runtime
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: '0'
140
126
  - !ruby/object:Gem::Dependency
141
127
  name: erubis
142
128
  requirement: !ruby/object:Gem::Requirement