44class Kamal ::Cli ::Accessory < Kamal ::Cli ::Base
55 desc "boot [NAME]" , "Boot new accessory service on host (use NAME=all to boot all accessories)"
66 def boot ( name , prepare : true )
7- with_lock do
7+ modify ( lock : true ) do
88 if name == "all"
99 KAMAL . accessory_names . each { |accessory_name | boot ( accessory_name ) }
1010 else
@@ -42,7 +42,7 @@ def boot(name, prepare: true)
4242
4343 desc "upload [NAME]" , "Upload accessory files to host" , hide : true
4444 def upload ( name )
45- with_lock do
45+ modify ( lock : true ) do
4646 with_accessory ( name ) do |accessory , hosts |
4747 on ( hosts ) do
4848 accessory . files . each do |( local , config ) |
@@ -61,7 +61,7 @@ def upload(name)
6161
6262 desc "directories [NAME]" , "Create accessory directories on host" , hide : true
6363 def directories ( name )
64- with_lock do
64+ modify ( lock : true ) do
6565 with_accessory ( name ) do |accessory , hosts |
6666 on ( hosts ) do
6767 accessory . directories . each do |( local , config ) |
@@ -76,7 +76,7 @@ def directories(name)
7676
7777 desc "reboot [NAME]" , "Reboot existing accessory on host (stop container, remove container, start new container; use NAME=all to boot all accessories)"
7878 def reboot ( name )
79- with_lock do
79+ modify ( lock : true ) do
8080 if name == "all"
8181 KAMAL . accessory_names . each { |accessory_name | reboot ( accessory_name ) }
8282 else
@@ -91,7 +91,7 @@ def reboot(name)
9191
9292 desc "start [NAME]" , "Start existing accessory container on host"
9393 def start ( name )
94- with_lock do
94+ modify ( lock : true ) do
9595 with_accessory ( name ) do |accessory , hosts |
9696 on ( hosts ) do
9797 execute *KAMAL . auditor . record ( "Started #{ name } accessory" ) , verbosity : :debug
@@ -107,7 +107,7 @@ def start(name)
107107
108108 desc "stop [NAME]" , "Stop existing accessory container on host"
109109 def stop ( name )
110- with_lock do
110+ modify ( lock : true ) do
111111 with_accessory ( name ) do |accessory , hosts |
112112 on ( hosts ) do
113113 execute *KAMAL . auditor . record ( "Stopped #{ name } accessory" ) , verbosity : :debug
@@ -124,7 +124,7 @@ def stop(name)
124124
125125 desc "restart [NAME]" , "Restart existing accessory container on host"
126126 def restart ( name )
127- with_lock do
127+ modify ( lock : true ) do
128128 stop ( name )
129129 start ( name )
130130 end
@@ -213,7 +213,7 @@ def logs(name)
213213
214214 desc "pull_image [NAME]" , "Pull accessory image on host" , hide : true
215215 def pull_image ( name )
216- with_lock do
216+ modify ( lock : true ) do
217217 with_accessory ( name ) do |accessory , hosts |
218218 on ( hosts ) do
219219 execute *KAMAL . auditor . record ( "Pull #{ name } accessory image" ) , verbosity : :debug
@@ -227,7 +227,7 @@ def pull_image(name)
227227 option :confirmed , aliases : "-y" , type : :boolean , default : false , desc : "Proceed without confirmation question"
228228 def remove ( name )
229229 confirming "This will remove all containers, images and data directories for #{ name } . Are you sure?" do
230- with_lock do
230+ modify ( lock : true ) do
231231 if name == "all"
232232 KAMAL . accessory_names . each { |accessory_name | remove_accessory ( accessory_name ) }
233233 else
@@ -239,7 +239,7 @@ def remove(name)
239239
240240 desc "remove_container [NAME]" , "Remove accessory container from host" , hide : true
241241 def remove_container ( name )
242- with_lock do
242+ modify ( lock : true ) do
243243 with_accessory ( name ) do |accessory , hosts |
244244 on ( hosts ) do
245245 execute *KAMAL . auditor . record ( "Remove #{ name } accessory container" ) , verbosity : :debug
@@ -251,7 +251,7 @@ def remove_container(name)
251251
252252 desc "remove_image [NAME]" , "Remove accessory image from host" , hide : true
253253 def remove_image ( name )
254- with_lock do
254+ modify ( lock : true ) do
255255 with_accessory ( name ) do |accessory , hosts |
256256 on ( hosts ) do
257257 execute *KAMAL . auditor . record ( "Removed #{ name } accessory image" ) , verbosity : :debug
@@ -263,7 +263,7 @@ def remove_image(name)
263263
264264 desc "remove_service_directory [NAME]" , "Remove accessory directory used for uploaded files and data directories from host" , hide : true
265265 def remove_service_directory ( name )
266- with_lock do
266+ modify ( lock : true ) do
267267 with_accessory ( name ) do |accessory , hosts |
268268 on ( hosts ) do
269269 execute *accessory . remove_service_directory
@@ -277,7 +277,7 @@ def remove_service_directory(name)
277277 option :confirmed , aliases : "-y" , type : :boolean , default : false , desc : "Proceed without confirmation question"
278278 def upgrade ( name )
279279 confirming "This will restart all accessories" do
280- with_lock do
280+ modify ( lock : true ) do
281281 host_groups = options [ :rolling ] ? KAMAL . accessory_hosts : [ KAMAL . accessory_hosts ]
282282 host_groups . each do |hosts |
283283 host_list = Array ( hosts ) . join ( "," )
0 commit comments