Repository for new Simple product containing shared infrastructure templates including VPC and Jenkins.
Contains files for launching shared infrastructure in AWS via CloudFormation. These files should be deployed to S3 via Jenkins and and trigger CloudFormation Stack Updates of the shared infrastructure.
Share infrastructure includes the following:
- Bastion Hosts
- Monitoring Notification Lists
- Jenkins CI Server
All CloudFormation templates follow a nested stack hierarchy and children stacks are called form the masterTemplate.json
Raw Scripts Directory
All raw scripts used by CloudFormation templates in this repository reside in this folder, these are injected inline in the templates and are stored in this folder for readability. Also deployment scripts used by the Jenkins CI server are in this repository.
The Jenkins server is provisioned with CloudFormation, and is served via the link https://hermes-ci.simplehq.co which is open to only the Simple Offices and GitHub web hooks. In the event that the Jenkins server fails or the Availablity Zone it is deployed in becomes unavailable the Jenkins server will heal itself by deploying to a healthy availablity zone in the same region, it will then pull down a backup taken within the last hour, these are copied to S3 every hour.
The below diagram illustrates the configuration of the Jenkins architecture.
CloudFormation Template Designer
If further reference is needed to what these templates do. They can be viewed in the CloudFormation template designer to view a visual representation of what the template creates as below: