From a1d276ca3a76c4ae364d591cba50d53dc9a5c73f Mon Sep 17 00:00:00 2001 From: Jesse Andrews Date: Sun, 24 Apr 2011 11:59:49 -0700 Subject: update readme to be markdown --- README | 62 --------------------------------------------- README.md | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 62 deletions(-) delete mode 100644 README create mode 100644 README.md diff --git a/README b/README deleted file mode 100644 index 0a7dbb1b..00000000 --- a/README +++ /dev/null @@ -1,62 +0,0 @@ -DESCRIPTION -Keystone is a proposed independent authentication service for OpenStack (www.openstack.org). -This initial proof of concept aims to address the current use cases in Swift and Nova which are: -- ReST-based, token auth for Swift -- many-to-many relationship between identity and tenant for Nova. - - -SERVICES -Keystone - authentication service -PAPIAuth - WSGI middleware that can be used in services (like Swift, Nova, and Glance) to perform authentication -Echo - A sample service that responds by returning call details - - -DEPENDENCIES: -* SQLite3 -* Paste -* PasteDeploy -* PasteScript -* bottle -* simplejson -* eventlet -* webob - - -SETUP: -Install http://pypi.python.org/pypi/setuptools -sudo easy_install [all the above dependencies] - -RUNNING: ->> for keystone -python setup.py build -sudo python setup.py install -python identity.py - ->> for the test echo -python setup.py build -sudo python setup.py install -python echo.py - -TESTING -Testing is kinda manual right now...and based on SOAP UI. After -starting identity.py a keystone.db sql-lite database should be created -run test_setup.sql to setup the database, then run the soap ui test, - -You'll need to run kill.sql to tear down the tests and test_setup.sql -to restart :-) - -Using SOAPUI: - -Download SOAPUI: http://sourceforge.net/projects/soapui/files/ -To Test Identity Service: - File->Import Project: - Select tests/IdentitySOAPUI.xml - Double click on "Keystone Tests" and press the green play (>) button. - -DATABASE SCHEMA -CREATE TABLE groups(group_id varchar(255),group_desc varchar(255),tenant_id varchar(255),FOREIGN KEY(tenant_id) REFERENCES tenant(tenant_id)); -CREATE TABLE tenants(tenant_id varchar(255), tenant_desc varchar(255), tenant_enabled INTEGER, PRIMARY KEY(tenant_id ASC)); -CREATE TABLE token(token_id varchar(255),user_id varchar(255),expires datetime,tenant_id varchar(255)); -CREATE TABLE user_group(user_id varchar(255),group_id varchar(255), FOREIGN KEY(user_id) REFERENCES user(id), FOREIGN KEY(group_id) REFERENCES groups(group_id)); -CREATE TABLE user_tenant(tenant_id varchar(255),user_id varchar(255),FOREIGN KEY(tenant_id) REFERENCES tenant(tenant_id),FOREIGN KEY(user_id) REFERENCES user(id)); -CREATE TABLE users(id varchar(255),password varchar(255),email varchar(255),enabled integer); diff --git a/README.md b/README.md new file mode 100644 index 00000000..6166811e --- /dev/null +++ b/README.md @@ -0,0 +1,86 @@ +Keystone: Identity Service +========================== + +Keystone is a proposed independent authentication service for [OpenStack](http://www.openstack.org). + +This initial proof of concept aims to address the current use cases in Swift and Nova which are: + +* ReST-based, token auth for Swift +* many-to-many relationship between identity and tenant for Nova. + + +SERVICES: +--------- + +Keystone - authentication service +PAPIAuth - WSGI middleware that can be used in services (like Swift, Nova, and Glance) to perform authentication +Echo - A sample service that responds by returning call details + + +DEPENDENCIES: +------------- + +* SQLite3 +* Paste +* PasteDeploy +* PasteScript +* bottle +* simplejson +* eventlet +* webob + + +SETUP: +------ + +Install http://pypi.python.org/pypi/setuptools + + sudo easy_install [all the above dependencies] + + +RUNNING KEYSTONE: +----------------- + + $ python setup.py build + $ sudo python setup.py install + $ python identity.py + + +RUNNING TEST SERVICE: +--------------------- + + $ python setup.py build + $ sudo python setup.py install + $ python echo.py + + +TESTING +------- + +Testing is kinda manual right now...and based on SOAP UI. After +starting identity.py a keystone.db sql-lite database should be created +run test_setup.sql to setup the database, then run the soap ui test, + +You'll need to run kill.sql to tear down the tests and test_setup.sql +to restart :-) + +Using SOAPUI: + +Download [SOAPUI](http://sourceforge.net/projects/soapui/files/): + +To Test Identity Service: + +* File->Import Project: +* Select tests/IdentitySOAPUI.xml +* Double click on "Keystone Tests" and press the green play (>) button. + + +DATABASE SCHEMA +--------------- + + CREATE TABLE groups(group_id varchar(255),group_desc varchar(255),tenant_id varchar(255),FOREIGN KEY(tenant_id) REFERENCES tenant(tenant_id)); + CREATE TABLE tenants(tenant_id varchar(255), tenant_desc varchar(255), tenant_enabled INTEGER, PRIMARY KEY(tenant_id ASC)); + CREATE TABLE token(token_id varchar(255),user_id varchar(255),expires datetime,tenant_id varchar(255)); + CREATE TABLE user_group(user_id varchar(255),group_id varchar(255), FOREIGN KEY(user_id) REFERENCES user(id), FOREIGN KEY(group_id) REFERENCES groups(group_id)); + CREATE TABLE user_tenant(tenant_id varchar(255),user_id varchar(255),FOREIGN KEY(tenant_id) REFERENCES tenant(tenant_id),FOREIGN KEY(user_id) REFERENCES user(id)); + CREATE TABLE users(id varchar(255),password varchar(255),email varchar(255),enabled integer); -- cgit