in-toto / layout-web-tool

A flask app that helps to create, modify and visualize in-toto layouts.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

in-toto Layout Creation Wizard

A Flask-based web app to guide project owners through creating an in-toto layout.

More information about in-toto and in-toto layouts can be found at the project website in-toto.io.

Installation

Requirements

  • Python -- backend
  • npm -- frontend dependencies
  • Ruby and SASS -- CSS preprocessor
  • MongoDB -- to persist user session data (for usage analysis)
# Start `mongod` (if not already running)
sudo systemctl start mongod

# Install backend (c.f. requirements.txt)
pip install -r requirements.txt

# Install and vendorize frontend dependencies and compile scss
# c.f. dependencies and scripts in package.json
npm install

Deployment

# Example configuration in FLASK_APP_ROOT/instance/config.py
DEBUG = False
SECRET_KEY = '?\xbf,\xb4\x8d\xa3"<\x9c\xb0@\x0f5\xab,w\xee\x8d$0\x13\x8b83' #CHANGE THIS!!!!!

Development Tips

  • Run the development server like this:
python wizard.py
  • Run a sass watcher during development to automatically compile css on file change:
sass --watch static/scss/main.scss:static/css/main.scss.css

Acknowledgements

This project is managed by Prof. Justin Cappos and other members of the Secure Systems Lab at NYU and the NJIT Cybersecurity Research Center.

About

A flask app that helps to create, modify and visualize in-toto layouts.

License:MIT License


Languages

Language:Python 43.3%Language:HTML 33.4%Language:JavaScript 17.2%Language:SCSS 6.2%