Deployment

huntsman-drp is currently deployed on AAO’s dccompute3, which is accessed via VPN or web browser. AAO hosts the mongodb server required by huntsman-drp on dccompute3, which is not otherwise included in the package.

If you want to deploy on a different machine, you will need to set up the mongodb server yourself. This can be accomplished by following the instructions on their website.

Config

Deployment-specific config override files are located in huntsman-config, which can be obtained via:

$ git pull https://github.com/AstroHuntsman/huntsman-config

There are three important config files used by huntsman-drp:

  1. The local config override .yaml file: This is used to override config items in the default config file.

  2. The docker-compose.yaml file: This contains configuration for the docker services and volumes.

  3. The .env file: This is used by docker-compose to setup environment variables between the docker host and containers.

Running the services

Once the config files have been downloaded, pull the latest docker images via:

$ docker-compose --env_file <env_file> pull

Then, start the services:

$ docker-compose --env_file <env_file> up

Once the services are running, connect to the docker control container like this:

$ docker exec -it hunts-drp-control /bin/bash

The archive directory

Since huntsman-drp is deployed using docker, we need to be able to share data between the containers and the host machine. This is accomplished by mounting the archive directory into the containers. The archive directory is intended to contain all data products produced by the DRP, including master calibration files and reduction outputs. The location of the archive directory on the host machine is specified in the .env file.

Logs

The log directory is mapped into the docker containers using the environment variable specified in the .env file. However, it is often more convenient to work with the docker logs directly. For example, to follow the logs from the running zhunts-calib-maker` service, do:

$ docker logs --follow hunts-calib-maker

You can also search the docker logs for something specific, like:

$ docker logs hunts-calib-maker | grep "something specific"