This docker-machine driver accepts a CloudFormation stack and expects a Spot
Fleet output. The instance from this spot fleet is then given back to
docker-machine
.
The main use-case is to be used with docker-machine
executor for GitLab
runners.
This is based on the more general and great docker-machine-driver-terraform
project. This project works very well if you want to use terraform to manage the
resources. Sadly, for us, we often wanted to spawn many different resource
stacks at once and using terraform
for this heavily overwhelmed the EC2
instance we were using.
The main idea behind this project is that we let AWS do all the heavy work and
we only do light weight API queries, checking if it's done. We force the user to
provision heavy resources like SSH keys up front and don't rely on things being
on the local file system.