kontena-cli 0.16.0.pre7 → 0.16.0.pre8
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/kontena-cli.gemspec +2 -5
- data/lib/kontena/callbacks/master/deploy/05_before_deploy_configuration_wizard.rb +15 -21
- data/lib/kontena/callbacks/master/deploy/50_authenticate_after_deploy.rb +5 -3
- data/lib/kontena/callbacks/master/deploy/55_create_initial_grid_after_deploy.rb +3 -1
- data/lib/kontena/callbacks/master/deploy/60_configure_auth_provider_after_deploy.rb +7 -18
- data/lib/kontena/callbacks/master/deploy/70_invite_self_after_deploy.rb +93 -0
- data/lib/kontena/callbacks/master/deploy/90_proptip_after_deploy.rb +33 -0
- data/lib/kontena/cli/apps/build_command.rb +2 -1
- data/lib/kontena/cli/apps/common.rb +3 -2
- data/lib/kontena/cli/apps/config_command.rb +3 -3
- data/lib/kontena/cli/apps/deploy_command.rb +1 -0
- data/lib/kontena/cli/apps/docker_helper.rb +7 -7
- data/lib/kontena/cli/apps/list_command.rb +1 -1
- data/lib/kontena/cli/apps/logs_command.rb +1 -1
- data/lib/kontena/cli/apps/monitor_command.rb +2 -2
- data/lib/kontena/cli/apps/remove_command.rb +1 -1
- data/lib/kontena/cli/apps/restart_command.rb +1 -1
- data/lib/kontena/cli/apps/scale_command.rb +1 -1
- data/lib/kontena/cli/apps/start_command.rb +1 -1
- data/lib/kontena/cli/apps/stop_command.rb +1 -1
- data/lib/kontena/cli/apps/yaml/custom_validators/affinities_validator.rb +19 -0
- data/lib/kontena/cli/apps/yaml/custom_validators/build_validator.rb +22 -0
- data/lib/kontena/cli/apps/yaml/custom_validators/extends_validator.rb +21 -0
- data/lib/kontena/cli/apps/yaml/custom_validators/hooks_validator.rb +54 -0
- data/lib/kontena/cli/apps/yaml/custom_validators/secrets_validator.rb +22 -0
- data/lib/kontena/cli/apps/yaml/validations.rb +60 -90
- data/lib/kontena/cli/apps/yaml/validator.rb +9 -31
- data/lib/kontena/cli/apps/yaml/validator_v2.rb +13 -40
- data/lib/kontena/cli/cloud/login_command.rb +2 -2
- data/lib/kontena/cli/cloud/master/add_command.rb +114 -34
- data/lib/kontena/cli/cloud/master/list_command.rb +5 -2
- data/lib/kontena/cli/cloud/master/remove_command.rb +69 -0
- data/lib/kontena/cli/cloud/master_command.rb +2 -2
- data/lib/kontena/cli/common.rb +10 -17
- data/lib/kontena/cli/config.rb +4 -3
- data/lib/kontena/cli/grids/env_command.rb +5 -5
- data/lib/kontena/cli/localhost_web_server.rb +1 -1
- data/lib/kontena/cli/master/init_cloud_command.rb +21 -0
- data/lib/kontena/cli/master/login_command.rb +28 -29
- data/lib/kontena/cli/master/remove_command.rb +58 -0
- data/lib/kontena/cli/master/token/create_command.rb +6 -0
- data/lib/kontena/cli/master/users/invite_command.rb +4 -1
- data/lib/kontena/cli/master/users/roles/add_command.rb +4 -3
- data/lib/kontena/cli/master_command.rb +8 -9
- data/lib/kontena/cli/services/list_command.rb +3 -2
- data/lib/kontena/cli/services/services_helper.rb +1 -1
- data/lib/kontena/client.rb +31 -47
- data/lib/kontena/presets/kontena_auth_provider.yml +2 -2
- data/lib/kontena_cli.rb +12 -0
- data/spec/kontena/cli/app/docker_helper_spec.rb +9 -4
- data/spec/kontena/cli/app/yaml/validator_spec.rb +66 -71
- data/spec/kontena/cli/app/yaml/validator_v2_spec.rb +51 -58
- metadata +25 -59
- data/lib/kontena/callbacks/master/deploy/90_suggest_inviting_yourself_after_deploy.rb +0 -24
- data/lib/kontena/cli/cloud/master/delete_command.rb +0 -20
@@ -2,31 +2,24 @@ require_relative '../../../../spec_helper'
|
|
2
2
|
require 'kontena/cli/apps/yaml/validator_v2'
|
3
3
|
|
4
4
|
describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
5
|
-
describe '#validate_keys' do
|
6
|
-
it 'returns error on invalid key' do
|
7
|
-
result = subject.validate_keys('name' => 'wordpress')
|
8
|
-
expect(result['name'].size).to eq(1)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
5
|
describe '#validate_options' do
|
13
6
|
context 'build' do
|
14
7
|
it 'can be string' do
|
15
8
|
result = subject.validate_options('build' => '.')
|
16
|
-
expect(result.
|
17
|
-
expect(result.
|
9
|
+
expect(result.valid?).to be_truthy
|
10
|
+
expect(result.errors.key?('build')).to be_falsey
|
18
11
|
end
|
19
12
|
|
20
13
|
it 'can be hash' do
|
21
14
|
result = subject.validate_options('build' => { 'context' => '.' })
|
22
|
-
expect(result.
|
23
|
-
expect(result.
|
15
|
+
expect(result.valid?).to be_truthy
|
16
|
+
expect(result.errors.key?('build')).to be_falsey
|
24
17
|
end
|
25
18
|
|
26
19
|
it 'returns error if build is hash and context is missing' do
|
27
20
|
result = subject.validate_options('build' => {})
|
28
|
-
expect(result.
|
29
|
-
expect(result.
|
21
|
+
expect(result.valid?).to be_falsey
|
22
|
+
expect(result.errors.key?('build')).to be_truthy
|
30
23
|
end
|
31
24
|
|
32
25
|
it 'returns error if optional dockerfile is not string' do
|
@@ -34,110 +27,110 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
34
27
|
'context' => '.',
|
35
28
|
'dockerfile' => 123
|
36
29
|
})
|
37
|
-
expect(result.
|
38
|
-
expect(result.
|
30
|
+
expect(result.valid?).to be_falsey
|
31
|
+
expect(result.errors.key?('build')).to be_truthy
|
39
32
|
end
|
40
33
|
end
|
41
34
|
it 'validates image is string' do
|
42
35
|
result = subject.validate_options('image' => true)
|
43
|
-
expect(result.
|
44
|
-
expect(result.
|
36
|
+
expect(result.valid?).to be_falsey
|
37
|
+
expect(result.errors.key?('image')).to be_truthy
|
45
38
|
end
|
46
39
|
|
47
40
|
it 'validates stateful is boolean' do
|
48
41
|
result = subject.validate_options('stateful' => 'bool')
|
49
|
-
expect(result.
|
42
|
+
expect(result.errors.key?('stateful')).to be_truthy
|
50
43
|
end
|
51
44
|
|
52
45
|
it 'validates network_mode is host or bridge' do
|
53
46
|
result = subject.validate_options('network_mode' => 'invalid')
|
54
|
-
expect(result.
|
47
|
+
expect(result.errors.key?('network_mode')).to be_truthy
|
55
48
|
|
56
49
|
result = subject.validate_options('network_mode' => 'bridge')
|
57
|
-
expect(result.
|
50
|
+
expect(result.errors.key?('network_mode')).to be_falsey
|
58
51
|
|
59
52
|
result = subject.validate_options('network_mode' => 'host')
|
60
|
-
expect(result.
|
53
|
+
expect(result.errors.key?('network_mode')).to be_falsey
|
61
54
|
end
|
62
55
|
|
63
56
|
context 'affinity' do
|
64
57
|
it 'is optional' do
|
65
58
|
result = subject.validate_options({})
|
66
|
-
expect(result.
|
59
|
+
expect(result.errors.key?('affinity')).to be_falsey
|
67
60
|
end
|
68
61
|
|
69
62
|
it 'must be array' do
|
70
63
|
result = subject.validate_options('affinity' => 'node==node1')
|
71
|
-
expect(result.
|
64
|
+
expect(result.errors.key?('affinity')).to be_truthy
|
72
65
|
result = subject.validate_options('affinity' => ['node==node1'])
|
73
|
-
expect(result.
|
66
|
+
expect(result.errors.key?('affinity')).to be_falsey
|
74
67
|
end
|
75
68
|
|
76
69
|
it 'validates format' do
|
77
70
|
result = subject.validate_options('affinity' => ['node=node1'])
|
78
|
-
expect(result.
|
71
|
+
expect(result.errors.key?('affinity')).to be_truthy
|
79
72
|
|
80
73
|
result = subject.validate_options('affinity' => ['node==node1', 'service!=mariadb'])
|
81
|
-
expect(result.
|
74
|
+
expect(result.errors.key?('affinity')).to be_falsey
|
82
75
|
end
|
83
76
|
end
|
84
77
|
|
85
78
|
context 'command' do
|
86
79
|
it 'is optional' do
|
87
80
|
result = subject.validate_options({})
|
88
|
-
expect(result.
|
81
|
+
expect(result.errors.key?('command')).to be_falsey
|
89
82
|
end
|
90
83
|
|
91
84
|
it 'must be string or empty' do
|
92
85
|
result = subject.validate_options('command' => 1234)
|
93
|
-
expect(result.
|
86
|
+
expect(result.errors.key?('command')).to be_truthy
|
94
87
|
|
95
88
|
result = subject.validate_options('command' => nil)
|
96
|
-
expect(result.
|
89
|
+
expect(result.errors.key?('command')).to be_falsey
|
97
90
|
|
98
91
|
result = subject.validate_options('command' => 'bundle exec rails s')
|
99
|
-
expect(result.
|
92
|
+
expect(result.errors.key?('command')).to be_falsey
|
100
93
|
end
|
101
94
|
end
|
102
95
|
|
103
96
|
it 'validates cpu_shares is integer' do
|
104
97
|
result = subject.validate_options('cpu_shares' => '1m')
|
105
|
-
expect(result.
|
98
|
+
expect(result.errors.key?('cpu_shares')).to be_truthy
|
106
99
|
result = subject.validate_options('cpu_shares' => 1024)
|
107
|
-
expect(result.
|
100
|
+
expect(result.errors.key?('cpu_shares')).to be_falsey
|
108
101
|
result = subject.validate_options({})
|
109
|
-
expect(result.
|
102
|
+
expect(result.errors.key?('cpu_shares')).to be_falsey
|
110
103
|
end
|
111
104
|
|
112
105
|
it 'validates environment is array or hash' do
|
113
106
|
result = subject.validate_options('environment' => 'KEY=VALUE')
|
114
|
-
expect(result.
|
107
|
+
expect(result.errors.key?('environment')).to be_truthy
|
115
108
|
result = subject.validate_options('environment' => ['KEY=VALUE'])
|
116
|
-
expect(result.
|
109
|
+
expect(result.errors.key?('environment')).to be_falsey
|
117
110
|
result = subject.validate_options('environment' => { 'KEY' => 'VALUE' })
|
118
|
-
expect(result.
|
111
|
+
expect(result.errors.key?('environment')).to be_falsey
|
119
112
|
end
|
120
113
|
|
121
114
|
context 'validates secrets' do
|
122
115
|
it 'must be array' do
|
123
116
|
result = subject.validate_options('secrets' => {})
|
124
|
-
expect(result.
|
117
|
+
expect(result.errors.key?('secrets')).to be_truthy
|
125
118
|
end
|
126
119
|
|
127
120
|
context 'item' do
|
128
121
|
it 'must contain secret' do
|
129
122
|
result = subject.validate_options('secrets' => [{ 'name' => 'test', 'type' => 'env' }])
|
130
|
-
expect(result.
|
123
|
+
expect(result.errors.key?('secrets')).to be_truthy
|
131
124
|
end
|
132
125
|
|
133
126
|
it 'must contain name' do
|
134
127
|
result = subject.validate_options('secrets' => [{ 'secret' => 'test', 'type' => 'env' }])
|
135
|
-
expect(result.
|
128
|
+
expect(result.errors.key?('secrets')).to be_truthy
|
136
129
|
end
|
137
130
|
|
138
131
|
it 'must contain type' do
|
139
132
|
result = subject.validate_options('secrets' => [{ 'secret' => 'test', 'name' => 'test' }])
|
140
|
-
expect(result.
|
133
|
+
expect(result.errors.key?('secrets')).to be_truthy
|
141
134
|
end
|
142
135
|
|
143
136
|
it 'accepts valid input' do
|
@@ -149,7 +142,7 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
149
142
|
'type' => 'env'
|
150
143
|
}
|
151
144
|
])
|
152
|
-
expect(result.
|
145
|
+
expect(result.errors.key?('secrets')).to be_falsey
|
153
146
|
end
|
154
147
|
end
|
155
148
|
end
|
@@ -158,7 +151,7 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
158
151
|
context 'options' do
|
159
152
|
it 'must be hash' do
|
160
153
|
result = subject.validate_options('logging' => { 'options' => [] })
|
161
|
-
expect(result.
|
154
|
+
expect(result.errors.key?('logging')).to be_truthy
|
162
155
|
data = {
|
163
156
|
'logging' => {
|
164
157
|
'options' => {
|
@@ -167,7 +160,7 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
167
160
|
}
|
168
161
|
}
|
169
162
|
result = subject.validate_options(data)
|
170
|
-
expect(result.
|
163
|
+
expect(result.errors.key?('logging')).to be_falsey
|
171
164
|
end
|
172
165
|
end
|
173
166
|
end
|
@@ -176,7 +169,7 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
176
169
|
context 'validates pre_build' do
|
177
170
|
it 'must be array' do
|
178
171
|
result = subject.validate_options('hooks' => { 'pre_build' => {} })
|
179
|
-
expect(result.
|
172
|
+
expect(result.errors.key?('hooks')).to be_truthy
|
180
173
|
data = {
|
181
174
|
'hooks' => {
|
182
175
|
'pre_build' => [
|
@@ -187,13 +180,13 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
187
180
|
}
|
188
181
|
}
|
189
182
|
result = subject.validate_options(data)
|
190
|
-
expect(result.
|
183
|
+
expect(result.errors.key?('hooks')).to be_falsey
|
191
184
|
end
|
192
185
|
end
|
193
186
|
context 'post_start' do
|
194
187
|
it 'must be array' do
|
195
188
|
result = subject.validate_options('hooks' => { 'post_start' => {} })
|
196
|
-
expect(result.
|
189
|
+
expect(result.errors.key?('hooks')).to be_truthy
|
197
190
|
data = {
|
198
191
|
'hooks' => {
|
199
192
|
'post_start' => [
|
@@ -206,7 +199,7 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
206
199
|
}
|
207
200
|
}
|
208
201
|
result = subject.validate_options(data)
|
209
|
-
expect(result.
|
202
|
+
expect(result.errors.key?('hooks')).to be_falsey
|
210
203
|
end
|
211
204
|
|
212
205
|
context 'item' do
|
@@ -220,7 +213,7 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
220
213
|
}
|
221
214
|
]
|
222
215
|
})
|
223
|
-
expect(result.
|
216
|
+
expect(result.errors.key?('hooks.post_start')).to be_truthy
|
224
217
|
end
|
225
218
|
|
226
219
|
it 'must contain cmd' do
|
@@ -233,7 +226,7 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
233
226
|
}
|
234
227
|
]
|
235
228
|
})
|
236
|
-
expect(result.
|
229
|
+
expect(result.errors.key?('hooks.post_start')).to be_truthy
|
237
230
|
end
|
238
231
|
|
239
232
|
it 'must contain instance number or *' do
|
@@ -245,7 +238,7 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
245
238
|
}
|
246
239
|
]
|
247
240
|
})
|
248
|
-
expect(result.
|
241
|
+
expect(result.errors.key?('hooks.post_start')).to be_truthy
|
249
242
|
data = {
|
250
243
|
'hooks' => {
|
251
244
|
'post_start' => [
|
@@ -259,7 +252,7 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
259
252
|
}
|
260
253
|
}
|
261
254
|
result = subject.validate_options(data)
|
262
|
-
expect(result.
|
255
|
+
expect(result.errors.key?('hooks.post_start')).to be_truthy
|
263
256
|
end
|
264
257
|
|
265
258
|
it 'may contain boolean oneshot' do
|
@@ -276,32 +269,32 @@ describe Kontena::Cli::Apps::YAML::ValidatorV2 do
|
|
276
269
|
}
|
277
270
|
}
|
278
271
|
result = subject.validate_options(data)
|
279
|
-
expect(result.
|
272
|
+
expect(result.errors.key?('hooks.post_start')).to be_truthy
|
280
273
|
end
|
281
274
|
end
|
282
275
|
|
283
276
|
it 'validates depends_on is array' do
|
284
277
|
result = subject.validate_options('depends_on' => 'web')
|
285
|
-
expect(result.
|
278
|
+
expect(result.errors.key?('depends_on')).to be_truthy
|
286
279
|
|
287
280
|
result = subject.validate_options('depends_on' => ['web'])
|
288
|
-
expect(result.
|
281
|
+
expect(result.errors.key?('depends_on')).to be_falsey
|
289
282
|
end
|
290
283
|
|
291
284
|
it 'validates volumes is array' do
|
292
285
|
result = subject.validate_options('volumes' => '/app')
|
293
|
-
expect(result.
|
286
|
+
expect(result.errors.key?('volumes')).to be_truthy
|
294
287
|
|
295
288
|
result = subject.validate_options('volumes' => ['/app'])
|
296
|
-
expect(result.
|
289
|
+
expect(result.errors.key?('volumes')).to be_falsey
|
297
290
|
end
|
298
291
|
|
299
292
|
it 'validates volumes_from is array' do
|
300
293
|
result = subject.validate_options('volumes_from' => 'mysql_data')
|
301
|
-
expect(result.
|
294
|
+
expect(result.errors.key?('volumes_from')).to be_truthy
|
302
295
|
|
303
296
|
result = subject.validate_options('volumes_from' => ['mysql_data'])
|
304
|
-
expect(result.
|
297
|
+
expect(result.errors.key?('volumes_from')).to be_falsey
|
305
298
|
end
|
306
299
|
end
|
307
300
|
end
|
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: 0.16.0.
|
4
|
+
version: 0.16.0.pre8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kontena, Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -95,89 +95,47 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.0.2
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - '='
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 0.8.0
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - '='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 0.8.0
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: dry-types
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - '='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 0.8.0
|
118
|
-
type: :runtime
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - '='
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 0.8.0
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: dry-configurable
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - '='
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 0.1.6
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - '='
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 0.1.6
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: dry-monads
|
98
|
+
name: launchy
|
141
99
|
requirement: !ruby/object:Gem::Requirement
|
142
100
|
requirements:
|
143
|
-
- -
|
101
|
+
- - "~>"
|
144
102
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
103
|
+
version: 2.4.3
|
146
104
|
type: :runtime
|
147
105
|
prerelease: false
|
148
106
|
version_requirements: !ruby/object:Gem::Requirement
|
149
107
|
requirements:
|
150
|
-
- -
|
108
|
+
- - "~>"
|
151
109
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
110
|
+
version: 2.4.3
|
153
111
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
112
|
+
name: hash_validator
|
155
113
|
requirement: !ruby/object:Gem::Requirement
|
156
114
|
requirements:
|
157
|
-
- -
|
115
|
+
- - "~>"
|
158
116
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0.
|
117
|
+
version: 0.7.0
|
160
118
|
type: :runtime
|
161
119
|
prerelease: false
|
162
120
|
version_requirements: !ruby/object:Gem::Requirement
|
163
121
|
requirements:
|
164
|
-
- -
|
122
|
+
- - "~>"
|
165
123
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0.
|
124
|
+
version: 0.7.0
|
167
125
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
126
|
+
name: retriable
|
169
127
|
requirement: !ruby/object:Gem::Requirement
|
170
128
|
requirements:
|
171
129
|
- - "~>"
|
172
130
|
- !ruby/object:Gem::Version
|
173
|
-
version: 2.
|
131
|
+
version: 2.1.0
|
174
132
|
type: :runtime
|
175
133
|
prerelease: false
|
176
134
|
version_requirements: !ruby/object:Gem::Requirement
|
177
135
|
requirements:
|
178
136
|
- - "~>"
|
179
137
|
- !ruby/object:Gem::Version
|
180
|
-
version: 2.
|
138
|
+
version: 2.1.0
|
181
139
|
description: Kontena command line tool
|
182
140
|
email:
|
183
141
|
- info@kontena.io
|
@@ -218,7 +176,8 @@ files:
|
|
218
176
|
- lib/kontena/callbacks/master/deploy/50_authenticate_after_deploy.rb
|
219
177
|
- lib/kontena/callbacks/master/deploy/55_create_initial_grid_after_deploy.rb
|
220
178
|
- lib/kontena/callbacks/master/deploy/60_configure_auth_provider_after_deploy.rb
|
221
|
-
- lib/kontena/callbacks/master/deploy/
|
179
|
+
- lib/kontena/callbacks/master/deploy/70_invite_self_after_deploy.rb
|
180
|
+
- lib/kontena/callbacks/master/deploy/90_proptip_after_deploy.rb
|
222
181
|
- lib/kontena/cli/app_command.rb
|
223
182
|
- lib/kontena/cli/apps/build_command.rb
|
224
183
|
- lib/kontena/cli/apps/common.rb
|
@@ -240,6 +199,11 @@ files:
|
|
240
199
|
- lib/kontena/cli/apps/show_command.rb
|
241
200
|
- lib/kontena/cli/apps/start_command.rb
|
242
201
|
- lib/kontena/cli/apps/stop_command.rb
|
202
|
+
- lib/kontena/cli/apps/yaml/custom_validators/affinities_validator.rb
|
203
|
+
- lib/kontena/cli/apps/yaml/custom_validators/build_validator.rb
|
204
|
+
- lib/kontena/cli/apps/yaml/custom_validators/extends_validator.rb
|
205
|
+
- lib/kontena/cli/apps/yaml/custom_validators/hooks_validator.rb
|
206
|
+
- lib/kontena/cli/apps/yaml/custom_validators/secrets_validator.rb
|
243
207
|
- lib/kontena/cli/apps/yaml/reader.rb
|
244
208
|
- lib/kontena/cli/apps/yaml/service_extender.rb
|
245
209
|
- lib/kontena/cli/apps/yaml/validations.rb
|
@@ -253,8 +217,8 @@ files:
|
|
253
217
|
- lib/kontena/cli/cloud/login_command.rb
|
254
218
|
- lib/kontena/cli/cloud/logout_command.rb
|
255
219
|
- lib/kontena/cli/cloud/master/add_command.rb
|
256
|
-
- lib/kontena/cli/cloud/master/delete_command.rb
|
257
220
|
- lib/kontena/cli/cloud/master/list_command.rb
|
221
|
+
- lib/kontena/cli/cloud/master/remove_command.rb
|
258
222
|
- lib/kontena/cli/cloud/master/show_command.rb
|
259
223
|
- lib/kontena/cli/cloud/master/update_command.rb
|
260
224
|
- lib/kontena/cli/cloud/master_command.rb
|
@@ -313,10 +277,12 @@ files:
|
|
313
277
|
- lib/kontena/cli/master/config_command.rb
|
314
278
|
- lib/kontena/cli/master/create_command.rb
|
315
279
|
- lib/kontena/cli/master/current_command.rb
|
280
|
+
- lib/kontena/cli/master/init_cloud_command.rb
|
316
281
|
- lib/kontena/cli/master/join_command.rb
|
317
282
|
- lib/kontena/cli/master/list_command.rb
|
318
283
|
- lib/kontena/cli/master/login_command.rb
|
319
284
|
- lib/kontena/cli/master/logout_command.rb
|
285
|
+
- lib/kontena/cli/master/remove_command.rb
|
320
286
|
- lib/kontena/cli/master/token/common.rb
|
321
287
|
- lib/kontena/cli/master/token/create_command.rb
|
322
288
|
- lib/kontena/cli/master/token/current_command.rb
|