Automated Deployment of Lab Environments System (ADLES)
Project description
Overview
Automated Deployment of Lab Environments System (ADLES)
Complete documentation can be found at ReadTheDocs: https://adles.readthedocs.io
Getting started
pip3 install adles
adles -h
adles --print-spec exercise
adles --print-spec infra
adles --list-examples
adles --print-example competition
Usage
Creating an environment using ADLES:
Read the exercise and infrastructure specifications and examples of them.
Write an infrastructure specification for your platform. (Currently, VMware vSphere is the only platform supported)
Write an exercise specification with the environment you want created.
Check its syntax, run the mastering phase, make your changes, and then run the deployment phase.
adles -c my-competition.yaml
adles -m -s my-competition.yaml
adles -d -s my-competition.yaml
System requirements
Python:
3.4+ (Recommended)
2.7.6+ (Will be deprecated in the future)
ADLES will run on any platform supported by Python. It has been tested on:
Windows 10 (Anniversary and Creators)
Ubuntu 14.04 and 16.04 (Including Bash on Ubuntu on Windows)
CentOS 7
Python packages
See requirements.txt for specific versions
pyvmomi
docopt
pyyaml
netaddr
colorlog
setuptools (If you are installing manually or developing)
Platforms
VMware vSphere
vCenter Server: 6.0+
ESXi: 6.0+
Contributing
Contributions are most definitely welcome! See TODO.md for a list of what needs to be done. Before submitting a pull request, do ensure you follow the general style and conventions used. Just read the code for a bit to get a feel for how things are done, and stay consistent with that.
If you have questions about the system, don’t hesitate to contact me by email or Twitter. (Email is in init.py, Twitter handle is same as GitHub).
Goals and TODO
The overall goal of ADLES is to create a easy to use and rock-solid system that allows instructors and students teaching using virtual environments to automate their workloads.
Long-term, I’d like to see the creation of a open-source repository, similiar to Hashicorp’s Atlas and Docker’s Hub, where educators can share packages and contribute to improving cyber education globally.
Main things on the radar (see TODO.md for full list):
User and group implementation for Vsphere
Post-phase cleanups
Result collection
Provisioners
Automated testing for utils and ideally Vsphere
Working Docker platform implementation
Implement a cloud platform interface, with Amazon AWS or Microsoft Azure being the easiest picks
License
This project is licensed under the Apache License, Version 2.0. See LICENSE for the full license text, and NOTICES for attributions to external projects that this project uses code from.
Project History
The system began as a proof of concept implementation of my Master’s thesis research at the University of Idaho in Fall of 2016. It was originally designed to run on the RADICL lab.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ADLES-1.3.5.tar.gz
.
File metadata
- Download URL: ADLES-1.3.5.tar.gz
- Upload date:
- Size: 70.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5acfc52d5c3a759d24e6cf839b816a276aae35071ba70582382f05fd709429c8 |
|
MD5 | 9da3c7972c6a776954e424e1fc6761ee |
|
BLAKE2b-256 | 70e91159533e2fac86c6af5aee50fdf27f8a0cc179180b5b3cd4d3afa52266f1 |