Skip to main content

LibraGoB

Introduction

Libra Green on Black (GoB) or Libra-GoB is the legacy system used in magistrates court for compliance and enforcement. It is passed details of financial impositions from the court, and then ‘manages’ the collection of those fines - takings payments, setting terms and sending bailiffs etc.

The application itself runs in containers hosted by Azure Kubernetes, SDS clusters, in the MET namespace. With CGI creating the images, which are manually pushed by them, to the HMCTS container repository.

Known as MET within the sds-flux-config apps folder

Repositories

Pipelines

GitHub Actions apply HELM CHART changes to the MET containers in the TEST environments, when a GitHub Pull Request in sds-flux-config is created. When these PRs are approved, the PROD environment receives the new helm charts.

Libragob-Shared-Infrastructure uses SDS Jenkins and the HMCTS / libragob-shared-infrastructure pipeline to manage infrastructure Jenkins Pipeline

MET Containers

The themis-fe.yaml file describes the MET application and is combined with either prod.yaml or test.yaml to create the specific environments containers.

The environment variables within the files are the responsibility of CGI and they toggle “TEMP_VAR” to either 0 or 1, to restart the containers in environments.

Log output from the application can be viewed by either watching the live logs via K9s or kubectl logs

Example log file

kubectl logs -n namespace container > any_name.txt

kubectl logs -n met met-themis-fe-nodejs-X > any_name.txt

By saving the logs to a text file, you can use an editor to search the log for key events

Starting

  • Starting DacSbApplication v1.0.0 using Java 17-ea on met-themis-fe-nodejs-X
  • Starting ThemisGatewaySbApplication v1.0.0 using Java 17-ea on met-themis-fe-nodejs-X
  • Starting service [Tomcat]
  • Starting Servlet engine: [Apache Tomcat/9.0.70]

Exception * Caused by: java.sql.SQLException: Cannot create JDBC driver of class ‘org.postgresql.Driver’ for connect URL ‘jdbc:postgresql://libragobrestore-’

MET Testing

If the MET containers are operational and you are connected via thw F5 VPN tunnel, these URLs will respond with a page of XML “This XML file does not appear to have any style information associated with it. The document tree is shown below.”

The URL resolves to an application gateway (aks00-(env$)-agw) which has the health probe “gob-gateway” to test the response from /services/themisgatewayapi?wsdl for a HTTP response status code match between 200-399. The probe connects a 2nd gateway and ultimately the MET containers. Any problems with the back end network, containers or themis-fe-nodejs application and the 502 Bad Gateway error will be returned.

Example Of Failed Application

Key Vault Secrets

Important configuration details are held within each environments key vault. Problems with database connection strings, user names or passwords, maybe reported in the log files. As shown in the example above. However, it is possible the container will become stuck in a reboot loop, when the readiness or liveness tests fail.

In January 2025, a wrong value for dac-datasource-username was provided but was not reported in the log file as an issue. It was only by testing the individual secrets called by the apps/met/themis-fe/test.yaml file, that the problem was discovered.

This page was last reviewed on 28 January 2025. It needs to be reviewed again on 28 July 2025 by the page owner platops-build-notices .
This page was set to be reviewed before 28 July 2025 by the page owner platops-build-notices. This might mean the content is out of date.