1. Ian Bicking
  2. silverlining


silverlining / docs / providers.txt

Cloud Provider Support

This lists the cloud providers and the support available:

Rackspace Cloud

`Rackspace <http://www.rackspace.com/cloud/?id=918>`_ is the
first (and currently only) provider supported by Silver Lining.

To use Silver Lining you must sign up for an account through their
website.  You should sign up for "Cloud Servers" and "Cloud Files".
There's no initial fee, and the cost for experimenting with Silver
Lining will be less than a dollar as long as you don't forget to take
down the servers you create to experiment.  You'll have to have a
credit card, and Rackspace Cloud will call you to confirm your account
before you can use it.

Once you have logged in go to **Your Account > API Access** to view or
create your API key.  Silver Lining needs to know your username and
API key, which it will ask you for when you first start the command.

Host It Yourself

You don't *need* to use commands like ``silver create-node`` to make
use of Silver Lining.  If you have a machine with a fresh install of
Ubuntu Lucid then you can use ``silver setup-node`` to
configure the machine and ``silver update`` to deploy applications.
It's harder to test things without the ability to create and destroy
servers on demand, but the basic infrastructure is not really
dependent on that.

**Don't use this on a server you want to keep!**  ``silver
setup-node`` is not aggressive in modifying the server, but it doesn't
particularly keep track of what it does, nor is there any reason it
should.  Also if you have local modifications on the server, those
modifications can be lost; all updates are done with the assumption
that it's being given a bare Ubuntu installation to work with.

Other Providers

Silver Lining is built on `libcloud <http://libcloud.org>`_.  libcloud
abstracts over the API of quite a few cloud providers.  Any of these
providers should be a possible platform for Silver Lining; the basic
abstractions already exist, it just needs some testing.  The only
thing that's currently really Rackspace-specific is that on node
creation some files are uploaded -- not a complete set, mostly just
``/root/.ssh/authorized_keys2``.  This is built in to some other APIs
(e.g., I believe EC2 node creation automatically sets up
authorized_keys).  It would require a bit of abstraction as a result.

The best way to try a new provider is to fork the Silver Lining
repository, try it out, and make what patches are necessary --
probably to the routine that creates ``~/.silverlining.conf``
(:mod:`silverlining.createconf`), ``silver create-node``
(:mod:`silverlining.commands.create_node`), and *maybe* ``silver
setup-node`` (:mod:`silverlining.commands.setup_node`) -- though I
expect setup-node will be fine.