kontena-cli 1.2.1 → 1.2.2.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/kontena/callbacks/master/deploy/50_authenticate_after_deploy.rb +1 -0
- data/lib/kontena/cli/grids/update_command.rb +13 -2
- data/lib/kontena/cli/registry/create_command.rb +1 -0
- data/lib/kontena/cli/stacks/yaml/validations.rb +17 -1
- data/omnibus/config/projects/kontena.rb +2 -1
- data/spec/kontena/cli/grids/update_command_spec.rb +18 -0
- data/spec/kontena/cli/stacks/yaml/validator_v3_spec.rb +12 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7db7c48764f8cf25a6c8299cfea9a9114bf22e60
|
4
|
+
data.tar.gz: 6dd47f6ca45694944a84a785f4e44dd1e679813d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 66602d4abf1853a69113535b6df1c680e957c9fb505ba7c616ea9d72e4eb9fa501b0f5627ae73565688c98035030cecf3b44aa2306c6268810cf22f5b4396ab6
|
7
|
+
data.tar.gz: 0403f16eff264d3841a9b56b508ddd6f789f353d8bc91b85a95853a6562951a0f2a8987878b66ab292faed249ea83e1c4fa7b792d0b454742826532c19d8c0e4
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.2.rc1
|
@@ -7,8 +7,10 @@ module Kontena::Cli::Grids
|
|
7
7
|
|
8
8
|
parameter "NAME", "Grid name"
|
9
9
|
option "--statsd-server", "STATSD_SERVER", "Statsd server address (host:port)"
|
10
|
+
option "--no-statsd-server", :flag, "Unset statsd server setting"
|
10
11
|
option "--default-affinity", "[AFFINITY]", "Default affinity rule for the grid", multivalued: true
|
11
|
-
option "--
|
12
|
+
option "--no-default-affinity", :flag, "Unset grid default affinity"
|
13
|
+
option "--log-forwarder", "LOG_FORWARDER", "Set grid wide log forwarder (set to 'none' to disable)"
|
12
14
|
option "--log-opt", "[LOG_OPT]", "Set log options (key=value)", multivalued: true
|
13
15
|
|
14
16
|
def execute
|
@@ -26,6 +28,10 @@ module Kontena::Cli::Grids
|
|
26
28
|
}
|
27
29
|
end
|
28
30
|
|
31
|
+
if no_statsd_server?
|
32
|
+
payload[:stats] = { statsd: nil }
|
33
|
+
end
|
34
|
+
|
29
35
|
if log_forwarder
|
30
36
|
payload[:logs] = {
|
31
37
|
forwarder: log_forwarder,
|
@@ -33,9 +39,14 @@ module Kontena::Cli::Grids
|
|
33
39
|
}
|
34
40
|
end
|
35
41
|
|
36
|
-
|
42
|
+
unless default_affinity_list.empty?
|
37
43
|
payload[:default_affinity] = default_affinity_list
|
38
44
|
end
|
45
|
+
|
46
|
+
if no_default_affinity?
|
47
|
+
payload[:default_affinity] = []
|
48
|
+
end
|
49
|
+
|
39
50
|
client(token).put("grids/#{name}", payload)
|
40
51
|
end
|
41
52
|
|
@@ -31,7 +31,23 @@ module Kontena::Cli::Stacks::YAML
|
|
31
31
|
'external_links' => optional('array'),
|
32
32
|
'mem_limit' => optional('string'),
|
33
33
|
'mem_swaplimit' => optional('string'),
|
34
|
-
'environment' => optional(-> (value) {
|
34
|
+
'environment' => optional(-> (value) {
|
35
|
+
if value.is_a?(Hash)
|
36
|
+
value.all? do |k,v|
|
37
|
+
k.kind_of?(String) && (
|
38
|
+
v.kind_of?(String) ||
|
39
|
+
v.kind_of?(Integer) ||
|
40
|
+
v.kind_of?(TrueClass) ||
|
41
|
+
v.kind_of?(FalseClass) ||
|
42
|
+
v.nil?
|
43
|
+
)
|
44
|
+
end
|
45
|
+
elsif value.is_a?(Array)
|
46
|
+
value.all? { |v| v.kind_of?(String) && v =~ /\A\S+(?<!\\)=.*/ }
|
47
|
+
else
|
48
|
+
false
|
49
|
+
end
|
50
|
+
}),
|
35
51
|
'env_file' => optional(-> (value) { value.is_a?(String) || value.is_a?(Array) }),
|
36
52
|
'instances' => optional('integer'),
|
37
53
|
'links' => optional(-> (value) { value.is_a?(Array) || value.nil? }),
|
@@ -41,6 +41,24 @@ describe Kontena::Cli::Grids::UpdateCommand do
|
|
41
41
|
)
|
42
42
|
subject.run(['--log-forwarder', 'fluentd', '--log-opt', 'foo=bar', 'test'])
|
43
43
|
end
|
44
|
+
|
45
|
+
it 'should send empty statsd when --no-statsd-server given' do
|
46
|
+
expect(client).to receive(:put).with(
|
47
|
+
'grids/test', hash_including({
|
48
|
+
stats: { statsd: nil }
|
49
|
+
})
|
50
|
+
)
|
51
|
+
subject.run(['--no-statsd-server', 'test'])
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'should send empty default_affinity when --no-default-affinity given' do
|
55
|
+
expect(client).to receive(:put).with(
|
56
|
+
'grids/test', hash_including({
|
57
|
+
default_affinity: []
|
58
|
+
})
|
59
|
+
)
|
60
|
+
subject.run(['--no-default-affinity', 'test'])
|
61
|
+
end
|
44
62
|
end
|
45
63
|
end
|
46
64
|
end
|
@@ -110,6 +110,18 @@ describe Kontena::Cli::Stacks::YAML::ValidatorV3 do
|
|
110
110
|
expect(result.errors.key?('environment')).to be_falsey
|
111
111
|
end
|
112
112
|
|
113
|
+
it 'fails validation if environment array includes items without equals sign' do
|
114
|
+
result = subject.validate_options('environment' => ['KEY=VALUE', 'KEY2=VALUE2'])
|
115
|
+
expect(result.errors.key?('environment')).to be_falsey
|
116
|
+
result = subject.validate_options('environment' => ['KEY=VALUE', 'KEY2 VALUE'])
|
117
|
+
expect(result.errors.key?('environment')).to be_truthy
|
118
|
+
end
|
119
|
+
|
120
|
+
it 'passes validation if environment array includes items with booleans or nils' do
|
121
|
+
result = subject.validate_options('environment' => { 'KEY' => true, 'KEY2' => false, 'KEY3' => nil })
|
122
|
+
expect(result.errors.key?('environment')).to be_falsey
|
123
|
+
end
|
124
|
+
|
113
125
|
context 'validates secrets' do
|
114
126
|
it 'must be array' do
|
115
127
|
result = subject.validate_options('secrets' => {})
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kontena-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.2.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kontena, Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -662,9 +662,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
662
662
|
version: 2.1.0
|
663
663
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
664
664
|
requirements:
|
665
|
-
- - "
|
665
|
+
- - ">"
|
666
666
|
- !ruby/object:Gem::Version
|
667
|
-
version:
|
667
|
+
version: 1.3.1
|
668
668
|
requirements: []
|
669
669
|
rubyforge_project:
|
670
670
|
rubygems_version: 2.6.8
|