-
Notifications
You must be signed in to change notification settings - Fork 7
FC Administration Guide
Scope — this page covers day-to-day operator tasks: realm and user bootstrap, role assignment, runtime health checks, log-level tuning, and the Helm-based production deployment. For configuration parameters see Installation & Configuration Guide. For the deployment view (Kubernetes topology, storage layout) see the arc42 document at
github.com/eclipse-xfsc/docs/federated-catalogue/src/docs/architecture/.
The Federated Catalogue authenticates against an external Keycloak realm (default name: gaia-x). The realm definition
shipped with the docker-compose stack lives under
/keycloak/realms — see its README for
the import procedure.
Default admin credentials for the local Keycloak: admin / admin. Change these before any non-local deployment.
Admin console URL (local stack): http://key-server:8080/admin — requires the 127.0.0.1 key-server line in
/etc/hosts.
The FC and the demo portal consume two role names from the gaia-x realm:
| Role | Purpose |
|---|---|
Ro-MU-CA |
Catalogue user — can register, query, and manage assets through the API and demo portal. |
ADMIN_ALL |
Catalogue administrator — additionally has access to the admin dashboard endpoints (graph rebuild, backend switch, file-store inspection, trust-framework family/role/bundle-config toggles and overrides, schema-module toggles). |
- Log into the Keycloak admin console.
- Select the
gaia-xrealm. - Users → Add user — fill username, email, first/last name. Save.
- Credentials tab → set a password. Disable "Temporary" if you do not want a forced reset on first login.
-
Role mapping → assign
Ro-MU-CA(standard user) and/orADMIN_ALL(administrator).
The FC server is registered as the OAuth2 client federated-catalogue in the gaia-x realm. The client secret must
match what is supplied to the FC via the KEYCLOAK_CREDENTIALS_SECRET environment variable (or
keycloak.credentials.secret in application.yml / Spring profile).
For local docker-compose runs, both sides read the secret from docker/.env (or docker/dev.env). Rotate the secret by
regenerating it in Keycloak and updating the env file before restarting fc-server.
The FC exposes the following Spring Actuator endpoints by default:
| Endpoint | Purpose |
|---|---|
/actuator/health |
Liveness / readiness probe. Detail level is shown only when the caller is authorized (management.endpoint.health.show-details: when_authorized). |
/actuator/info |
Build info and version metadata. |
/actuator/graph-rebuild |
FC-specific — triggers a graph store rebuild from the metadata store. Requires the ADMIN_ALL role. |
Additional actuator endpoints (/metrics, /prometheus, /loggers, …) can be enabled by extending
management.endpoints.web.exposure.include — they are off by default.
Application loggers can be raised or lowered without a restart via environment variables, e.g.:
LOGGING_LEVEL_EU_XFSC_FC=TRACE
LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_WEB=INFO
Or via the actuator /loggers endpoint when it is exposed and the caller holds ADMIN_ALL.
The FC supports two graph backends (Fuseki by default, Neo4j optionally), resolved at startup by RoutingGraphStore.
The active backend can be switched at runtime via the admin dashboard's Switch Backend action — this performs an
in-process driver swap and persists the choice as graphstore.preferred.backend so the next boot uses it.
A pre-flight probe verifies reachability of the target backend before the switch is committed. If a backend is empty
after a switch, use the /actuator/graph-rebuild endpoint (or the dashboard's rebuild action) to repopulate it from the
metadata store.
The official Helm chart is at
deployment/helm/fc-service.
See its README.md for the values reference.
Minimum operator checklist before promoting to a shared environment:
- Override
spring.datasource.passwordwith a Kubernetes secret. - Override
graphstore.password(Neo4j) with a Kubernetes secret if Neo4j is selected. - Override
keycloak.credentials.secretviaKEYCLOAK_CREDENTIALS_SECRETfrom a secret. - Pin
federated-catalogue.enabled-trust-frameworks(e.g.gaia-x) to the bundle(s) you intend to enforce. - Decide which verification steps to enable (
federated-catalogue.verification.*) — all signature checks are off by default. - Configure
federated-catalogue.query.partnersif this instance participates in distributed query. - Configure
publisher.impl/subscriber.impl(ces,nats, ornone) according to your event topology.
| Symptom | First thing to check |
|---|---|
/actuator/health returns DOWN
|
Check Postgres connectivity (spring.datasource.url) and the active graph store URI. |
JWT auth fails with 401
|
issuer-uri matches your Keycloak realm exactly; client secret matches Keycloak; clock skew between FC and Keycloak under 60s. |
| SDs/assetsare accepted but not searchable | The graph store may be empty or out of sync — call /actuator/graph-rebuild. |
| Trust framework rejects a credential | Confirm federated-catalogue.enabled-trust-frameworks includes the framework family and that the bundle's trust-anchor URL is reachable from the pod. |
| Compliance call hits an unexpected endpoint | A runtime override may be active. Call GET /admin/trust-frameworks and inspect each bundle's effectiveConfig / overriddenFields; revert a single field via PATCH /admin/trust-frameworks/bundles/{bundleId} with the field set to JSON null, or wipe all overrides for the bundle via DELETE /admin/trust-frameworks/bundles/{bundleId}. |
- Catalogue Architecture
- Catalogue Security Concept
- Catalogue REST API
- Catalogue Build Procedures
- Installation & Configuration Guide
- Administration Guide
- Test Procedures and Results
- Performance Tests
- Penetration Tests
- EDC Connector Integration Approaches
- Related Tools
- XFSC Catalogue Developers' Community Call Meetings