-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #16 from GhostofGoes/wip
1.4.0
- Loading branch information
Showing
73 changed files
with
2,237 additions
and
2,044 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# https://editorconfig.org/ | ||
root = true | ||
|
||
[*] | ||
indent_style = space | ||
indent_size = 4 | ||
end_of_line = lf | ||
charset = utf-8 | ||
|
||
# Docstrings and comments use max_line_length = 79 | ||
[*.py] | ||
max_line_length = 99 | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
|
||
# Use 2 spaces for the HTML files | ||
[*.{yml,yaml}] | ||
indent_size = 2 | ||
|
||
# The JSON files contain newlines inconsistently | ||
[*.json] | ||
indent_size = 2 | ||
insert_final_newline = unset | ||
|
||
# Makefiles always use tabs for indentation | ||
[Makefile] | ||
indent_style = tab | ||
|
||
[*.ps1] | ||
end_of_line = crlf | ||
|
||
[Vagrantfile] | ||
indent_size = 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# Source: https://github.com/alexkaratarakis/gitattributes | ||
|
||
* text=auto | ||
|
||
*.py text eol=lf | ||
*.md text eol=lf | ||
*.yaml text eol=lf | ||
*.yml text eol=lf | ||
*.json text eol=lf | ||
*.rst text eol=lf | ||
|
||
# Windows | ||
*.ps1 text eol=crlf | ||
*.bat text eol=crlf | ||
|
||
# POSIX | ||
*.sh text eol=lf | ||
*.bash text eol=lf | ||
.travis-osx text eol=lf | ||
*.1 text eol=lf | ||
Makefile text eol=lf | ||
|
||
# Documents | ||
*.doc diff=astextplain | ||
*.DOC diff=astextplain | ||
*.docx diff=astextplain | ||
*.DOCX diff=astextplain | ||
*.dot diff=astextplain | ||
*.DOT diff=astextplain | ||
*.pdf diff=astextplain | ||
*.PDF diff=astextplain | ||
*.rtf diff=astextplain | ||
*.RTF diff=astextplain | ||
*.vsdx diff=astextplain | ||
|
||
*.adoc text | ||
*.textile text | ||
*.mustache text | ||
*.csv text | ||
*.tab text | ||
*.tsv text | ||
*.sql text | ||
|
||
# Graphics | ||
*.png binary | ||
*.jpg binary | ||
*.jpeg binary | ||
*.gif binary | ||
*.tif binary | ||
*.tiff binary | ||
*.ico binary | ||
# SVG treated as an asset (binary) by default. If you want to treat it as text, | ||
# comment-out the following line and uncomment the line after. | ||
*.svg binary | ||
#*.svg text | ||
*.eps binary |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,54 +1,46 @@ | ||
language: python | ||
sudo: false | ||
cache: pip | ||
|
||
python: | ||
- '2.7' | ||
- '3.4' | ||
- '3.5' | ||
- '3.6' | ||
- '3.7' | ||
|
||
install: | ||
- 'python setup.py install' | ||
- 'pip install -U tox setuptools wheel coveralls' | ||
- 'tox --notest' | ||
- 'pip install .' | ||
|
||
script: | ||
- adles | ||
- tox | ||
- adles -h | ||
- adles --version | ||
- adles -c examples/spoofing-tutorial.yaml | ||
- adles --verbose --validate examples/spoofing-tutorial.yaml | ||
- adles --no-color -v -c examples/spoofing-tutorial.yaml | ||
- adles -v -c examples/competition.yaml | ||
- adles -v -c examples/competition-with-docker.yaml | ||
- adles -v -c examples/experiment.yaml | ||
- adles -v -c examples/edurange_total-recon.yaml | ||
- adles -v -c examples/pentest-tutorial.yaml | ||
- adles -v -c examples/firewall-tutorial.yaml | ||
- adles -v -t infra -c infra.yaml | ||
- adles -v -t exercise -c examples/experiment.yaml | ||
- adles validate examples/spoofing-tutorial.yaml | ||
- adles --verbose validate examples/spoofing-tutorial.yaml | ||
- adles --no-color -v validate examples/spoofing-tutorial.yaml | ||
- adles -v validate examples/competition.yaml | ||
- adles -v validate examples/competition-with-docker.yaml | ||
- adles -v validate examples/experiment.yaml | ||
- adles -v validate examples/edurange_total-recon.yaml | ||
- adles -v validate examples/pentest-tutorial.yaml | ||
- adles -v validate examples/firewall-tutorial.yaml | ||
- adles -v validate -t infra examples/infra.yaml | ||
- adles -v validate -t exercise examples/experiment.yaml | ||
- adles --list-examples | ||
- adles --print-example competition | ||
- adles --print-spec exercise | ||
- clone-vms | ||
- clone-vms -h | ||
- clone-vms --version | ||
- cleanup-vms | ||
- cleanup-vms --help | ||
- cleanup-vms --version | ||
- vm-power | ||
- vm-power -h | ||
- vm-power --version | ||
- vsphere-info | ||
- vsphere-info -h | ||
- vsphere-info --version | ||
- vm-snapshots | ||
- vm-snapshots -h | ||
- vm-snapshots --version | ||
- vsphere clone -h | ||
- vsphere clone --version | ||
- vsphere cleanup --help | ||
- vsphere cleanup --version | ||
- vsphere power -h | ||
- vsphere power --version | ||
- vsphere info -h | ||
- vsphere info --version | ||
- vsphere snapshot -h | ||
- vsphere snapshot --version | ||
|
||
notifications: | ||
email: | ||
on_success: never | ||
on_failure: change | ||
deploy: | ||
provider: pypi | ||
user: ghostofgoes | ||
password: | ||
secure: i3QZMWKiv8hWCsXtAde9HkQNu7VVn5UpzP0LipalI5NvaWJxuXw4A7cZyepJN9y/2EfZ5wzF9CbpxwdfO6jIaabaxitr9bdhQXomkLlxfuJMW9EiMfMBZ9TuYSsCoffhu7UhNlSnPuoqJDxoqxZwli2h4M3JP/jx+CuIptQfyeiHhGzVjPPUqsZ1KaUWE6SHSeowxoK+LvqRv4iVe/WMy9dxGMpIUx62M76e8mOaLfngWcsWImS+8bs40uiRnFw0JXmUHHapLnPDUO7CloyBmb0gJFyQrTbIZZFAkRNcXw80hdwzoBrrum4SfeHPTJrWk0GLnENDJePWYyzym/OQ+gThrsa613+VSuv7nUe3B66ODTiCiVjjOUVxBB+dQQ0ZvbwMbq/DQ887ihUgh/zT3c27pugBb35Qc4yKZ1cH15xQceazA34njSXtl66pGvQ+ZlJjwR7pPCjJt2p8WS4lE4yGssiRqL/SlOKYfLRJgPUZcXywjPq5rC+7kJdBcfOPxlEPSjNWjfqlE2HdwH7Nmbi8IxTit4sSn7JwtJQz1+Ab5rGFVxwQjUsZR3mhxZ9aP2fsKo2+YOe057c7VU39aF9jV/Ay6ChWRI4wAwzuO573RS9LRO3fFJ6l8NWW6l4WGeLbUCJvlffVUPwp/QDJgmCeC/FjXyZuzfM7wxeH1SY= | ||
on: | ||
branch: master |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
# Changelog | ||
All notable changes to this project will be documented in this file. | ||
|
||
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) | ||
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). | ||
|
||
## [1.4.0] - 2019-09-04 | ||
|
||
**Notable changes** | ||
- New CLI command syntax, run `adles --help` for details or checkout the Usage section in the README | ||
- Consolidated the vSphere helper scripts (e.g. `vm-power`) into a single command, `vsphere` . For usage, run `vsphere --help`. | ||
- **ADLES now requires Python 3.6+**. It is included or easily installable on any modern Linux distribution, Windows, and OSX. | ||
|
||
### Added | ||
- The CLI can now be invoked a Python module (e.g. `python -m adles`, `python -m adles.vsphere`) | ||
- Added two new specification fields to all spec types: `spec-type` and `spec-version` | ||
- New argument: `--syslog`. Configures saving of log output to the specified Syslog server. | ||
- Added progress bars to the cloning, power, and snapshot vSphere helper commands | ||
- Support the `NO_COLOR` environment variable (per [no-color.org](https://no-color.org/)) | ||
- New dependencies: [tqdm](https://github.com/tqdm/tqdm) and [humanfriendly](https://pypi.org/project/humanfriendly/) | ||
- Debian package (See the [GitHub releases page](https://github.com/GhostofGoes/ADLES/releases)) | ||
|
||
### Changed | ||
- Failing to import an optional dependency will now log an error instead | ||
of raising an exception and terminating execution. | ||
- Logs will not longer emit to a syslog server by default. | ||
Syslog server will now only be used if the parameter is set. | ||
- Behind the scenes changes to commandline argument parsing that will | ||
make adding future functionality easier and enable usage of other | ||
third-party libraries that use `argparse`. | ||
- Lots of code cleanup and formatting | ||
- Bumped dependency versions | ||
- Various other minor changes, see the Git pull request diff for all the changes | ||
|
||
### Removed | ||
- Dropped support for Python < 3.6 | ||
- Removed `Libvirt` and `HyperV` interfaces | ||
- Removed dependency: `netaddr` | ||
|
||
### Dev | ||
- Added Tox for test running and linting | ||
- Added `.editorconfig` | ||
- Added `.gitattributes` | ||
- Reorganized some documentation | ||
- Removed CodeClimate | ||
- Moved the remaining examples in the project root into `examples/` | ||
- Added unit tests to Travis CI | ||
|
||
## [1.3.6] - 2017-12-19 | ||
### Fixed | ||
- Fixed issue with any of the commandline scripts where just entering | ||
the script name (e.g "adles") on the commandline would error, | ||
instead of printing help as a user would expect. | ||
- Fixed vm_snapshots script outputting to the wrong log file. | ||
|
||
### Changed | ||
- Under-the-hood improvements to how arguments are parsed | ||
and keyboard interrupts are handled. | ||
|
||
|
||
## [1.3.5] - 2017-12-13 | ||
### Changed | ||
- Move package dependencies into setup.py from requirements.txt. | ||
|
||
|
||
## [1.3.4] - 2017-12-13 | ||
### Added | ||
- Man page on Linux systems! | ||
|
||
|
||
## [1.3.3] - 2017-11-25 | ||
### Added | ||
- The ability to relocate a VM to a new host and/or datastore to the VM class. | ||
- The ability to change the mode of a VM HDD to the VM class. | ||
|
||
### Changed | ||
- Cleaned up docstrings in vm.py. | ||
|
||
|
||
## [1.3.2] - 2017-11-25 | ||
### Added | ||
- The ability to resize a HDD to the VM class. | ||
|
||
|
||
## [1.3.1] - 2017-11-24 | ||
### Fixed | ||
- Fixed bug where interfaces (and their dependencies) would be imported, | ||
even if they were not being used. This caused the "pip install docker" error. | ||
|
||
### Changed | ||
- Minor improvements to logging. | ||
|
||
|
||
## [1.3.0] - 2017-07-02 | ||
### Added | ||
- An interface for libvirt (LibvirtInterface). | ||
- LibcloudInterface that is inherited by LibvirtInterface and CloudInterface. | ||
- Libvirt to infrastructure-specification. | ||
- libvirt to optional-requirements. | ||
|
||
### Changed | ||
- Significant changes to class heirarachy. All interfaces now inherit from Interface and class its init method. | ||
There is a separate PlatformInterface that has most of the functionality Interface did, and this is what is now called from main(). | ||
- Tweaked some boilerplate code in the interfaces. | ||
- Updated parser. | ||
- Formatting tweaks. | ||
- Moved apache-libcloud to requirements. | ||
|
||
|
||
## [1.2.0] - 2017-07-02 | ||
Initial stab at cloud interface using Apache libcloud | ||
(quickly superseded by 1.3.0, so ignore this version). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,17 @@ | ||
include README.md | ||
include requirements.txt | ||
include LICENSE | ||
include NOTICE | ||
include infra.yaml | ||
include users.json | ||
include CHANGELOG.md CONTRIBUTING.md LICENSE NOTICE README.md setup.py tox.ini | ||
include docs/adles.1 | ||
recursive-include examples * | ||
recursive-include specifications * | ||
|
||
graft adles | ||
graft docs | ||
graft test | ||
graft examples | ||
graft specifications | ||
|
||
prune documentation | ||
prune misc | ||
prune .github | ||
prune scripts | ||
|
||
exclude .editorconfig .travis.yml | ||
|
||
global-exclude *.py[cdo] __pycache__ *.so *.pyd .DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
Cybersecurity Environment Automation | ||
Copyright 2016-2017 Christopher Goes. | ||
Copyright 2016-2019 Christopher Goes. | ||
|
||
This software contains code derived from the pyvmomi-community-samples project, which is Copyright 2014 VMware Inc. | ||
Contributers to those samples used include: Michael Rice, Chinmaya Bharadwaj, Dann Bohn, Jose Manuel Lopez, Nathan Prziborowski, nickcooper-zhangtonghao. | ||
Contributors to those samples used include: Michael Rice, Chinmaya Bharadwaj, Dann Bohn, Jose Manuel Lopez, Nathan Prziborowski, nickcooper-zhangtonghao. | ||
A good-faith effort has been made to include links to the original sources when used. | ||
pyvmomi-community-samples can be found here: https://github.com/vmware/pyvmomi-community-samples |
Oops, something went wrong.