This is the ESDS and databrowser. All of the projects are Maven driven with the exception of admin-tools and databrowser. Those are both Rails applications. This project runs on Java 7 and Maven 3. For Ruby, version 2.0.0 is the recommended version.
*Note - These instructions were written using Ubuntu 12.04 & above.
- Version 2.4.8 is a tested version. Version 2.6 is the current version but is incompatible.
- Used as the database for the system.
- Required to be running locally
- Add
smallfiles=true
to your mongodb.conf
- Version 5.8 is the current version.
- Used as a processor for ingestion
- Required to be running locally
- Stomp must be activated. Add
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613"/>
to the conf/activemq.xml file in the<transportConnectors>
block if it isn't there already - You can start ActiveMQ with the following command (executed from apache-activemq-5.8.0/):
bin/activemq console
- Needed as dependencies for Ruby gems that will be installed
- Not required for MacOS
- Acceptance-tests are written using Ruby
- Admin Tools and Databrowser are written in Ruby
- Used to install Ruby dependencies
gem install bundler
git clone https://github.com/open-adk/OpenADK-java.git
cd OpenADK-java/adk-generator
ant clean US
- Change the ADK-library pom.xml line #7 from 1.0.0-snapshot to: 1.0.0 - This is due to the fact that the project dependency does not have SNAPSHOT in the version.
cd ../OpenADK-java/adk-library
mvn -P US install
- Required for an entirely local dev environment
git clone https://github.com/inbloom/ldap-in-memory.git
cd ldap-in-memory
mvn clean install
mvn jetty:run
start the ldap server
If you have not done so, change the PermGen size to a higher number. If not, you could run into PermGen space issues during the build.
export MAVEN_OPTS=-XX:MaxPermSize=512m
- More on
MAVEN_OPTS
below
cd {git_root}/build-tools
mvn clean install
cd {git_root}/sli
mvn clean install -DskipTests [-Dsli.env=local-ldap-server]
- Use the (optional) '-Dsli.env=local-ldap-server' flag to use configs for the ldap-in-memory component (https://github.com/inbloom/ldap-in-memory). Optionally, use -Dsli.env=local-sandbox-ldap-server if you intend to run the sandbox version locally. The list of available configurations are at $SLI_ROOT/config/config.in/canonical_config.yml
- Exporting this variable will help with browsing the datastore as well as being required for some of the tests
export SLI_ROOT = {git_root}/sli
- It is important that this be run from the directory where it exists
cd $SLI_ROOT/config/scripts
./resetAllDbs.sh
- NOTE: You must restart the API service whenever you reset the Mongo DBs
Next, we start bringing services up. Before that however, we need to set up some MAVEN_OPTS. For Ingestion and the API, the Maven defaults are not good enough. Please set MAVEN_OPTS like the following for Ingestion and API
export MAVEN_OPTS="-Xmx2g -XX:+CMSClassUnloadingEnabled -XX:PermSize=128M -XX:MaxPermSize=512M"
- Used for ingesting data into the system
cd $SLI_ROOT/ingestion/ingestion-service
mvn jetty:run
- You will see that Ingestion is started by seeing it running on port 8000
- Main part of the application for accessing the data
cp $SLI_ROOT/data-access/dal/keyStore/trustey.jks /tmp
cd $SLI_ROOT/api
mvn jetty:run
- You will see that API is started by seeing it running on port 8080
- Performs the security portions by providing authentication/federation
cd $SLI_ROOT/simple-idp
mvn jetty:run
- You will see that Simple-IDP is running by seeing it run on port 8082
cd $SLI_ROOT/search-indexer
scripts/local_search_indexer.sh start && tail -f logs/search-indexer.log
- When you want to stop the Search Indexer run
scripts/local_search_indexer.sh stop
cd $SLI_ROOT/acceptance-tests
bundle install
bundle exec rake realmInit
- Less hassle, but keys are assigned (not generated from the natural key data members as usual)
bundle exec rake importSandboxData
- This is the method production uses. Uses keys generated from natural key data members
cd $SLI_ROOT/ingestion/ingestion-service/target/ingestion/lz/inbound/Midgar-DAYBREAK
cp $SLI_ROOT/acceptance-tests/test/features/ingestion/test_data/SmallSampleDataSet.zip ./
ruby $SLI_ROOT/opstools/ingestion_trigger/publish_file_uploaded.rb STOR $(pwd)/SmallSampleDataSet.zip
tail -F $SLI_ROOT/ingestion/ingestion-service/target/ingestion/logs/ingestion.log
for verification. You should see 'Clearing cache at job completion' when it is finished.
cd $SLI_ROOT/dashboard
mvn jetty:run
- You will see that Dashboard is running by seeing it run on port 8888
cd $SLI_ROOT/admin-tools/admin-rails
- if you will be running in "Sandbox Mode", add the following environment variable
export RAILS_ENV=development_sb
bundle install
bundle exec rails server
- You will see that admin tools are running on port 3001
cd $SLI_ROOT/databrowser
bundle install
bundle exec rails server
- You will see that Databrowser is running on port 3000
cd $SLI_ROOT/acceptance-tests
bundle install
bundle exec rake smokeTests
ESDS e is licensed under the Apache License, Version 2.0. See LICENSE for full license text.