- You need an AWS account. Visit http://aws.amazon.com to get started
- You need an AWS instance profile and role with EC2 full access.
- You need to have installed and configured Terraform (>= 0.6.10 recommended). Visit https://www.terraform.io/intro/getting-started/install.html to get started.
- You need to have Python >= 2.7.5 installed along with pip.
- You will need to have created an SSH RSA key pair for accessing your aws intances. You can create it as follows:
cd ~/.ssh
ssh-keygen -P "" -t rsa -f id_rsa_aws -b 4096 -C "email@example.com"
openssl rsa -in ~/.ssh/id_rsa_aws -outform pem > id_rsa_aws.pem
chmod 400 id_rsa_aws.pem
eval `ssh-agent -s`
ssh-add id_rsa_aws.pem
### Cluster Turnup
#### Download Apollo
git clone https://github.com/Capgemini/apollo.git
cd apollo
pip install -r requirements.txt
#### Set config
Configuration can be set via environment variables.
All variables following the pattern "TF_VAR_" will be available for Apollo in terraform, see hashicorp/terraform#1621 (comment)
All variables following pattern "APOLLO_" will be available for Apollo in ansible.
For a full list of default config options for AWS see bootstrap/aws-public/config-default.sh
As a minimum you will need to set these environment variables -
APOLLO_PROVIDER=aws/public-cloud
TF_VAR_access_key
TF_VAR_secret_key
TF_VAR_key_name="deployer"
TF_VAR_key_file='~/.ssh/id_rsa_aws.pub'
TF_VAR_public_key_file='~/.ssh/id_rsa_aws.pub'
/bin/bash bootstrap/apollo-launch.sh
NOTE: The script will provision a new VPC and a 3 node mesos master cluster across all the availability zones in eu-west-1 (Ireland).
#### Tearing down the cluster
/bin/bash bootstrap/apollo-down.sh