Skip to content
Permalink
Browse files

Update Readme and docs

- Add information about stamping the database
- Add information about the documentation to CONTRIBUTING
- Update README, removed part about submodules, minor flaws
  • Loading branch information
plettich committed Dec 2, 2019
1 parent 6bb4d68 commit 411e4745e04fb6ccc245b3555dc93d494ee1bc2e
Showing with 42 additions and 26 deletions.
  1. +14 −0 CONTRIBUTING.md
  2. +22 −21 README.rst
  3. +5 −0 doc/installation/centos.rst
  4. +1 −5 doc/installation/pip.rst
@@ -3,6 +3,7 @@
There are different ways to contribute. Some of them should
be really easy.

First of all:
**Thanks a lot for contributing to privacyIDEA!**

## Tell about it
@@ -58,6 +59,19 @@ Submit an issue and describe your idea in the best possible details.

https://github.com/privacyidea/privacyidea/issues

## Documentation

The source code is pretty well documented. The main documentation resides in the
`doc`-subfolder and can be build with:
```
pip install -r doc/requirements.txt
cd doc/ && make html
```
This also pulls the API-documentation from the source code.
The latest release documentation can be found here:

http://privacyidea.readthedocs.io/en/latest/

## Translations

If you have no programming skills you can still get involved
@@ -78,17 +78,20 @@ and Registration Codes for easy deployment.
privacyIDEA is based on Flask and SQLAlchemy as the python backend. The
web UI is based on angularJS and bootstrap.
A MachineToken design lets you assign tokens to machines. Thus you can use
your Yubikey to unlock LUKS, assign SSH keys to SSH servers or use Offline OTP with PAM.
your Yubikey to unlock LUKS, assign SSH keys to SSH servers or use Offline OTP
with PAM.

You may join the discourse discussion forum to give feedback, help other users, discuss questions and ideas:
You may join the discourse discussion forum to give feedback, help other users,
discuss questions and ideas:
https://community.privacyidea.org


Setup
=====

For setting up the system to *run* it, please read install instructions
at http://privacyidea.readthedocs.io.
at `privacyidea.readthedocs.io <http://privacyidea.readthedocs.io/en/latest/installation/index
.html>`_.

If you want to setup a development environment start like this::

@@ -98,35 +101,31 @@ If you want to setup a development environment start like this::
source venv/bin/activate
pip install -r requirements.txt
You may additionally want to set up your environment for testing, by adding nose and the additional dependencies::
You may additionally want to set up your environment for testing, by adding the
additional dependencies::

pip install nose
pip install -r tests/requirements.txt

You may also want to read the blog post about development and debugging at
https://www.privacyidea.org/privacyidea-development-howto/

Getting and updating submodules
===============================

Some authentication modules and the admin client are located in git submodules.
To fetch the latest release of these run::

git submodule init
git submodule update

Later you can update the submodules like this::

git pull --recurse-submodules

Running it
==========

Create the database and encryption key::
First You need to create a `config-file <https://privacyidea.readthedocs
.io/en/latest/installation/system/inifile.html>`_.

Then create the database and encryption key::

./pi-manage createdb
./pi-manage create_enckey

If You plan to use the database for a longer time, You should `stamp <https://privacyidea
.readthedocs.io/en/latest/installation/upgrade.html>`_ the database to simplify
updates::

./pi-manage db stamp head -d migrations/

Create the key for the audit log::

./pi-manage create_audit_keys
@@ -145,9 +144,11 @@ as administrator.
Run tests
=========

If you have followed the steps above to set up your environment for testing, running the test suite should be as easy as running nosetests(1) with the following options::
If you have followed the steps above to set up your environment for testing,
running the test suite should be as easy as running
`pytest <http://pytest.org/>`_ with the following options::

nosetests -v --with-coverage --cover-package=privacyidea --cover-html
python -m pytest -v --cov=privacyidea --cov-report=html test/

Contributing
============
@@ -154,6 +154,11 @@ and::

$ setsebool -P httpd_can_network_connect_db 1

If the user store is an LDAP-resolver, the ``httpd``-process also needs to access
the ldap ports::

$ setsebool -P httpd_can_connect_ldap 1

If something does not seem right, check for "``denied``" entries in
``/var/log/audit/audit.log``

@@ -59,12 +59,8 @@ Now you can run the server for your first test::
pi-manage runserver

Stamp the database, so that privacyIDEA has the right database schema version.
This is important for later update processes:
This is important for later update processes::

pi-manage db stamp head -d /opt/privacyidea/lib/privacyidea/migrations

Depending on the database you want to use, you may have to install additional packages.

.. rubric:: Footnotes
.. [#ppa] https://launchpad.net/~privacyidea
.. [#simpleSAML] https://github.com/privacyidea/privacyidea/tree/master/authmodules/simpleSAMLphp

0 comments on commit 411e474

Please sign in to comment.
You can’t perform that action at this time.