Collects X-Road members, subsystems and services into the X-Road Catalog database
143
The X-Road Catalog Collector walks an X-Road ecosystem through a Security Server and stores its members, subsystems, services and service descriptions (WSDL and OpenAPI) in a PostgreSQL database. The companion niis/xroad-catalog-lister image serves that data over REST. The collector itself exposes no API; it is a scheduled background job with a management port for health and metrics.
Full documentation and source code are on GitHub. We suggest starting with the Installation Guide to get started.
X-Road Catalog images follow the following Docker tagging strategy. Every release build is pushed under the following tags:
| Tag | Example | Meaning |
|---|---|---|
MAJOR.MINOR.PATCH | 4.0.0 | Immutable. Points to the exact release build, never overwritten. |
MAJOR.MINOR | 4.0 | Mutable minor line. Moves to the newest build of that line. |
MAJOR.MINOR.PATCH-YYYYMMDD | 4.0.0-20261125 | Security refresh of an already released version, see below (not published on initial release). |
A security refresh is a rebuild of an already released version on an updated base image, with no application changes. It has the build date as a suffix, and the MAJOR.MINOR tag moves to it as well. The original MAJOR.MINOR.PATCH tag is left untouched.
We don't publish a latest tag, instead consider locking to the following depending on your needs:
MAJOR.MINOR.PATCH when you want byte-for-byte reproducible deployments and control each update yourself.MAJOR.MINOR when you want to pick up patch releases and security refreshes without breaking changes by re-pulling, without changing your deployment files.The collector and the lister must always run the same version, and the collector should be upgraded first because it owns the database schema. The available versions are listed in the GitHub releases. Release notes are available inside the X-Road Knowledge Base.
xroad. Mounted files must be readable by that user.-XX:MaxRAMPercentage=75.0 -XX:+ExitOnOutOfMemoryError. The heap is sized as a percentage the container's memory limit, so it should always be set.A minimal Compose service against an externally managed PostgreSQL. For more details, refer to the installation manual linked above.
services:
xroad-catalog-collector:
image: niis/xroad-catalog-collector:<tag>
restart: unless-stopped
mem_limit: 2g
stop_grace_period: 35s
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://db.example.org:5432/xroad_catalog?socketTimeout=60
SPRING_DATASOURCE_PASSWORD: <collector password>
SPRING_LIQUIBASE_PASSWORD: <database owner password>
XROAD_CATALOG_TARGET_XROAD_INSTANCE: <X-Road instance>
XROAD_CATALOG_TARGET_MEMBER_CLASS: <Collector member class>
XROAD_CATALOG_TARGET_MEMBER_CODE: "<Collector member code>"
XROAD_CATALOG_TARGET_SUBSYSTEM_CODE: <Collector subsystem>
XROAD_CATALOG_URLS_SECURITY_SERVER_HOST: https://ss.example.org:8443
XROAD_CATALOG_INSTANCE_IGNORED_SUBSYSTEM_IDS_0: DEV:ORG:1234567-8:MANAGEMENT
XROAD_CATALOG_TASKS_FETCH_TIME_AFTER_HOUR: "3"
XROAD_CATALOG_TASKS_FETCH_TIME_BEFORE_HOUR: "4"
TZ: Europe/Helsinki
New releases are announced through the GitHub releases. To update:
MAJOR.MINOR tag.The full procedure is in the Upgrading section of the Installation Guide.
Content type
Image
Digest
sha256:b46b5335e…
Size
134 MB
Last updated
5 days ago
docker pull niis/xroad-catalog-collector:4.0