Skip to content

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

@mssalvatore

Description

@mssalvatore

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions