Wrap
Build, Publish & Deploy Elixir Infrastructure to the Cloud.
wrap is an opinionated set of mix tasks that:
- Builds an OTP release within Docker
- Publishes the container to a registry
- Deploys cloud infrastructure via Terraform
Installation
Add wrap to your list of dependencies in mix.exs
def deps do
[
{:wrap, "~> 0.0.9"}
]
endSetup
Before using wrap run the setup task to create the required directory structure.
mix wrap.setupTasks
mix wrap.gen.wrapper # Scaffold a wrapper modulemix wrap.gen.present # Scaffold a release presentmix wrap.list # List presentsmix wrap.build # Build docker images for elixir releasesmix wrap.publish # Publish latest docker imagesmix wrap.plan # Plan terraform definitionmix wrap.apply # Apply terraform definitionmix wrap.destroy # Destroy terraform resources