diff --git a/monkey/monkey_island/cc/environment/server_config_handler.py b/monkey/monkey_island/cc/environment/server_config_handler.py index f1e2358c4..b2f4883c0 100644 --- a/monkey/monkey_island/cc/environment/server_config_handler.py +++ b/monkey/monkey_island/cc/environment/server_config_handler.py @@ -2,20 +2,20 @@ import json import os from pathlib import Path -from monkey_island.cc.server_utils.consts import ( - DEFAULT_DEVELOP_SERVER_CONFIG_PATH, - DEFAULT_SERVER_CONFIG_PATH, -) +from monkey_island.cc.server_utils.consts import DEFAULT_SERVER_CONFIG_PATH, SERVER_CONFIG_FILENAME from monkey_island.cc.setup.island_config_options import IslandConfigOptions -def create_default_server_config_file() -> None: - if not os.path.isfile(DEFAULT_SERVER_CONFIG_PATH): - write_default_server_config_to_file(DEFAULT_SERVER_CONFIG_PATH) +def create_default_server_config_file(data_dir) -> None: + config_file_path = os.path.join(data_dir, SERVER_CONFIG_FILENAME) + if not os.path.isfile(config_file_path): + write_default_server_config_to_file(config_file_path) + + return config_file_path def write_default_server_config_to_file(path: str) -> None: - default_config = Path(DEFAULT_DEVELOP_SERVER_CONFIG_PATH).read_text() + default_config = Path(DEFAULT_SERVER_CONFIG_PATH).read_text() Path(path).write_text(default_config) diff --git a/monkey/monkey_island/cc/server_utils/consts.py b/monkey/monkey_island/cc/server_utils/consts.py index a14c69d0b..3de221647 100644 --- a/monkey/monkey_island/cc/server_utils/consts.py +++ b/monkey/monkey_island/cc/server_utils/consts.py @@ -37,7 +37,7 @@ MONGO_EXECUTABLE_PATH = ( ) DEFAULT_SERVER_CONFIG_PATH = os.path.expandvars( - os.path.join(DEFAULT_DATA_DIR, SERVER_CONFIG_FILENAME) + os.path.join(MONKEY_ISLAND_ABS_PATH, "cc", SERVER_CONFIG_FILENAME) ) DEFAULT_DEVELOP_SERVER_CONFIG_PATH = os.path.join( diff --git a/monkey/monkey_island/cc/setup/config_setup.py b/monkey/monkey_island/cc/setup/config_setup.py index 6cc036760..601c67efc 100644 --- a/monkey/monkey_island/cc/setup/config_setup.py +++ b/monkey/monkey_island/cc/setup/config_setup.py @@ -4,7 +4,7 @@ from typing import Tuple from monkey_island.cc.arg_parser import IslandCmdArgs from monkey_island.cc.environment import server_config_handler from monkey_island.cc.environment.utils import create_secure_directory -from monkey_island.cc.server_utils.consts import DEFAULT_DATA_DIR, DEFAULT_SERVER_CONFIG_PATH +from monkey_island.cc.server_utils.consts import DEFAULT_SERVER_CONFIG_PATH from monkey_island.cc.setup.island_config_options import IslandConfigOptions @@ -23,8 +23,7 @@ def _setup_config_by_cmd_arg(server_config_path) -> Tuple[IslandConfigOptions, s def _setup_default_config() -> Tuple[IslandConfigOptions, str]: - server_config_path = DEFAULT_SERVER_CONFIG_PATH - create_secure_directory(DEFAULT_DATA_DIR, create_parent_dirs=False) - server_config_handler.create_default_server_config_file() - config = server_config_handler.load_server_config_from_file(server_config_path) + config = server_config_handler.load_server_config_from_file(DEFAULT_SERVER_CONFIG_PATH) + create_secure_directory(config.data_dir, create_parent_dirs=False) + server_config_path = server_config_handler.create_default_server_config_file(config.data_dir) return config, server_config_path diff --git a/monkey/tests/unit_tests/monkey_island/cc/test_consts.py b/monkey/tests/unit_tests/monkey_island/cc/test_consts.py index 993ddaa64..600766aeb 100644 --- a/monkey/tests/unit_tests/monkey_island/cc/test_consts.py +++ b/monkey/tests/unit_tests/monkey_island/cc/test_consts.py @@ -5,8 +5,8 @@ import monkey_island.cc.server_utils.consts as consts def test_default_server_config_file_path(): if platform.system() == "Windows": - server_file_path = f"{consts.DEFAULT_DATA_DIR}\\{consts.SERVER_CONFIG_FILENAME}" + server_file_path = f"{consts.MONKEY_ISLAND_ABS_PATH}\\cc\\{consts.SERVER_CONFIG_FILENAME}" else: - server_file_path = f"{consts.DEFAULT_DATA_DIR}/{consts.SERVER_CONFIG_FILENAME}" + server_file_path = f"{consts.MONKEY_ISLAND_ABS_PATH}/cc/{consts.SERVER_CONFIG_FILENAME}" assert consts.DEFAULT_SERVER_CONFIG_PATH == server_file_path