exlam
exlam copied to clipboard
elixir in AWS scaffold
Exlam
This is code is not production ready, many kinks to be worked out. Contributors welcome.
Deploy apps to AWS Lambda
ensure you have distillery installed and a web server insecure testing example:
defp deps do
[
{:distillery, "~> 0.10"},
{:http_server, git: "https://github.com/jschoch/elixir_http_server"}
]
Ensure the web server starts
def application do
[applications: [:logger,:http_server]]
end
Ensure latest awscli via sudo pip install --upgrade awscli
Get distillery configured via
mix release.init
Initilize Exlam
mix exlam.init
Edit deploy/config.exs and deploy/deploy.yaml with correct values and then package your app
mix exlam.package
Run the deployer for your first deploy, this creates AWS resources you will be billed for.
mix exlam.deploy -cli
To update your functionrun:
mix exlam.package;mix exlam.uf
configure role and deployer policy
working policy,
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1480632540000", "Effect": "Allow", "Action": [ "cloudformation:CreateChangeSet" ], "Resource": [ "*" ] } ] }
Backlog:
configure with codebuild enable non-current env ERTS libs via distillery support umbrella apps configurable web server flag and optionally remove erl_crash.dump files to reduce size of deploy.zip
Installation
If available in Hex, the package can be installed as:
- Add
exlam
to your list of dependencies inmix.exs
:
```elixir
def deps do
[{:exlam, "~> 0.1.0"}]
end
```