Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make source code directories read-only and write runtime artifacts to a writable location #1141

Closed
15 tasks
mssalvatore opened this issue May 4, 2021 · 1 comment
Labels
Code Quality Deficiencies in code quality Complexity: Medium Impact: High QA Issues relating to Quality Assurance and testing

Comments

@mssalvatore
Copy link
Collaborator

mssalvatore commented May 4, 2021

DRAFT

Monkey Island should avoid mixing runtime artifacts with the project's source code.

AppImage and Docker (to a lesser extent) already write runtime artifacts to a dedicated location, but some functionality is duplicated between them.

Windows could store the runtime artifacts in a location like %AppData%.

  • monkey_island/cc/main.py configures datA

    • Monkey island defaults to writing runtime data to the "data_dir"
      • $HOME/.monkey_island on Linux
      • %AppData%/monkey_island on Windows
    • If no --server-config is provided, the default is "data_dir/server_config.json"
      • if "data_dir/server_config.json" does not exist:
        • create data_dir as readable only to the use (0700 on Linux)
        • copy default server_config.json to data_dir
    • if --server-config is provided and data_dir does not exist, create data_dir as readable only to the use (0700 on Linux)
    • If no --logger-config is provided, the default is "data_dir/island_logger_config.json"
      • if "data_dir/island_logger_config.json" does not exist, copy default island_logger_config.json to data_dir
    • [ ]
  • Modify the Linux run script to use the new functionality as implemented in python.

  • Modify the appimage/run_appimage.sh to use the functionality as implemented in python.

  • Modify the docker build script to use the new functionality as implemented in python.

  • Modify the windows run script to use the new functionality as implemented in python.

  • Modify the MSI build script to use the new functionality as implemented in python.

  • Update documentation to reflect where runtime artifacts are now stored.

@mssalvatore mssalvatore added QA Issues relating to Quality Assurance and testing Impact: High Complexity: Medium Code Quality Deficiencies in code quality labels May 4, 2021
@mssalvatore
Copy link
Collaborator Author

This issue has been superseded by #1146, #1147, and #1148

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code Quality Deficiencies in code quality Complexity: Medium Impact: High QA Issues relating to Quality Assurance and testing
Projects
None yet
Development

No branches or pull requests

1 participant