Compare production and dev aws environment
versions for dev teams then post to slack
There are multiple agile development teams using AWS on various
projects. The versions of Elastic Beanstalk environments, EC2
services do not always match up to the corresponding versions in production. To find out
what versions the teams are running and what versions are on production required the
utilization of various tools.
This tool will report the environment/service versions right beside each other. The comparisons
are broken into categories of matching, not matching and dev branches. The tool currently takes data
for Elastic Beanstalk and EC2 resources, other cloud service plugins
can be incorporated .
The report that gets posted on each teams slack looks something like this...
- A config file determining master team and regular team connection information.
To run the tool you require a set config file and aws credentials
docker pull main_directory/ultron
docker run -v /absolute path/src/sample_config.json:/source-code/config.json -v /absolute path/the_credentials:/the_credentials ultron
The project is structured as follows:
- Ultron.py - this invokes each plugin, calls the comparator functions and output formatter
- plugins - one plugin per AWS service. Each plugin requires a compare.py implementation.
- output.py - reads the formatted data from comparator, creates slack json payload then posts to slack
- sample_config.json - configure what qualities to compare on whether you want the environments to be compared if they have green health, if the environment is live and if the team is the master