diff --git a/src/warnet/constants.py b/src/warnet/constants.py index cbc34f479..aa53b3484 100644 --- a/src/warnet/constants.py +++ b/src/warnet/constants.py @@ -18,12 +18,14 @@ SRC_DIR = files("warnet") RESOURCES_DIR = files("resources") NETWORK_DIR = RESOURCES_DIR.joinpath("networks") +NAMESPACES_DIR = RESOURCES_DIR.joinpath("namespaces") SCENARIOS_DIR = RESOURCES_DIR.joinpath("scenarios") CHARTS_DIR = RESOURCES_DIR.joinpath("charts") MANIFESTS_DIR = RESOURCES_DIR.joinpath("manifests") NETWORK_FILE = "network.yaml" DEFAULTS_FILE = "node-defaults.yaml" NAMESPACES_FILE = "namespaces.yaml" +DEFAULTS_NAMESPACE_FILE = "namespace-defaults.yaml" # Helm charts BITCOIN_CHART_LOCATION = str(CHARTS_DIR.joinpath("bitcoincore")) diff --git a/src/warnet/deploy.py b/src/warnet/deploy.py index b2bf0f92c..5417da5ae 100644 --- a/src/warnet/deploy.py +++ b/src/warnet/deploy.py @@ -7,8 +7,10 @@ from .constants import ( BITCOIN_CHART_LOCATION, DEFAULTS_FILE, + DEFAULTS_NAMESPACE_FILE, FORK_OBSERVER_CHART, HELM_COMMAND, + NAMESPACES_CHART_LOCATION, NAMESPACES_FILE, NETWORK_FILE, ) @@ -141,7 +143,7 @@ def deploy_network(directory: Path, debug: bool = False): def deploy_namespaces(directory: Path): namespaces_file_path = directory / NAMESPACES_FILE - defaults_file_path = directory / DEFAULTS_FILE + defaults_file_path = directory / DEFAULTS_NAMESPACE_FILE with namespaces_file_path.open() as f: namespaces_file = yaml.safe_load(f) @@ -161,9 +163,7 @@ def deploy_namespaces(directory: Path): namespace_name = namespace.get("name") namespace_config_override = {k: v for k, v in namespace.items() if k != "name"} - cmd = ( - f"{HELM_COMMAND} {namespace_name} {BITCOIN_CHART_LOCATION} -f {defaults_file_path}" - ) + cmd = f"{HELM_COMMAND} {namespace_name} {NAMESPACES_CHART_LOCATION} -f {defaults_file_path}" if namespace_config_override: with tempfile.NamedTemporaryFile( diff --git a/src/warnet/namespaces.py b/src/warnet/namespaces.py index 432a09605..45bcb7af5 100644 --- a/src/warnet/namespaces.py +++ b/src/warnet/namespaces.py @@ -5,20 +5,26 @@ from .constants import ( DEFAULT_NAMESPACES, - DEFAULTS_FILE, + DEFAULTS_NAMESPACE_FILE, + NAMESPACES_DIR, NAMESPACES_FILE, - NETWORK_DIR, ) from .process import run_command, stream_command def copy_namespaces_defaults(directory: Path): """Create the project structure for a warnet project""" - (directory / NETWORK_DIR / DEFAULT_NAMESPACES).mkdir(parents=True, exist_ok=True) - target_namespaces_defaults = directory / NETWORK_DIR / DEFAULT_NAMESPACES / DEFAULTS_FILE - target_namespaces_example = directory / NETWORK_DIR / DEFAULT_NAMESPACES / NAMESPACES_FILE - shutil.copy2(NETWORK_DIR / DEFAULT_NAMESPACES / DEFAULTS_FILE, target_namespaces_defaults) - shutil.copy2(NETWORK_DIR / DEFAULT_NAMESPACES / NAMESPACES_FILE, target_namespaces_example) + (directory / NAMESPACES_DIR.name / DEFAULT_NAMESPACES).mkdir(parents=True, exist_ok=True) + target_namespaces_defaults = ( + directory / NAMESPACES_DIR.name / DEFAULT_NAMESPACES / DEFAULTS_NAMESPACE_FILE + ) + target_namespaces_example = ( + directory / NAMESPACES_DIR.name / DEFAULT_NAMESPACES / NAMESPACES_FILE + ) + shutil.copy2( + NAMESPACES_DIR / DEFAULT_NAMESPACES / DEFAULTS_NAMESPACE_FILE, target_namespaces_defaults + ) + shutil.copy2(NAMESPACES_DIR / DEFAULT_NAMESPACES / NAMESPACES_FILE, target_namespaces_example) @click.group(name="namespaces")