@@ -253,41 +253,50 @@ def deploy_fork_observer(directory: Path, debug: bool) -> bool:
253
253
254
254
def deploy_network (directory : Path , debug : bool = False , namespace : Optional [str ] = None ):
255
255
network_file_path = directory / NETWORK_FILE
256
- defaults_file_path = directory / DEFAULTS_FILE
257
-
258
256
namespace = get_default_namespace_or (namespace )
259
257
260
258
with network_file_path .open () as f :
261
259
network_file = yaml .safe_load (f )
262
260
261
+ processes = []
263
262
for node in network_file ["nodes" ]:
264
- click .echo (f"Deploying node: { node .get ('name' )} " )
265
- try :
266
- temp_override_file_path = ""
267
- node_name = node .get ("name" )
268
- node_config_override = {k : v for k , v in node .items () if k != "name" }
269
-
270
- cmd = f"{ HELM_COMMAND } { node_name } { BITCOIN_CHART_LOCATION } --namespace { namespace } -f { defaults_file_path } "
271
- if debug :
272
- cmd += " --debug"
263
+ p = Process (target = deploy_single_node , args = (node , directory , debug , namespace ))
264
+ p .start ()
265
+ processes .append (p )
273
266
274
- if node_config_override :
275
- with tempfile .NamedTemporaryFile (
276
- mode = "w" , suffix = ".yaml" , delete = False
277
- ) as temp_file :
278
- yaml .dump (node_config_override , temp_file )
279
- temp_override_file_path = Path (temp_file .name )
280
- cmd = f"{ cmd } -f { temp_override_file_path } "
267
+ for p in processes :
268
+ p .join ()
281
269
282
- if not stream_command (cmd ):
283
- click .echo (f"Failed to run Helm command: { cmd } " )
284
- return
285
- except Exception as e :
286
- click .echo (f"Error: { e } " )
270
+ def deploy_single_node (node , directory : Path , debug : bool , namespace : str ):
271
+ defaults_file_path = directory / DEFAULTS_FILE
272
+ click .echo (f"Deploying node: { node .get ('name' )} " )
273
+ temp_override_file_path = ""
274
+ try :
275
+ node_name = node .get ("name" )
276
+ node_config_override = {k : v for k , v in node .items () if k != "name" }
277
+
278
+ defaults_file_path = directory / DEFAULTS_FILE
279
+ cmd = f"{ HELM_COMMAND } { node_name } { BITCOIN_CHART_LOCATION } --namespace { namespace } -f { defaults_file_path } "
280
+ if debug :
281
+ cmd += " --debug"
282
+
283
+ if node_config_override :
284
+ with tempfile .NamedTemporaryFile (
285
+ mode = "w" , suffix = ".yaml" , delete = False
286
+ ) as temp_file :
287
+ yaml .dump (node_config_override , temp_file )
288
+ temp_override_file_path = Path (temp_file .name )
289
+ cmd = f"{ cmd } -f { temp_override_file_path } "
290
+
291
+ if not stream_command (cmd ):
292
+ click .echo (f"Failed to run Helm command: { cmd } " )
287
293
return
288
- finally :
289
- if temp_override_file_path :
290
- Path (temp_override_file_path ).unlink ()
294
+ except Exception as e :
295
+ click .echo (f"Error: { e } " )
296
+ return
297
+ finally :
298
+ if temp_override_file_path :
299
+ Path (temp_override_file_path ).unlink ()
291
300
292
301
293
302
def deploy_namespaces (directory : Path ):
0 commit comments