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