OBM Provisioning Configuration

Note
------------
This documentation is only for the OBM versions 3.1.3 or newer.

OBM 3.0.0 has the "provisioning" feature but it was included in the "obm-sync" service.

Installation
=========

The installation requires that your package manager is configured with an OBM repository (see [how there](http://obm.org/content/downloads-sources)).

For debian:

apt-get install obm-provisioning

For centos:

yum install obm-provisioning
chkconfig obm-provisioning on

Start it:

/etc/init.d/obm-provisioning restart

Once you are done, the service is up and it listens for HTTP request on the port 8086.
Even if the optimal configuration is not yet done you can start to [use it](http://obm.org/wiki/obm-provisioning-api), try to run the following curl to assert that the service is fully functional:

curl http://localhost:8086/healthcheck/
## the result should be:
[{"method":"GET","path":"/java/encoding"}, {"method":"GET","path":"/java/version"}, {"method":"GET","path":"/java/vendor"},{"method":"GET","path":"/java/vmname"}]

Hosts & Domains
=========

Hosts
------------
Connect the OBM web interface with your super-administrator account, go on the "Users/Hosts" page and search for the host where you installed the package.
Click "Modify", check the "Provisioning" role and save.

Domains
-------
Go on the domain configuration page by clicking on "Administration/Domains" and click on "Find".
Update each domain that you want be covered by the "provisioning" feature by setting the previously configured host at the "Provisioning servers" section.

Setup your frontend location
=========
Modify your Apache (or httpd) OBM configuration to add the "provisioning" location


Order allow,deny
Allow from all

ProxyPass /provisioning http://localhost:8086
ProxyPassReverse /provisioning http://localhost:8086
Then restart Apache (or httpd)

Run the Healthcheck
=========
Verify that everything goes fine by running the [OBM Healthcheck](http://obm.org/wiki/obm-health-check-system).
Take care of the section named "Provisioning" and check that it is colored with a beautiful green :)

Logs
=========
- /var/log/obm-provisioning/out.log contains the HTTP server output
- /var/log/obm-provisioning/access.log contains the traces of every request received by the service
- /var/log/obm-provisioning/obm-provisioning.log contains others kind of logs

## Additionnal Configuration

The provisioning server can be configured by a number of settings in the _/etc/obm/obm_conf.ini_ file.

### Password Hash

The password, though transmitted as clear text by default, might be hashed before transmission. To enable a hash, use the `password-hash` setting.

| Setting | Type | Default Value | Possible Values |
| ----- |
| password-hash | String| NONE | NONE, MD5, SHA1, SHA256, SHA512 |
Runners Alliance