Skip to content

Milstein/database-as-a-service

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Database as a Service (DBaaS)

Introduction

This is an implementation of a database as a service api written in python + django. It will try to follow some hypermedia concepts throughout the api calls.

Below: Screenshot from the admin user.

image 1: Listing databases and their summary informations

Listing databases and their summary informations

image 2: example database view and all its credentials

alt text

Requirements

DBaaS requires the following:

  • python >= 2.7.5
  • virtualenv >= 1.7.2
  • virtualenvwrapper >= 3.5
  • mysql server and client, version 5.5.x
  • mongo client = 2.4 (used by the clone feature)
  • redis (broker for async tasks with celery)
  • and all packages in requirements.txt file (there is a shortcut to install them)

Setup your local environment

mkvirtualenv dbaas
workon dbaas

Install the required python packages.

make pip

Install redis and start celery

make run_celery

Create the tables structure (see the next item)

DB

DBaaS uses south to maintain the migrations up-to-date. However, you can just run syncdb to create the table structures. There is a shortcut to help you with that, including some minimum operational data on DB.

make reset_data

Running all tests

Before running the test, makes sure that you have mongod running and a user admin created with password 123456.

db = db.getSiblingDB('admin')

db.addUser( { user: "admin",
              pwd: "123456",
              roles: [ "userAdminAnyDatabase", "clusterAdmin", "readWriteAnyDatabase", "dbAdminAnyDatabase" ] } )

Then install all the required packages

make pip

Run it!

make test

Running the project

make run

In your browser open the URL: http://localhost:8000/admin/

Running celery

To run celery locally use the following command

cd {APP DIR}
make run_celery

Documentation

About

Database as a service (Dbaas) that allows users to quickly and easily deploy and manage database instances using cloud infrastructure

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 84.0%
  • JavaScript 7.8%
  • CSS 7.4%
  • Other 0.8%