Rendition stack
By Environment Variables
All yaml properties can be overridden by environment variables by following the next rules:
- environment variables must be all capitalize
- capitalized character in yaml must be preceded by "."
- use "_" to associate an object
- use "[n]" to set a list element (with n as index)
nurse:
samplesDirectory: ../../samples/
components:
- functionality: TKC_MailConversion
factoryName: "mailFactory"
samplePath: "test.msg"
docIdStr: "m41lS4mpl3"
environment:
- "DCV_NURSE_SAMPLES.DIRECTORY=../../samples/"
- "DCV_NURSE_COMPONENTS[0]_FUNCTIONALITY=TKC_MailConversion"
- "DCV_NURSE_COMPONENTS[0]_FACTORY.NAME=mailFactory"
- "DCV_NURSE_COMPONENTS[0]_SAMPLE.PATH=test.msg"
- "DCV_NURSE_COMPONENTS[0]_DOC.ID.STR=m41lS4mpl3"
By volumes
Configuration files location:
-
/arender/config/application.properties
-
/arender/config/application-*.properties
-
/arender/config/application.yaml
-
/arender/config/application-*.yaml
PDFOwl: a document renderer alternative
Description
The 2023.1.0 version has introduced a new docker image as an alternative of the usual document-renderer, named document-renderer-pdfowl.
In the context of the current document-renderer, if an error occurs within the loaded native library, it results in the entire application crashing. As the error occured at a lower level, we are unable to handle it at the application level. To address this, we implemented an application that prioritizes resilience while maintaining optimal performance. It spawns and manages sub-processes responsible for handling rendering requests, capable of returning errors without causing a crash in the main process.
Docker image
The docker image name with the tag is artifactory.arondor.cloud:5001/document-renderer-pdfowl:2023.3.0
Example of using this image with docker compose :
version: "3.7"
services:
ui:
image: artifactory.arondor.cloud:5001/arender-ui:2023.3.0
environment:
- "ARENDERSRV_ARENDER_SERVER_RENDITION_HOSTS=http://service-broker:8761/"
ports:
- 8080:8080
service-broker:
image: artifactory.arondor.cloud:5001/arender-document-service-broker:2023.3.0
environment:
- "DSB_KUBEPROVIDER_KUBE.HOSTS_DOCUMENT-CONVERTER=19999"
- "DSB_KUBEPROVIDER_KUBE.HOSTS_DOCUMENT-RENDERER=9091"
- "DSB_KUBEPROVIDER_KUBE.HOSTS_DOCUMENT-TEXT-HANDLER=8899"
ports:
- 8761:8761
volumes:
- arender-tmp:/arender/tmp
document-renderer:
image: artifactory.arondor.cloud:5001/arender-document-renderer-pdfowl:2023.3.0
hostname: drn-service
environment:
- "DRN_EUREKA_INSTANCE_METADATA.MAP_HOST.NAME=document-renderer"
- "DRN_EUREKA_INSTANCE_HOSTNAME=service-broker"
- "DRN_EUREKA_SERVER_PORT=8761"
ports:
- 9091:9091
volumes:
- arender-tmp:/arender/tmp
document-text-handler:
image: artifactory.arondor.cloud:5001/arender-document-text-handler:2023.3.0
environment:
- "DTH_EUREKA_INSTANCE_METADATA.MAP_HOST.NAME=document-text-handler"
- "DTH_EUREKA_INSTANCE_HOSTNAME=service-broker"
- "DTH_EUREKA_SERVER_PORT=8761"
ports:
- 8899:8899
volumes:
- arender-tmp:/arender/tmp
document-converter:
image: artifactory.arondor.cloud:5001/arender-document-converter:2023.3.0
environment:
- "DCV_EUREKA_INSTANCE_METADATA.MAP_HOST.NAME=document-converter"
- "DCV_APP_EUREKA_HOSTNAME=service-broker"
- "DCV_APP_EUREKA_PORT=8761"
ports:
- 19999:19999
volumes:
- arender-tmp:/arender/tmp
volumes:
arender-tmp:
Configurations
Some properties are available with default values :
# PdfOwl binary path
pdfowl.path=pdfowl
# Timeout for pdfowl commands execution in milliseconds
pdfowl.client.watchdog=10000
# Timeout for idle pdfOwl clients in milliseconds
pdfowl.client.ttl=30000
# The memory limit used for a thread to work on a single document
pdfowl.memlimit.mb=1024