Database as a service (DBaaS) that allows users to quickly and easily deploy and manage database instances using cloud infrastructure
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
dbaas Merge branch 'vip-acl' Nov 14, 2018
doc Fix response format style Oct 30, 2018
spec/javascripts Remove bad spaces on end of file Aug 8, 2017
.gitignore Add node_modules on gitignore Aug 2, 2017
.travis.yml Stop mysql server on travis Apr 13, 2017
Dockerfile refactoring Dockerfile with best practices Oct 9, 2018
Makefile Add update_permission on run_migrate command Aug 27, 2018 Merge branch 'master' into configure_tests Apr 18, 2017 Create structure to run tests with docker-compose. Apr 12, 2017
docker-compose.yml Add port on mysql servico on compose conf Apr 13, 2017
package.json Add package json for js tests Aug 2, 2017
requirements_test.txt Add port on mysql servico on compose conf Apr 13, 2017
travis.yaml Use old trusty image on travis Dec 19, 2017

build status

Database as a Service (DBaaS)


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


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 docker and docker-compose(optional)

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)


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 on local enviroment

make pip && make test

Running all test with docker( To run this the and docker-compose must be avaliable)

make docker_build && make test_with_docker

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