chef-zero 14.0.13 → 15.0.3
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
- data/Gemfile +4 -6
- data/Rakefile +9 -1
- data/bin/chef-zero +2 -2
- data/chef-zero.gemspec +2 -5
- data/lib/chef_zero.rb +1 -1
- data/lib/chef_zero/chef_data/cookbook_data.rb +2 -2
- data/lib/chef_zero/chef_data/data_normalizer.rb +10 -7
- data/lib/chef_zero/chef_data/default_creator.rb +8 -5
- data/lib/chef_zero/data_store/data_already_exists_error.rb +1 -1
- data/lib/chef_zero/data_store/data_error.rb +1 -1
- data/lib/chef_zero/data_store/data_not_found_error.rb +1 -1
- data/lib/chef_zero/data_store/default_facade.rb +4 -4
- data/lib/chef_zero/data_store/interface_v2.rb +1 -1
- data/lib/chef_zero/data_store/memory_store.rb +3 -3
- data/lib/chef_zero/data_store/memory_store_v2.rb +22 -14
- data/lib/chef_zero/data_store/raw_file_store.rb +7 -5
- data/lib/chef_zero/data_store/v1_to_v2_adapter.rb +11 -1
- data/lib/chef_zero/data_store/v2_to_v1_adapter.rb +1 -1
- data/lib/chef_zero/endpoints/acl_endpoint.rb +4 -3
- data/lib/chef_zero/endpoints/acls_endpoint.rb +6 -5
- data/lib/chef_zero/endpoints/actor_default_key_endpoint.rb +2 -1
- data/lib/chef_zero/endpoints/actor_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/actor_key_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/actor_keys_endpoint.rb +3 -2
- data/lib/chef_zero/endpoints/actors_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/authenticate_user_endpoint.rb +3 -2
- data/lib/chef_zero/endpoints/container_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/containers_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/controls_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/cookbook_artifact_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/cookbook_artifact_identifier_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/cookbook_artifacts_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/cookbook_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/cookbook_version_endpoint.rb +8 -6
- data/lib/chef_zero/endpoints/cookbooks_base.rb +5 -3
- data/lib/chef_zero/endpoints/cookbooks_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/data_bag_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/data_bag_item_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/data_bags_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/environment_cookbook_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb +14 -11
- data/lib/chef_zero/endpoints/environment_cookbooks_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/environment_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/environment_nodes_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/environment_recipes_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/environment_role_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/file_store_file_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/group_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/groups_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/license_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/node_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/node_identifiers_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/nodes_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/not_found_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organization_association_request_endpoint.rb +3 -2
- data/lib/chef_zero/endpoints/organization_association_requests_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organization_authenticate_user_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organization_endpoint.rb +4 -3
- data/lib/chef_zero/endpoints/organization_user_base.rb +2 -2
- data/lib/chef_zero/endpoints/organization_user_default_key_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/organization_user_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organization_user_key_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organization_user_keys_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/organization_users_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/organization_validator_key_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/organizations_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/policies_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/policy_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/policy_group_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/policy_group_policy_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/policy_groups_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/policy_revision_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/policy_revisions_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/principal_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/rest_list_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/rest_object_endpoint.rb +4 -3
- data/lib/chef_zero/endpoints/role_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/role_environments_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/sandbox_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/sandboxes_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/search_endpoint.rb +9 -9
- data/lib/chef_zero/endpoints/searches_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/server_api_version_endpoint.rb +1 -1
- data/lib/chef_zero/endpoints/system_recovery_endpoint.rb +4 -4
- data/lib/chef_zero/endpoints/universe_endpoint.rb +3 -3
- data/lib/chef_zero/endpoints/user_association_request_endpoint.rb +3 -2
- data/lib/chef_zero/endpoints/user_association_requests_count_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/user_association_requests_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/user_organizations_endpoint.rb +2 -2
- data/lib/chef_zero/endpoints/version_endpoint.rb +2 -2
- data/lib/chef_zero/rest_base.rb +20 -16
- data/lib/chef_zero/rest_request.rb +10 -6
- data/lib/chef_zero/rest_router.rb +3 -3
- data/lib/chef_zero/rspec.rb +4 -3
- data/lib/chef_zero/server.rb +95 -91
- data/lib/chef_zero/socketless_server_map.rb +3 -2
- data/lib/chef_zero/solr/query/phrase.rb +2 -2
- data/lib/chef_zero/solr/query/range_query.rb +3 -3
- data/lib/chef_zero/solr/query/term.rb +1 -1
- data/lib/chef_zero/solr/solr_parser.rb +12 -10
- data/lib/chef_zero/version.rb +1 -1
- data/spec/run_oc_pedant.rb +8 -6
- data/spec/search_spec.rb +2 -2
- data/spec/server_spec.rb +2 -2
- data/spec/socketless_server_map_spec.rb +1 -1
- data/spec/support/oc_pedant.rb +1 -1
- metadata +5 -33
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
#
|
|
18
18
|
|
|
19
19
|
require "thread"
|
|
20
|
-
require "singleton"
|
|
21
|
-
|
|
20
|
+
require "singleton" unless defined?(Singleton)
|
|
21
|
+
require_relative "dist"
|
|
22
22
|
|
|
23
23
|
module ChefZero
|
|
24
24
|
|
|
@@ -85,6 +85,7 @@ module ChefZero
|
|
|
85
85
|
def request(port, request_env)
|
|
86
86
|
server = @servers_by_port[port]
|
|
87
87
|
raise ServerNotFound, "No socketless #{ChefZero::Dist::PRODUCT} server on given port #{port.inspect}" unless server
|
|
88
|
+
|
|
88
89
|
server.handle_socketless_request(request_env)
|
|
89
90
|
end
|
|
90
91
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
require_relative "regexpable_query"
|
|
2
2
|
|
|
3
3
|
module ChefZero
|
|
4
4
|
module Solr
|
|
@@ -11,7 +11,7 @@ module ChefZero
|
|
|
11
11
|
else
|
|
12
12
|
literal_string = nil
|
|
13
13
|
end
|
|
14
|
-
super(terms.map
|
|
14
|
+
super(terms.map(&:regexp_string).join("#{NON_WORD_CHARACTER}+"), literal_string)
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def to_s
|
|
@@ -10,7 +10,7 @@ module ChefZero
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def to_s
|
|
13
|
-
"#{@from_inclusive ?
|
|
13
|
+
"#{@from_inclusive ? "[" : "{"}#{@from} TO #{@to}#{@to_inclusive ? "]" : "}"}"
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def matches_values?(values)
|
|
@@ -20,7 +20,7 @@ module ChefZero
|
|
|
20
20
|
when -1
|
|
21
21
|
return false
|
|
22
22
|
when 0
|
|
23
|
-
return false
|
|
23
|
+
return false unless @from_inclusive
|
|
24
24
|
end
|
|
25
25
|
end
|
|
26
26
|
unless @to == "*"
|
|
@@ -28,7 +28,7 @@ module ChefZero
|
|
|
28
28
|
when 1
|
|
29
29
|
return false
|
|
30
30
|
when 0
|
|
31
|
-
return false
|
|
31
|
+
return false unless @to_inclusive
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
return true
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
require_relative "query/binary_operator"
|
|
2
|
+
require_relative "query/unary_operator"
|
|
3
|
+
require_relative "query/term"
|
|
4
|
+
require_relative "query/phrase"
|
|
5
|
+
require_relative "query/range_query"
|
|
6
|
+
require_relative "query/subquery"
|
|
7
7
|
|
|
8
8
|
module ChefZero
|
|
9
9
|
module Solr
|
|
@@ -50,7 +50,7 @@ module ChefZero
|
|
|
50
50
|
if @query_string[@index] == '\\'
|
|
51
51
|
@index += 1
|
|
52
52
|
end
|
|
53
|
-
@index += 1
|
|
53
|
+
@index += 1 unless eof?
|
|
54
54
|
break if eof? || !peek_term_token
|
|
55
55
|
end
|
|
56
56
|
@query_string[start_index..@index - 1]
|
|
@@ -66,6 +66,7 @@ module ChefZero
|
|
|
66
66
|
|
|
67
67
|
def peek_term_token
|
|
68
68
|
return nil if @query_string[@index] =~ /\s/
|
|
69
|
+
|
|
69
70
|
op = peek_operator_token
|
|
70
71
|
!op || op == "-"
|
|
71
72
|
end
|
|
@@ -79,6 +80,7 @@ module ChefZero
|
|
|
79
80
|
return result
|
|
80
81
|
end
|
|
81
82
|
end
|
|
83
|
+
|
|
82
84
|
nil
|
|
83
85
|
end
|
|
84
86
|
|
|
@@ -145,13 +147,13 @@ module ChefZero
|
|
|
145
147
|
# If it's the start of a range query, build that
|
|
146
148
|
elsif token == "{" || token == "["
|
|
147
149
|
left = next_token
|
|
148
|
-
parse_error(left, "Expected left term in range query")
|
|
150
|
+
parse_error(left, "Expected left term in range query") unless left
|
|
149
151
|
to = next_token
|
|
150
152
|
parse_error(left, "Expected TO in range query") if to != "TO"
|
|
151
153
|
right = next_token
|
|
152
|
-
parse_error(right, "Expected left term in range query")
|
|
154
|
+
parse_error(right, "Expected left term in range query") unless right
|
|
153
155
|
end_range = next_token
|
|
154
|
-
parse_error(right, "Expected end range '#{end_range}")
|
|
156
|
+
parse_error(right, "Expected end range '#{end_range}") unless ["}", "]"].include?(end_range)
|
|
155
157
|
Query::RangeQuery.new(left, right, token == "[", end_range == "]")
|
|
156
158
|
|
|
157
159
|
elsif token == "("
|
data/lib/chef_zero/version.rb
CHANGED
data/spec/run_oc_pedant.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
-
require "json"
|
|
2
|
+
require "json" unless defined?(JSON)
|
|
3
3
|
require "bundler"
|
|
4
4
|
require "bundler/setup"
|
|
5
5
|
|
|
@@ -32,6 +32,7 @@ DEFAULT_LOG_LEVEL = :warn
|
|
|
32
32
|
def log_level
|
|
33
33
|
return ENV["LOG_LEVEL"].downcase.to_sym if ENV["LOG_LEVEL"]
|
|
34
34
|
return :debug if ENV["DEBUG"]
|
|
35
|
+
|
|
35
36
|
DEFAULT_LOG_LEVEL
|
|
36
37
|
end
|
|
37
38
|
|
|
@@ -39,7 +40,7 @@ def start_chef_server(opts = {})
|
|
|
39
40
|
opts = DEFAULT_SERVER_OPTIONS.merge(opts)
|
|
40
41
|
opts[:log_level] = log_level
|
|
41
42
|
|
|
42
|
-
ChefZero::Server.new(opts).tap
|
|
43
|
+
ChefZero::Server.new(opts).tap(&:start_background)
|
|
43
44
|
end
|
|
44
45
|
|
|
45
46
|
def start_cheffs_server(chef_repo_path)
|
|
@@ -49,12 +50,12 @@ def start_cheffs_server(chef_repo_path)
|
|
|
49
50
|
require "chef/chef_fs/chef_fs_data_store"
|
|
50
51
|
require "chef_zero/server"
|
|
51
52
|
|
|
52
|
-
Dir.mkdir(chef_repo_path)
|
|
53
|
+
Dir.mkdir(chef_repo_path) unless File.exist?(chef_repo_path)
|
|
53
54
|
|
|
54
55
|
# 11.6 and below had a bug where it couldn't create the repo children automatically
|
|
55
56
|
if Chef::VERSION.to_f < 11.8
|
|
56
57
|
%w{clients cookbooks data_bags environments nodes roles users}.each do |child|
|
|
57
|
-
Dir.mkdir("#{chef_repo_path}/#{child}")
|
|
58
|
+
Dir.mkdir("#{chef_repo_path}/#{child}") unless File.exist?("#{chef_repo_path}/#{child}")
|
|
58
59
|
end
|
|
59
60
|
end
|
|
60
61
|
|
|
@@ -84,6 +85,7 @@ end
|
|
|
84
85
|
|
|
85
86
|
def args_from_env(key)
|
|
86
87
|
return [] unless ENV[key]
|
|
88
|
+
|
|
87
89
|
ENV[key].split
|
|
88
90
|
end
|
|
89
91
|
|
|
@@ -91,7 +93,7 @@ begin
|
|
|
91
93
|
tmpdir = nil
|
|
92
94
|
server =
|
|
93
95
|
if ENV["FILE_STORE"]
|
|
94
|
-
require "tmpdir"
|
|
96
|
+
require "tmpdir" unless defined?(Dir.mktmpdir)
|
|
95
97
|
require "chef_zero/data_store/raw_file_store"
|
|
96
98
|
tmpdir = Dir.mktmpdir
|
|
97
99
|
data_store = ChefZero::DataStore::RawFileStore.new(tmpdir, true)
|
|
@@ -100,7 +102,7 @@ begin
|
|
|
100
102
|
start_chef_server(data_store: data_store)
|
|
101
103
|
|
|
102
104
|
elsif ENV["CHEF_FS"]
|
|
103
|
-
require "tmpdir"
|
|
105
|
+
require "tmpdir" unless defined?(Dir.mktmpdir)
|
|
104
106
|
tmpdir = Dir.mktmpdir
|
|
105
107
|
start_cheffs_server(tmpdir)
|
|
106
108
|
|
data/spec/search_spec.rb
CHANGED
data/spec/server_spec.rb
CHANGED
|
@@ -2,7 +2,7 @@ require "chef_zero/socketless_server_map"
|
|
|
2
2
|
|
|
3
3
|
describe "Socketless Mode" do
|
|
4
4
|
|
|
5
|
-
let(:server_map) { ChefZero::SocketlessServerMap.instance.tap
|
|
5
|
+
let(:server_map) { ChefZero::SocketlessServerMap.instance.tap(&:reset!) }
|
|
6
6
|
|
|
7
7
|
let(:server) { instance_double("ChefZero::Server") }
|
|
8
8
|
|
data/spec/support/oc_pedant.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chef-zero
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 15.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chef Software, Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-09-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: mixlib-log
|
|
@@ -39,7 +39,7 @@ dependencies:
|
|
|
39
39
|
version: '2.0'
|
|
40
40
|
- - "<"
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
|
-
version: '
|
|
42
|
+
version: '5.0'
|
|
43
43
|
type: :runtime
|
|
44
44
|
prerelease: false
|
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -49,7 +49,7 @@ dependencies:
|
|
|
49
49
|
version: '2.0'
|
|
50
50
|
- - "<"
|
|
51
51
|
- !ruby/object:Gem::Version
|
|
52
|
-
version: '
|
|
52
|
+
version: '5.0'
|
|
53
53
|
- !ruby/object:Gem::Dependency
|
|
54
54
|
name: uuidtools
|
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -98,34 +98,6 @@ dependencies:
|
|
|
98
98
|
- - ">="
|
|
99
99
|
- !ruby/object:Gem::Version
|
|
100
100
|
version: 2.0.6
|
|
101
|
-
- !ruby/object:Gem::Dependency
|
|
102
|
-
name: rake
|
|
103
|
-
requirement: !ruby/object:Gem::Requirement
|
|
104
|
-
requirements:
|
|
105
|
-
- - ">="
|
|
106
|
-
- !ruby/object:Gem::Version
|
|
107
|
-
version: '0'
|
|
108
|
-
type: :development
|
|
109
|
-
prerelease: false
|
|
110
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
111
|
-
requirements:
|
|
112
|
-
- - ">="
|
|
113
|
-
- !ruby/object:Gem::Version
|
|
114
|
-
version: '0'
|
|
115
|
-
- !ruby/object:Gem::Dependency
|
|
116
|
-
name: rspec
|
|
117
|
-
requirement: !ruby/object:Gem::Requirement
|
|
118
|
-
requirements:
|
|
119
|
-
- - ">="
|
|
120
|
-
- !ruby/object:Gem::Version
|
|
121
|
-
version: '0'
|
|
122
|
-
type: :development
|
|
123
|
-
prerelease: false
|
|
124
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
125
|
-
requirements:
|
|
126
|
-
- - ">="
|
|
127
|
-
- !ruby/object:Gem::Version
|
|
128
|
-
version: '0'
|
|
129
101
|
description: Self-contained, easy-setup, fast-start in-memory Chef server for testing
|
|
130
102
|
and solo setup purposes
|
|
131
103
|
email: oss@chef.io
|
|
@@ -266,7 +238,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
266
238
|
requirements:
|
|
267
239
|
- - ">="
|
|
268
240
|
- !ruby/object:Gem::Version
|
|
269
|
-
version: 2.
|
|
241
|
+
version: '2.6'
|
|
270
242
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
271
243
|
requirements:
|
|
272
244
|
- - ">="
|