From 47d8ea67148bb8ebab333c78e90cd0baf2b028d0 Mon Sep 17 00:00:00 2001 From: kaeff Date: Tue, 1 Sep 2015 13:42:29 +0200 Subject: Update README with docs from website & instructions on local DB - Copy intro chapter from homepage - Advise new users to not test with admin party locally - Ignore couchdb.admin.yml so it's consistent with the regular couchdb.yml --- .gitignore | 1 + README.md | 41 +++++++++++++++++++++++++++++++--------- config/couchdb.admin.example.yml | 5 +++++ config/couchdb.example.yml | 5 +++++ doc/DEVELOP.md | 26 ++++++++++++++++++++++++- 5 files changed, 68 insertions(+), 10 deletions(-) create mode 100644 config/couchdb.admin.example.yml create mode 100644 config/couchdb.example.yml diff --git a/.gitignore b/.gitignore index ea3f194..3aa8fc7 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ config/customization.* # ignore all deploy specific configuration config/couchdb.yml +config/couchdb.admin.yml public/assets/* public/ca.crt public/config/* diff --git a/README.md b/README.md index f2d69ca..7e016c6 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,31 @@ LEAP Web --------------------- -"LEAP Web" is the web-based component of the LEAP Platform, providing -the following services: +The LEAP Web App provides the following functions: -* REST API for user registration. -* Admin interface to manage users. -* Client certificate distribution and renewal. -* User support help tickets. -* Billing +* User registration and management +* Help tickets +* Client certificate renewal +* Webfinger access to user’s public keys +* Email aliases and forwarding +* Localized and Customizable documentation -This web application is written in Ruby on Rails 3, using CouchDB as the -backend data store. +Written in: Ruby, Rails. + +The Web App communicates with: + +* CouchDB is used for all data storage. +* Web browsers of users accessing the user interface in order to edit their settings or fill out help tickets. Additionally, admins may delete users. +* LEAP Clients access the web app’s REST API in order to register new users, authenticate existing ones, and renew client certificates. +* tokens are stored upon successful authentication to allow the client to authenticate against other services + +LEAP Web is provisioned and run as part of the overall [LEAP platform](https://leap.se/en/docs/platform). Original code specific to this web application is licensed under the GNU Affero General Public License (version 3.0 or higher). See http://www.gnu.org/licenses/agpl-3.0.html for more information. + Documentation --------------------------- @@ -26,6 +35,15 @@ For more information, see these files in the ``doc`` directory: * DEVELOP -- for developer notes. * CUSTOM -- how to customize. +External docs: + +* [Overview of LEAP architecture](https://leap.se/en/docs/design/overview) - Bird's eye view of how all the pieces fit together. +* [Contributing](https://leap.se/en/docs/get-involved) - Contributing to LEAP software development. + * Contributing to LEAP software development + * How to issue a pull request + * Overview of the main code repositories + * Ideas for discrete, unclaimed development projects that would greatly benefit the LEAP ecosystem. + Known problems --------------------------- @@ -70,6 +88,11 @@ Typically, you run ``bundle`` as a normal user and it will ask you for a sudo password when it is time to install the required gems. If you don't have sudo, run ``bundle`` as root. +### Installation for development purposes + +Please see `doc/DEVELOP.md` for further required steps when installing +leap_web for development purposes. + Configuration ---------------------------- diff --git a/config/couchdb.admin.example.yml b/config/couchdb.admin.example.yml new file mode 100644 index 0000000..7f3187a --- /dev/null +++ b/config/couchdb.admin.example.yml @@ -0,0 +1,5 @@ +development: + auto_update_design_doc: false + username: "anna" + password: "secret" + prefix: "" diff --git a/config/couchdb.example.yml b/config/couchdb.example.yml new file mode 100644 index 0000000..36f125e --- /dev/null +++ b/config/couchdb.example.yml @@ -0,0 +1,5 @@ +development: + auto_update_design_doc: false + username: "me" + password: "pwd" + prefix: "" diff --git a/doc/DEVELOP.md b/doc/DEVELOP.md index 991218e..cdd0867 100644 --- a/doc/DEVELOP.md +++ b/doc/DEVELOP.md @@ -1,5 +1,29 @@ # Development # +## Setting up the local CouchDB + +CouchDB operates in Admin Party by default, meaning there are no access +control checks. This is handy for local development. However, there is +the risk that running tests with Couch in Admin Party yields false +results. + +You have two options: + +1) Use Admin Party and accept the risk +2) Stop Admin Party by creating user accounts & security docs by running the +following script: + + test/travis/setup_couch.sh + +### Database configuration + +Copy & adapt the default database configuration: + +``` +mv config/couchdb.example.yml config/couchdb.yml +mv config/couchdb.admin.example.yml config/couchdb.admin.yml +``` + ## Continuous Integration ## See https://travis-ci.org/leapcode/leap_web for CI reports. @@ -88,4 +112,4 @@ One solution is to temporarily modify the apache config to proxypass the TLS req ProxyPassReverse / http://127.0.0.1:3000/ ProxyPreserveHost on .... - \ No newline at end of file + -- cgit v1.2.3