@@ -5,7 +5,7 @@ class CliProxyTest < CliTestCase
5
5
run_command ( "boot" ) . tap do |output |
6
6
assert_match "docker login" , output
7
7
assert_match "mkdir -p .kamal/proxy/apps-config" , output
8
- assert_match "echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy" , output
8
+ assert_match "echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) $(cat .kamal/proxy/run_command 2> /dev/null || echo \" \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy" , output
9
9
end
10
10
end
11
11
@@ -19,7 +19,7 @@ class CliProxyTest < CliTestCase
19
19
exception = assert_raises do
20
20
run_command ( "boot" ) . tap do |output |
21
21
assert_match "docker login" , output
22
- assert_match "echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy" , output
22
+ assert_match "echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) $(cat .kamal/proxy/run_command 2> /dev/null || echo \" \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy" , output
23
23
end
24
24
end
25
25
@@ -37,7 +37,7 @@ class CliProxyTest < CliTestCase
37
37
38
38
run_command ( "boot" ) . tap do |output |
39
39
assert_match "docker login" , output
40
- assert_match "docker container start kamal-proxy || echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy" , output
40
+ assert_match "docker container start kamal-proxy || echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) $(cat .kamal/proxy/run_command 2> /dev/null || echo \" \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy" , output
41
41
end
42
42
ensure
43
43
Thread . report_on_exception = false
@@ -58,13 +58,13 @@ class CliProxyTest < CliTestCase
58
58
assert_match "docker container stop kamal-proxy on 1.1.1.1" , output
59
59
assert_match "docker container prune --force --filter label=org.opencontainers.image.title=kamal-proxy on 1.1.1.1" , output
60
60
assert_match "mkdir -p .kamal/proxy/apps-config on 1.1.1.1" , output
61
- assert_match "echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy --volume $(pwd)/.kamal/proxy/apps-config:/home/kamal-proxy/.apps-config on 1.1.1.1" , output
61
+ assert_match "echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) $(cat .kamal/proxy/run_command 2> /dev/null || echo \" \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy --volume $(pwd)/.kamal/proxy/apps-config:/home/kamal-proxy/.apps-config on 1.1.1.1" , output
62
62
assert_match "docker exec kamal-proxy kamal-proxy deploy app-web --target=\" abcdefabcdef:80\" --deploy-timeout=\" 6s\" --drain-timeout=\" 30s\" --buffer-requests --buffer-responses --log-request-header=\" Cache-Control\" --log-request-header=\" Last-Modified\" --log-request-header=\" User-Agent\" on 1.1.1.1" , output
63
63
64
64
assert_match "docker container stop kamal-proxy on 1.1.1.2" , output
65
65
assert_match "docker container prune --force --filter label=org.opencontainers.image.title=kamal-proxy on 1.1.1.2" , output
66
66
assert_match "mkdir -p .kamal/proxy/apps-config on 1.1.1.1" , output
67
- assert_match "echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy --volume $(pwd)/.kamal/proxy/apps-config:/home/kamal-proxy/.apps-config on 1.1.1.2" , output
67
+ assert_match "echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) $(cat .kamal/proxy/run_command 2> /dev/null || echo \" \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy --volume $(pwd)/.kamal/proxy/apps-config:/home/kamal-proxy/.apps-config on 1.1.1.2" , output
68
68
assert_match "docker exec kamal-proxy kamal-proxy deploy app-web --target=\" abcdefabcdef:80\" --deploy-timeout=\" 6s\" --drain-timeout=\" 30s\" --buffer-requests --buffer-responses --log-request-header=\" Cache-Control\" --log-request-header=\" Last-Modified\" --log-request-header=\" User-Agent\" on 1.1.1.2" , output
69
69
end
70
70
end
@@ -199,7 +199,7 @@ class CliProxyTest < CliTestCase
199
199
assert_match "/usr/bin/env mkdir -p .kamal" , output
200
200
assert_match "docker network create kamal" , output
201
201
assert_match "docker login -u [REDACTED] -p [REDACTED]" , output
202
- assert_match "docker container start kamal-proxy || echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy" , output
202
+ assert_match "docker container start kamal-proxy || echo $(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal ::Configuration ::PROXY_MINIMUM_VERSION } \" ) $(cat .kamal/proxy/run_command 2> /dev/null || echo \" \" ) | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy" , output
203
203
assert_match "/usr/bin/env mkdir -p .kamal" , output
204
204
assert_match %r{docker rename app-web-latest app-web-latest_replaced_.*} , output
205
205
assert_match "/usr/bin/env mkdir -p .kamal/apps/app/env/roles" , output
@@ -243,7 +243,9 @@ class CliProxyTest < CliTestCase
243
243
assert_match "Running /usr/bin/env mkdir -p .kamal/proxy on #{ host } " , output
244
244
assert_match "Running /usr/bin/env rm .kamal/proxy/options on #{ host } " , output
245
245
assert_match "Running /usr/bin/env rm .kamal/proxy/image on #{ host } " , output
246
- assert_match "Running /usr/bin/env rm .kamal/proxy/image_version on #{ host } " , output end
246
+ assert_match "Running /usr/bin/env rm .kamal/proxy/image_version on #{ host } " , output
247
+ assert_match "Running /usr/bin/env rm .kamal/proxy/run_command on #{ host } " , output
248
+ end
247
249
end
248
250
end
249
251
@@ -254,6 +256,7 @@ class CliProxyTest < CliTestCase
254
256
assert_match "Uploading \" --log-opt max-size=10m\" to .kamal/proxy/options on #{ host } " , output
255
257
assert_match "Running /usr/bin/env rm .kamal/proxy/image on #{ host } " , output
256
258
assert_match "Running /usr/bin/env rm .kamal/proxy/image_version on #{ host } " , output
259
+ assert_match "Running /usr/bin/env rm .kamal/proxy/run_command on #{ host } " , output
257
260
end
258
261
end
259
262
end
@@ -265,6 +268,7 @@ class CliProxyTest < CliTestCase
265
268
assert_match "Uploading \" --publish 80:80 --publish 443:443 --log-opt max-size=100m\" to .kamal/proxy/options on #{ host } " , output
266
269
assert_match "Running /usr/bin/env rm .kamal/proxy/image on #{ host } " , output
267
270
assert_match "Running /usr/bin/env rm .kamal/proxy/image_version on #{ host } " , output
271
+ assert_match "Running /usr/bin/env rm .kamal/proxy/run_command on #{ host } " , output
268
272
end
269
273
end
270
274
end
@@ -276,6 +280,7 @@ class CliProxyTest < CliTestCase
276
280
assert_match "Uploading \" --publish 80:80 --publish 443:443\" to .kamal/proxy/options on #{ host } " , output
277
281
assert_match "Running /usr/bin/env rm .kamal/proxy/image on #{ host } " , output
278
282
assert_match "Running /usr/bin/env rm .kamal/proxy/image_version on #{ host } " , output
283
+ assert_match "Running /usr/bin/env rm .kamal/proxy/run_command on #{ host } " , output
279
284
end
280
285
end
281
286
end
@@ -322,6 +327,7 @@ class CliProxyTest < CliTestCase
322
327
assert_match "Uploading \" --publish 80:80 --publish 443:443 --log-opt max-size=10m --label=foo=bar --add_host=thishost:thathost\" to .kamal/proxy/options on #{ host } " , output
323
328
assert_match "Running /usr/bin/env rm .kamal/proxy/image on #{ host } " , output
324
329
assert_match "Running /usr/bin/env rm .kamal/proxy/image_version on #{ host } " , output
330
+ assert_match "Running /usr/bin/env rm .kamal/proxy/run_command on #{ host } " , output
325
331
end
326
332
end
327
333
end
@@ -333,6 +339,7 @@ class CliProxyTest < CliTestCase
333
339
assert_match "Running /usr/bin/env rm .kamal/proxy/options on #{ host } " , output
334
340
assert_match "Uploading \" myreg/basecamp/kamal-proxy\" to .kamal/proxy/image on #{ host } " , output
335
341
assert_match "Running /usr/bin/env rm .kamal/proxy/image_version on #{ host } " , output
342
+ assert_match "Running /usr/bin/env rm .kamal/proxy/run_command on #{ host } " , output
336
343
end
337
344
end
338
345
end
@@ -344,6 +351,7 @@ class CliProxyTest < CliTestCase
344
351
assert_match "Running /usr/bin/env rm .kamal/proxy/options on #{ host } " , output
345
352
assert_match "Uploading \" myrepo/kamal-proxy\" to .kamal/proxy/image on #{ host } " , output
346
353
assert_match "Running /usr/bin/env rm .kamal/proxy/image_version on #{ host } " , output
354
+ assert_match "Running /usr/bin/env rm .kamal/proxy/run_command on #{ host } " , output
347
355
end
348
356
end
349
357
end
@@ -355,23 +363,37 @@ class CliProxyTest < CliTestCase
355
363
assert_match "Running /usr/bin/env rm .kamal/proxy/options on #{ host } " , output
356
364
assert_match "Running /usr/bin/env rm .kamal/proxy/image on #{ host } " , output
357
365
assert_match "Uploading \" 0.9.9\" to .kamal/proxy/image_version on #{ host } " , output
366
+ assert_match "Running /usr/bin/env rm .kamal/proxy/run_command on #{ host } " , output
367
+ end
368
+ end
369
+ end
370
+
371
+ test "boot_config set run_command" do
372
+ run_command ( "boot_config" , "set" , "--metrics_port" , "9000" , "--debug" , "true" ) . tap do |output |
373
+ %w[ 1.1.1.1 1.1.1.2 ] . each do |host |
374
+ assert_match "Running /usr/bin/env mkdir -p .kamal/proxy on #{ host } " , output
375
+ assert_match "Running /usr/bin/env rm .kamal/proxy/options on #{ host } " , output
376
+ assert_match "Running /usr/bin/env rm .kamal/proxy/image on #{ host } " , output
377
+ assert_match "Running /usr/bin/env rm .kamal/proxy/image_version on #{ host } " , output
378
+ assert_match "Uploading \" kamal-proxy run --debug --metrics-port \\ \" 9000\\ \" \" to .kamal/proxy/run_command on #{ host } " , output
358
379
end
359
380
end
360
381
end
361
382
362
383
test "boot_config set all" do
363
- run_command ( "boot_config" , "set" , "--docker_options" , "label=foo=bar" , "--registry" , "myreg" , "--repository" , "myrepo" , "--image_version" , "0.9.9" ) . tap do |output |
384
+ run_command ( "boot_config" , "set" , "--docker_options" , "label=foo=bar" , "--registry" , "myreg" , "--repository" , "myrepo" , "--image_version" , "0.9.9" , "--metrics_port" , "9000" , "--debug" , "true" ) . tap do |output |
364
385
%w[ 1.1.1.1 1.1.1.2 ] . each do |host |
365
386
assert_match "Uploading \" --publish 80:80 --publish 443:443 --log-opt max-size=10m --label=foo=bar\" to .kamal/proxy/options on #{ host } " , output
366
387
assert_match "Uploading \" myreg/myrepo/kamal-proxy\" to .kamal/proxy/image on #{ host } " , output
367
388
assert_match "Uploading \" 0.9.9\" to .kamal/proxy/image_version on #{ host } " , output
389
+ assert_match "Uploading \" kamal-proxy run --debug --metrics-port \\ \" 9000\\ \" \" to .kamal/proxy/run_command on #{ host } " , output
368
390
end
369
391
end
370
392
end
371
393
372
394
test "boot_config get" do
373
395
SSHKit ::Backend ::Abstract . any_instance . expects ( :capture_with_info )
374
- . with ( :echo , "$(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" v0.8.7 \" )" )
396
+ . with ( :echo , "$(cat .kamal/proxy/options 2> /dev/null || echo \" --publish 80:80 --publish 443:443 --log-opt max-size=10m\" ) $(cat .kamal/proxy/image 2> /dev/null || echo \" basecamp/kamal-proxy\" ):$(cat .kamal/proxy/image_version 2> /dev/null || echo \" #{ Kamal :: Configuration :: PROXY_MINIMUM_VERSION } \" ) $(cat .kamal/proxy/run_command 2> /dev/null || echo \" \" )" )
375
397
. returns ( "--publish 80:80 --publish 8443:443 --label=foo=bar basecamp/kamal-proxy:v1.0.0" )
376
398
. twice
377
399
0 commit comments