Skip to content

Simple, high-level API for managing cloud servers across multiple providers from Elixir

License

Notifications You must be signed in to change notification settings

stirlab/elixir-dynamic-server-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DynamicServerManager

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

Installation

First, add to your mix.exs dependencies:

def deps do
  [{:dynamic_server_manager, "~> 0.0.1"}]
end

Then, update your dependencies:

$ mix deps.get

Configuration

See the sample configuration

Usage

See the example usage

Currently supported providers

Writing new providers

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.

TODO

  • Better documentation (maybe, someday...)
  • Better plugin label/module mapping, possibly via registration

About

Simple, high-level API for managing cloud servers across multiple providers from Elixir

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages