summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--README.md41
-rw-r--r--config/couchdb.admin.example.yml5
-rw-r--r--config/couchdb.example.yml5
-rw-r--r--doc/DEVELOP.md26
5 files changed, 68 insertions, 10 deletions
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
....
- </virtualhost> \ No newline at end of file
+ </virtualhost>