@@ -42,19 +42,23 @@ def validate_directory(ctx, param, value):
42
42
callback = validate_directory ,
43
43
)
44
44
@click .option ("--debug" , is_flag = True )
45
- def deploy (directory , debug ):
45
+ @click .option ("--namespace" , "-n" , type = str , help = "Namespace to deploy network into (overrides the current namespace in kubectl)" )
46
+ def deploy (directory , debug , namespace ):
46
47
"""Deploy a warnet with topology loaded from <directory>"""
47
48
directory = Path (directory )
48
49
49
50
if (directory / NETWORK_FILE ).exists ():
50
51
dl = deploy_logging_stack (directory , debug )
51
- deploy_network (directory , debug )
52
+ deploy_network (directory , namespace , debug )
52
53
df = deploy_fork_observer (directory , debug )
53
54
if dl | df :
54
55
deploy_ingress (debug )
55
56
deploy_caddy (directory , debug )
56
57
elif (directory / NAMESPACES_FILE ).exists ():
57
- deploy_namespaces (directory )
58
+ if namespace :
59
+ click .echo ("Cannot specify a --namespace when deploying a namespaces chart." )
60
+ else :
61
+ deploy_namespaces (directory )
58
62
else :
59
63
click .echo (
60
64
"Error: Neither network.yaml nor namespaces.yaml found in the specified directory."
@@ -189,14 +193,14 @@ def deploy_fork_observer(directory: Path, debug: bool) -> bool:
189
193
return True
190
194
191
195
192
- def deploy_network (directory : Path , debug : bool = False ):
196
+ def deploy_network (directory : Path , namespace_override : str , debug : bool = False ):
193
197
network_file_path = directory / NETWORK_FILE
194
198
defaults_file_path = directory / DEFAULTS_FILE
195
199
196
200
with network_file_path .open () as f :
197
201
network_file = yaml .safe_load (f )
198
202
199
- namespace = get_default_namespace ()
203
+ namespace = namespace_override if namespace_override else get_default_namespace ()
200
204
201
205
for node in network_file ["nodes" ]:
202
206
click .echo (f"Deploying node: { node .get ('name' )} " )
0 commit comments