Simple, high-level API for managing cloud servers across multiple providers from within Elixir.
This doesn't try to be everything, but instead provides two basic behaviours, for which additional providers can be added:
-
Server:
- Create based on snapshot
- Destroy
- Query for basic information
-
DNS:
- Create/destroy A records for configured domains
First, add to your mix.exs
dependencies:
def deps do
[{:dynamic_server_manager, "~> 0.0.1"}]
end
Then, update your dependencies:
$ mix deps.get
See the sample configuration
See the example usage
-
Server:
-
DNS:
They are based on the behaviours as defined in the following modules:
- Server: DynamicServerManager.Server
- DNS: DynamicServerManager.Dns
Hopefully between that and referencing the existing plugins you'll get the idea.
- Better documentation (maybe, someday...)
- Better plugin label/module mapping, possibly via registration