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