ssdc-rh-service

April 21, 2026 ยท View on GitHub

Introduction

This service stores Case & UAC update messages from PubSub into Firestore. It has an endpoint that takes a UAC hash and provides an EQLaunch Token.

The firestore allows it to be 'super fast' at reading data out for fast launching.

Building

Podman and Docker are both supported for building and running the application. By default the Makefile will use docker unless you are on an arm64 architecture (e.g. M1/M2 Mac) in which case it will use podman. You can override this by setting the DOCKER environment variable to either docker or podman. For example, to force using docker on an M1/M2 Mac:

DOCKER=docker make <command>

To run all the tests, checks, formatting, and build the image:

make build

To skip the tests and just run the checks and build the docker image:

make build-no-test

To just run the auto formatting:

make format

Locally Running and Debugging

The easiest way to run the RH service is dockerised, with our full stack services locally by following the README in ssdc-rm-docker-dev.

If you need to run the service locally in the IDE or from the command line (e.g. with local code changes or to debug), use docker-dev to start the RM services, and then remove the rh-service container (so it does not conflict) with docker rm -f rh-service.

Some environment configuration is required to point the RH service at the docker-dev backing services.

In Intellij IDEA

A run configuration file is provided for Intellij to configure it to use the docker-dev dependencies, simply select this run configuration named Run Application (docker-dev), and you should be able to run or debug the service within Intellij.

Anywhere Else

Manually set these variables in your run environment to point the service at the docker-dev dependencies

EXCEPTIONMANAGER_CONNECTION_HOST=localhost
EXCEPTIONMANAGER_CONNECTION_PORT=8666
FIRESTORE_EMULATOR_HOST=localhost:8542
firestore.project-id=our-project
spring.cloud.gcp.pubsub.emulator-host=localhost:8538
spring.cloud.gcp.pubsub.project-id=our-project