After the completion of #1206, the server_config.json no longer needs to be copied to a writable location. Both the code and some manual setup procedures can be simplified if Monkey Island behaves as follows.
- If
cc/monkey_island/server_config.json exists, read it and .override the default configuration values with values in this file (docker only).
- If the user provided the
--server-config option on the command line, read the user-provided server_config.json and override any default values with the user-provided values.
This removes the circular dependency between the server_config.json and the data_dir option. It also means that a user-provided server_config.json only needs to provide settings that deviate from the default.
Tasks
After the completion of #1206, the
server_config.jsonno longer needs to be copied to a writable location. Both the code and some manual setup procedures can be simplified if Monkey Island behaves as follows.cc/monkey_island/server_config.jsonexists, read it and .override the default configuration values with values in this file (docker only).--server-configoption on the command line, read the user-providedserver_config.jsonand override any default values with the user-provided values.This removes the circular dependency between the
server_config.jsonand thedata_diroption. It also means that a user-provided server_config.json only needs to provide settings that deviate from the default.Tasks
server_config.jsontodata_dir(0d) - @VakarisZconfig_setup.pyload defaults ifcc/monkey_island/server_config.jsondoes not exist, or load it if it does. (0d) - @VakarisZserver_config.jsonfor each package to include only settings that deviate from defaults. (0d) @VakarisZserver_config.jsonwith the--server-configoption, update theIslandConfigOptionsobject with the values from the user-provided file. (0.5d) @VakarisZ