Deployment

ETL Server web application distributed as a etl.war - self-containded war file, which can be deployed to any servlet-compatible container, such as Tomcat (7.x and up), JBOSS, etc.

To deploy ETL Server, simply drop etl.war in to the apps folder in the servlet containter. For Tomcat it is /tomcat/webapps.

REST API documenation

REST API Doc

Configuration

(all examples are for ETL Server deployed to Tomcat)

1. Add the following line to the /tomcat/conf/catalina.properties:
spring.config.location=${catalina.home}/conf/application.properties
2. Create empty application.properties file in the /tomcat/conf folder

Folders

When exploded, etl.war contains the following folders, which can (in many cases should) be moved somewhere else.

data

Data folder is used to stote ETL scenarios, metadata cache, temporary files, etc.
By default, when deployed to Tomcat, ETL Server uses the following folder for data: /tomcat/webapps/etl/data.

To configure data folder to be outside of the servlet container, add the following line to the application.properties file:
app.data.path=new-location-of-the-data-folder

logs

By default, when deployed to Tomcat, Data Explorer creates logs in the /tomcat/logs folder.

You can change it by modifying /tomcat/webapps/etl/config/log4j.properties file.

Recommended (for Tomcat):
log4j.appender.FILE.File=${catalina.home}/logs/{app.name}.log

license

License folder is used to store ETL Server license (*.lic) files.
By default, when deployed to Tomcat, ETL Server uses the following folder for licenses: /tomcat/webapps/etl/license.

To configure location of the license folder, add the following line to the application.properties file:
app.license.path=new-location-of-the-license-folder

Security

You can protect API endpoints in the ETL Server by adding the following line to the application.properties file:
etl.framework.jwt.secret=secret-key-used-to-encrypt-jwt-tokens

If this property is set, ETL Server automaticaly switches to the secure mode. In the secure mode each call to any enpoint requires a valid JWT token in the header parameter.

Read more about JWT-based security here.

To generate JWT tokens you can use JJWT library.

Redis

ETL Server can use Redis to store metadata cache.

To configure Redis simply add the following line to the application.properties file:
spring.redis.host=redis-host

JDBC

By default all JDBC drivers are packaged inside etl.war folder and exploded into tomcat/webapps/etl/jdbc folder.

It is recommened to move them all to the tomcat/lib folder.