The Linked Data Interactions Orchestrator
A lightweight application maintained by the LDI team. Its creation came when a more lightweight alternative for Apache NiFi was needed.
Docker Compose
The easiest way to start working with the LDIO is by using Docker. The image is located on the Docker Hub.
To set up your environment, start by creating a new folder dedicated to your LDIO project. Within this folder, create two files: a docker-compose.yml
and a YAML configuration file. The YAML file can be named according to your preference and can be added to the volume bindings pointing to the ldio/application.yml
file.
To enable Swagger UI, debug logging, or monitoring, please follow the instructions provided below on how to incorporate them into the LDIO YAML configuration file.
docker-compose.yml:
version: '3.3'
services:
ldio-workbench:
container_name: ldio-workbench
image: ldes/ldi-orchestrator:2.4.0-SNAPSHOT
volumes:
- ./ldio.config.yml:/ldio/application.yml:ro
ports:
- "<port>:8080"
Once configured with the LDIO config, execute the command
docker compose up
If any extra files are required for a processor (mapping/queries/…), you can add them in your volume binding pointing to the
ldio
folder as follows:Note that the name given for the file can be whatever, as long as it is unique.
- ./file.extension:/ldio/file.extension:ro
If any custom processors have been created, you can add the jars in your volume binding pointing to the
ldio/lib
folder as follows:Note that the name given for the jar file can be whatever, as long as it is unique.
- <path to custom processor>:/ldio/lib/custom-processor.jar:ro
Enable swagger UI
To use the swagger UI on your own LDIO deployment you can add the below config, and go to <base-url>/v1/swagger
.
springdoc:
swagger-ui:
path: /v1/swagger
LDIO DEBUG Logging
To enable logging the input model for a
Make sure you
- Add the following property in your application config:
logging: level: be.vlaanderen.informatievlaanderen: DEBUG
- Add the
debug: true
property to your transformer or output config.
LDIO Logging & Monitoring
To provide a better insight in the workings in the LDIO, we expose a prometheus endpoint (/actuator/prometheus
) that encloses some metrics (with included tags):
- ldio_data_in_total: Number (Amount of items passed at the start of Transformer Pipeline)
- pipeline: String (Refers to the pipeline name)
- ldio_type: String (Refers to the LDIO Input Type of pipeline)
- ldio_data_out_total: Number (Amount of items passed at the end of Transformer Pipeline)
- pipeline: String (Refers to the pipeline name)
To consult these metrics, make sure the prometheus endpoint is enabled by setting the following setting:
management:
endpoints:
web:
exposure:
include:
- prometheus