kontena-cli 0.16.0.pre7 → 0.16.0.pre8
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/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
|