Skip to content

Build & Test Procedures

Eric Nowak edited this page May 22, 2026 · 2 revisions

Ensure you have JDK 21, Maven 3.5.4 (or newer) and Git installed.

First clone the FC repository:

git clone https://github.com/eclipse-xfsc/federated-catalogue.git

Then go to the project root folder and build it with maven:

mvn clean install

This will build all FC modules and run the FC test suite.

Running the Application

To run service components locally, use the dev.sh script in the /docker folder:

cd docker
./dev.sh <command>

Available commands:

  • up — start infrastructure only (postgres, neo4j/fuseki, keycloak, nats, did-server), use for local Spring Boot dev
  • run — local Spring Boot with hot-reload + infrastructure
  • watch — full containerized stack with hot-reload
  • full — full stack built from local JARs
  • strict — full stack with Gaia-X validation enabled
  • build, clean, logs, ps — utility commands

The raw docker-compose up command still works as a fallback.

Infrastructure Setup

Add to /etc/hosts:

127.0.0.1  key-server

This is required for Keycloak integration.

Container Services

The full stack includes:

  • postgres (5432): PostgreSQL DB for Catalogue metadata
  • fuseki (3030): RDF triple store (default graphstore, set in dev.env)
  • neo4j (7474 HTTP / 7687 bolt): Neo4j Graph DB (optional, selectable graphstore)
  • nats (4222 / 8222): Message broker
  • did-server (nginx): Local DID resolution and mock trust anchor
  • keycloak (8080): IAM platform for authentication and authorization
  • fc-server (8081): the Federated Catalogue application
  • demo-portal (8088): demo/test Web application

Access the Application

Demo portal: http://localhost:8088

FC API: http://localhost:8081 (health check: /actuator/health)

Keycloak admin console: http://key-server:8080/admin

  • Realm: gaia-x
  • Client: federated-catalogue
  • User roles: Ro-MU-CA or ADMIN_ALL

Neo4j browser (when neo4j is selected): http://localhost:7474

Default administration credentials for Keycloak and the demo portal: admin/admin

For details about Keycloak settings, see the docker README.

Clone this wiki locally