This article describes the necessary steps for configuring and running DuraCloud Mill. DuraCloud Mill is a collection of applications that work in concert with DuraCloud to perform a variety of bulk processing tasks including audit log writing, manifest maintenance, duplication and bit integrity checks. The system has been designed to run in an auto-scalable environment such as AWS EC2, but it can also be run on as a suite of stand-alone applications on any machine with sufficient power. This article only describes the various applications and how to configure them; it does not cover approaches to leveraging AWS autoscaling and supporting dev opts tools such as Puppet.
Download, Build, Configure
To start, clone and build the latest release of the mill
git clone https://github.com/duracloud/mill.git cd mill mvn clean install
- Create the empty mill database, add credentials and than create the schema using mill/resources/mill.schema.sql
- Create a configuration file.
- Now that you've built the mill and created the database, we need to set up a configuration file that can be used my the various components of the system. A template of this configuration file can be found in the base line at mill/resources/mill-config-sample.properties
- Copy and rename the file to mill-config.properties
Configure the database connections to the mill database as well as the management console database:
################### # MILL DATABASE ################### # Config for mill database. mill.db.host=[fill in] mill.db.port=[fill in] mill.db.name=[fill in] # User must have read/write permission mill.db.user=[fill in] mill.db.pass=[fill in] #Turn this feature on to generate the milldb #hibernate.hbm2ddl.auto=update ################### # MC DATABASE ################### # Config for the management console database - used to retrieve accounts and storage provider credentials db.host=[fill in] db.port=[fill in] db.name=[fill in] # User must have read permission db.user=[fill in] db.pass=[fill in]