A tool to survey existing cloud infrastructure and document what exists. This project is still in development and is not yet in use on a production system. Diagrams are against AWS at the moment but this might not be required in the future.
To Install this on Mac OSX install graphviz then the requiremewnts and the library.
brew install graphviz
pip install infra_surveyor
This project uses optional dependancies for development, documentation and release. To develop on this project please clone the repository setup your virtual environment then run the following
pip install -e ".[dev]"
To work on the documentation on this project please clone the repository setup your virtual environment then run the following
pip install -e ".[docs]"
This will install mkdocs which can be used to host the docs locally during writing. The command below will host the docs in html format on your machine.
mkdocs serve
pip install -e ".[dev]"
semantic-release publish --minor
This command will:
- bump the verison number
- create the git tag for the release
- push the tag
A github action will kick in to create the release in github when the tag is pushed. The release will contain the files in the dist directory created by flit and license file.
Prequisites:
- AWS account
- AWS profile setup
- AWS login with PROFILE and REGION defined in your environment via environment variables.
This is a self documenting commandline application so once installed you can run the command below to explore the project.
infra_surveyor --help
- Graphviz - Graphing library
- Boto3 - AWS SDK library
- Click - A command line building library
The following are not required dependencies for using the tool but are used in development
Tool | Description |
---|---|
black | code linter |
coverage | used to generate code coverage stats |
docker | used to mock lambdas |
flit | Python package building |
Github actions | CI/CD processes |
mkdocs | Documentation builder |
moto | AWS Mocking Library |
pytest | test runner |
python-semantic-release | Version management |