Johanna is a collection of boilerplate Python scripts that can do provisioning/deprovisioning of a simple backend system using AWS.
The backend includes below:
- VPC with two public subnets, two private subnets, routing tables, an internet gateway, a nat gateway and an EIP.
- IAM roles for Elastic Beanstalk
- EC2 key pair (SSH key)
- An Elastic Beanstalk application and an environment for Python Django API server
You can do provisioning/deprovisioning/reprovisioning of the whole system or partial at once. Especially, the reprovisioning of Django API server means a 'continuous deployement'.
Using Lili(Vagrant provisioning script) is the simplest way to get a playground.
- follow Lili README manual
- on Vagrant VM(Ubuntu 16.04)
-
sudo su -
cd /opt/johanna -
execute 'conf.py' to configure your aws environment.
./conf.py --accesskey YOUR_AWS_ACCESSKEY --secretkey YOUR_AWS_SECRETKEY --region AWS_REGION_NAME --az1 AVAILABILITY_ZONE_1 --az2 AVAILABILITY_ZONE_2 --cname CNAME --db DB_ENGINE --user DB_USER --pw DB_PASSWORD[Example]
./conf.py --accesskey ... --secretkey ... --region ap-northeast-2 --az1 ap-northeast-2a --az2 ap-northeast-2c --cname dv-nova --db mysql --user db-user --pw db-password -
./run.py
-
You can use this on web GUI
- raynor is web based GUI for johanna
