{ "info": { "author": "Christopher Goes", "author_email": "goesc@acm.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: End Users/Desktop", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: OS Independent", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Education", "Topic :: Education :: Testing", "Topic :: Security", "Topic :: System :: Distributed Computing", "Topic :: System :: Systems Administration", "Topic :: Utilities" ], "description": "\n[![Latest version on PyPI](https://badge.fury.io/py/ADLES.svg)](https://pypi.org/project/ADLES/)\n[![Travis CI build status](https://travis-ci.org/GhostofGoes/ADLES.svg?branch=master)](https://travis-ci.org/GhostofGoes/ADLES)\n[![Documentation](https://readthedocs.org/projects/adles/badge/)](http://adles.readthedocs.io/en/latest/)\n[![DOI Reference](https://zenodo.org/badge/68841026.svg)](https://zenodo.org/badge/latestdoi/68841026)\n\n\n# Overview\nAutomated Deployment of Lab Environments System (ADLES)\n\nADLES automates the deterministic creation of virtualized environments for use\nin Cybersecurity and Information Technology (IT) education.\n\nThe system enables educators to easily build deterministic and portable\nenvironments for their courses, saving significant amounts of time and effort,\nand alleviates the requirement of possessing advanced IT knowledge.\n\nComplete documentation can be found at [ReadTheDocs](https://adles.readthedocs.io).\n\n[Publication describing the system.](https://doi.org/10.1016/j.cose.2017.12.007)\n\n# Getting started\n```bash\n# Install\npip3 install adles\n\n# Usage\nadles -h\n\n# Specification syntax\nadles --print-spec exercise\nadles --print-spec infra\n\n# Examples\nadles --list-examples\nadles --print-example competition\n```\n\n# Usage\nCreating an environment using ADLES:\n* Read the exercise and infrastructure specifications and examples of them.\n* Write an infrastructure specification for your platform. (Currently, VMware vSphere is the only platform supported)\n* Write an exercise specification with the environment you want created.\n* Check its syntax, run the mastering phase, make your changes, and then run the deployment phase.\n\n```bash\n# Validate spec\nadles validate my-competition.yaml\n\n# Create Master images\nadles masters my-competition.yaml\n\n# Deploy the exercise\nadles deploy my-competition.yaml\n\n# Cleanup the environment\nadles cleanup my-competition.yaml\n```\n\n## Detailed usage\n```bash\nusage: adles [-h] [--version] [-v] [--syslog SERVER] [--no-color]\n [--list-examples] [--print-spec NAME] [--print-example NAME]\n [-i INFRA]\n {validate,deploy,masters,package,cleanup} ...\n\nExamples:\n adles --list-examples\n adles --print-example competition | adles validate -\n adles validate examples/pentest-tutorial.yaml\n adles masters examples/experiment.yaml\n adles -v deploy examples/experiment.yaml\n adles cleanup -t masters --cleanup-nets examples/competition.yaml\n adles validate -t infra examples/infra.yaml\n\noptional arguments:\n -h, --help show this help message and exit\n --version show program's version number and exit\n -v, --verbose Emit debugging logs to terminal\n --syslog SERVER Send logs to a Syslog server on port 514\n --no-color Do not color terminal output\n -i INFRA, --infra INFRA\n Override the infrastructure specification to be used\n\nPrint examples and specs:\n --list-examples Prints the list of available example scenarios\n --print-spec NAME Prints the named specification\n --print-example NAME Prints the named example\n\nADLES Subcommands:\n {validate,deploy,masters,package,cleanup}\n validate Validate the syntax of your specification\n deploy Environment deployment phase of specification\n masters Master creation phase of specification\n package Create a package\n cleanup Cleanup and remove existing environments\n```\n\n## vSphere Utility Scripts\nThere are a number of utility scripts to make certain vSphere tasks bearable.\n\n```bash\n# Basic usage\nvsphere --help\nvsphere