Skip to main content

DotCloud environment loader

Project description

==================================
SPOT - DotCloud environment loader
==================================

Why?
====

When working with DotCloud_ you will more than likely have a developement
environment locally that offers the services your application requires which
are specified in the `build file`_.

Locally one very rarely bother changing the parameters of the services from
their defaults settings but on DotCloud_ your application must read the
`environment file`_.

Hence you end up with a fair amount of boilerplate code in your application
which figures out wether it is running locally or on DotCloud_ and instantiates
the services for you to use accordingly.

Not anymore ... if you don't want to ;)

How?
====

Enters SPOT (named after the French earth observation satellite). SPOT knows
wether your code is running locally or on DotCloud_, exposes each service
parameters under the name you gave it in your `build file`_.

For example if your build file contains a python_ service named www and a redis_
service named cache::

www:
type: python
cache:
type: redis

Then when you instantiate a spot.Dotcloud() object it will expose the cache
services::

>>> import spot
>>> dotcloud = spot.Dotcloud()
>>> isinstance(dotcloud.cache, spot.Redis)
True

When running locally::

>>> dotcloud.cache.host
u'localhost'

But on DotCloud::

>>> dotcloud.cache.host
u'SOMETHING.dotcloud.com'

If you have installed the packages allowing Python to handle the services e.g.
redis_ (and hiredis_), the spot.Dotcloud instance also expose a connection to
the server you can use out of the box::

>>> type(dotcloud.cache.server)
<class 'redis.client.StrictRedis'>

Next?
=====

At this stage only the Redis_ and MongoDB_ services are managed. I will add more
as I *require* them ... or you can contribute and submit new services definition
via pull request ;)



.. _DotCloud: http://dotcloud.com
.. _redis: http://redis.io
.. _python: http://python.org
.. _build file: http://docs.dotcloud.com/guides/build-file/
.. _environment file: http://docs.dotcloud.com/guides/environment/
.. _redis: http://pypi.python.org/pypi/redis
.. _hiredis: http://pypi.python.org/pypi/hiredis
.. _mongodb: http://www.mongodb.org/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spot-0.1a.tar.gz (3.9 kB view details)

Uploaded Source

File details

Details for the file spot-0.1a.tar.gz.

File metadata

  • Download URL: spot-0.1a.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for spot-0.1a.tar.gz
Algorithm Hash digest
SHA256 86a142517513d523258d3ccc08097aeeaab240b9866cf87c07dd8dbc41ef5903
MD5 86f253c7e446c2a86079e1ef13d30f5f
BLAKE2b-256 7abef108566c1d719591902e72064b6779723b90a3e05bd27630856c34a34a35

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page