Skip to content

Human Tissue Tracker

This page gives an overview of the Human Tissue Tracking application (HTA), describing its current status, where and how it's developed and deployed, and who is responsible for maintaining it.

Service Description

The Human Tissue Tracking application records information about Human Tissue stored within the University of Cambridge, and assists compliance with the Human Tissue Act.

Service Status

The HTA is currently live.

Contact

Technical queries and support should be directed to uis-devops-division@lists.cam.ac.uk and will be picked up by a member of the team working on the service. To ensure that you receive a response, always direct requests to uis-devops-division@lists.cam.ac.uk rather than reaching out to team members directly.

Issues discovered in the service or new feature requests should be opened as GitLab issues here

Environments

The HTA is currently deployed to the following environments:

Name URL Supporting VMs
Production https://tissue.apps.cam.ac.uk/ hta-live1.srv.uis.private.cam.ac.uk
hta-live2.srv.uis.private.cam.ac.uk
Database hta-live-db.srv.uis.private.cam.ac.uk
Production (Poole Group) https://poolegroup.tissue.apps.cam.ac.uk/ poole-hta-live1.srv.uis.private.cam.ac.uk
poole-hta-live2.srv.uis.private.cam.ac.uk
Database poole-hta-live-db.srv.uis.private.cam.ac.uk
Staging https://hta-test.apps.cam.ac.uk/ hta-test1.srv.uis.private.cam.ac.uk
hta-test2.srv.uis.private.cam.ac.uk
Database devgroup-test-db.srv.uis.private.cam.ac.uk

Source code

The source code for the HTA is spread over the following repositories:

Repository Description
Application Server The source code for the main application server

Technologies used

The following gives an overview of the technologies the HTA is built on.

Category Language Framework(s)
Web application Groovy 2.4.12 Grails 1.3.10
DB Postgres 12.4

Operational documentation

The following gives an overview of how the HTA is deployed and maintained.

Deploying a new release

New releases are deployed via Ansible. Each server should be set to maintenance mode then the run-ansible-playbook.sh should be run limited to the node in maintenance mode. e.g.

# Setup environment
source hta-production-setup

# On hta-live1
touch /maintenance_mode

# On client machine
./run-ansible-playbook.sh hta-production ihta-playbook.yml --diff --limit hta-live1

# On hta-live1
rm /maintenance_mode

# On hta-live2
touch /maintenance_mode

# On client machine
./run-ansible-playbook.sh -i hta-production hta-playbook.yml --diff --limit hta-live2

# On hta-live2
rm /maintenance_mode

Monitoring

The HTA database is monitored by nagios.

There is also an application status page.

Backups

See legacy application backups

Service Management and tech lead

The service owner for the HTA is currently unknown. See the associated GitLab issue

The service manager for the HTA is Nick Stocks.

The tech lead for the HTA is Paul Badcock

The following engineers have operational experience with the HTA and are able to respond to support requests or incidents:

System Dependencies