Builds EC2 instance on AWS provisioned by ansible. 2 entry points exist:
- Jenkinsfile - configured for use with @wahlax/ansible-ci
- Local ansible pipeline - use ansible-vault for credentials
Example using local ansible pipeline and vault to supply AWS credentials to terraform
ansible-playbook -i inventory.ini pipeline.yml -e "ci_work_dir=`pwd`" -e "@vault/secrets.yml" --vault-password-file vault/password-file
aws-key-id
- id for aws provisioningaws-key-secret
- secret for aws provisioning
Jenkinsfile
- entry point when used with jenkins cipipeline.yml
- entry point for ansible (jenkins alternative)terraform-env.shl
- sets env for terraforminventory.ini
- defines localhost only right nowmain.tf
- aws infra definition in terraformprovisioner.yml
- ansible provisioner used by terraformrequirements.yml
- dependencies of ansible provisioner
- Ansible provisioner had failed to connect sometimes. Might prefer building inventory from terraform output and provision in next play.