To set up this application we will assume that you have the following tools installed on the target instance:
- Maven 3+
- Tomcat7 (with the manager turned on)
- Mysql 5.5+
Download and build the source code
You can download the source from https://github.com/duracloud/snapshot.
Setup Bridge Root Directory
The application needs a directory of sufficient size (depending on your expected load) for storing application state files as well as receiving space data both from the DPN node as well as from DuraCloud. The tomcat user must have read/write access to the directory.
Create log directory
The bridge application will attempt to write logs to /var/log/duracloud. To make this possible, create that directory, and set permissions to allow the bridge application to write to it.
- Set up tomcat server credentials for automatic deployment on build
in your settings.xml file (~/.m2/settings.xml) add the following to the servers element:
Set up environment variables
These variables are picked up by the application:
duracloud.bridge.root.username - the username used for initializing the instance (default root).
duracloud.bridge.root.password - the password used for initializing the instance (default rpw).
duracloud.bridge.root.email - an email associated with the root account that will send email regarding bridge server events.
duracloud.bridge.root.dir - a directory that will receive data as well as store non-database application state and settings.
duracloud.bridge.threads-per-job - max threads per job, recommended number is available CPU processors minus 1 (or fewer).
Add the parameters to your JAVA_OPTS environmental variable
Create a System environment variable to allow the AWS client to know your preferred region
Build and deploy the source
Run a build of the Bridge software, which will perform a deployment. Alternatively, perform the build and copy the generated WAR file to your Tomcat webapps directory.
Create the database
Using a mysql client create a database:
Create the database tables using the SQL script found in the DuraCloud baseline. After downloading this file, run the following:
Create a DuraCloud User
You will need to create a duracloud user with ROLE_ADMIN permissions on the DuraCloud account which is being connected to the bridge in order for the bridge to read data from and write data to DuraCloud. This can be done by your DuraCloud account administrator through https://manage.duracloud.org/.
Initialize the application
First you'll need to create an init.json file using the values you setup in previous steps. See the Bridge App REST API for a copy of the init JSON file.
Then execute the following curl command to pass the initialization params to the bridge.
NB: The "clean" parameter should be set to true the very first time init is called, as this creates all the needed database tables. It should be set to false in all other situations.
If you wish to change any of your initialization parameters, you must first remove the persistent initialization params on the server by deleting the following file:
<duracloud.bridge.root.dir>/duracloud-bridge-init.dat. This encrypted file contains the credentials you used to initialize the app. It will be read as soon as tomcat starts up in order to allow the service to start up without needing further intialization (as in the case of, for example, an unexpected server restart).