Quickstart

Documentation of the BitRepository quickstart package.

Introduction

The BitRepository quickstart is a package for quickly getting a basic fully functioning BitRepository reference system up on a localhost.

The quickstart will setup a bitrepository comprised of:

  • Webclient
  • AuditTrail service
  • Alarm service
  • Integrity service
  • Monitoring (status) service
  • 1 checksum pillar
  • 2 reference pillars

As the setup is basic – encryption, authentication and authorization is not enabled in the quickstart.

Downloading Quickstart

The quickstart code can be obtained from: Quickstart (newest release, devel version).

The code cannot be run until the below prerequisites and requirements are in place. 

Prerequisites and requirements

For the quickstart to work some prerequisites and requirements exists.

All the quickstart components are meant to run on the same machine in an Linux environment. Possibility accessible from other machines, provided that firewall rules allow.

Runtime requirements

To run the quickstart a few system requirements must be in place:

  • You must have Docker installed.
  • A java runtime environment of version 11 or newer is needed. JAVA_HOME must be set appropriately.
  • curl is required by the setup script to retrieve the Tomcat servlet container

Infrastructure requirements

The quickstart needs some infrastructure, for message exchange and file exchange

Message bus

The bitrepository needs an Apache Active MQ for sending messages between components. In the quickstart it is assumed that it is accessible on the localhost on the default port using a tcp connection. I.e. tcp://localhost:61616

It must not require any authentication to connect.

The default settings from the Apache Active MQ destribution will suffice, but the user/deployer is free to make changes to the Active MQ installation as long as the MQ can be reached as described above.

If the MQ is not available on the above url, the pillars and services simply will not work.

Apache Active MQ can be obtained from the ActiveMQ download site.

You can run this process in docker with this command

sudo docker run -i -t --rm -e 'ACTIVEMQ_MIN_MEMORY=512' -e 'ACTIVEMQ_MAX_MEMORY=2048' -p 61616:61616  webcenter/activemq:5.12.0 /opt/activemq/bin/activemq console

Webserver

Per design the bitrepository uses a webdav server for file transfer. The quickstart configuration assumes that a webdav server is available on http://localhost/dav/.

It must not require any authentication to connect.

If no Webdav server is available see File Exchange Server Setup for references on setup. 

Should there be a HTTP server running on localhost that does not support webdav, or that use of another webdav server is wanted, then the ReferenceSettings.xml files for the AuditTrailService and CommandLine client needs to be have their FileExchange section changed to reflect this.

As the file location is specified per request this is not a hard requirement for deployment of the quickstart package, but something that needs to be taken into consideration.

You can run a apache2 based webdav server in docker with this easy command

sudo docker run -it -v /some/local/folder/dav:/site/dav -p 80:80 --userns=host -e uid=$(id -u) -e gid=$(id -g) blekinge/apache_webdav

The web server creates the mentioned directory if it doesn’t exist, so remember to supply an appropriate path name instead of /some/local/folder/dav.

The docker image in question is https://hub.docker.com/r/blekinge/apache_webdav

The source for this image is at https://bitbucket.org/blekinge/apache_webdav/src/master/

Running Quickstart

Via the commandline cd to the unpacked tar.gz directory and run the command "./setup.sh"

The first time running the setup script will adapt the configuration files to work with the deployed destination. Thus the quickstart will stop working if the quickstart directory is moved to another destination after the first run.

Running the setup.sh script does the following:

  • Adapt the configuration files to the environment (first run only)
  • Create sub directories and deploy the needed components to them.
  • Start the pillars
  • Download a Tomcat server for services and webclient
  • Deploy services and webclient to Tomcat server and start it.

After the script has finished the system should be accessible through: http://localhost:8080/bitrepository-webclient

Starting, stopping and restarting the quickstart

When running the setup, the system is automatically started as well. But in any other case, where the system is not started, one can use the following commands to either start, stop, or restart the system.

./quickstart.sh start		 ./quickstart.sh stop		 ./quickstart.sh restart

All of the commands can be seen when calling ./quickstart without any arguments.