This application is the default implementation of the Boomi Flow External Storage API. It aims to serve the 90% use case for consumers of the API, so you can run it as-is, or customize it to fit your requirements if there's something missing.
Various example deployment strategies are provided in the
examples folder, and support the following, in
a test environment:
The following instructions document how to run the service manually, and can be used to base your own deployment strategies from, if they don't fit into the example ones we provide.
The available configuration settings for the application are:
It is also possible to configure a store to use multiple keys, and therefore accept data from multiple tenants. You can configure more than one key by adding multiple environment variables in the following format:
- mysql jdbc:mysql://your-host.com/external_storage_db
- postgresql jdbc:postgresql://your-host.com/external_storage_db
- sqlserver jdbc:sqlserver://your-host.com;database=external_storage_db
Note: Database migrations are run automatically on startup, so the schema should always be up-to-date
You will have to configure the application at runtime by using environment variables. Here's an example that runs the application from the command line:
$ DATABASE_URL=jdbc:postgresql://localhost/flow \ DATABASE_USERNAME=manywho \ DATABASE_PASSWORD=password \ RECEIVER_KEY=receiverkey \ PLATFORM_KEY=platformkey \ java -jar target/external-storage.jar
To build the application, you will need to have Maven 3 and a Java 10+ implementation installed (OpenJDK and Oracle Java SE are both supported).
Now you can build the runnable shaded JAR:
$ mvn clean package
The application is a RestEASY JAX-RS application, that by default is run under the Undertow server on port 8080 (if you use the packaged JAR).
The default path for this app is
Running the following command will start the service listening on
$ java -jar target/external-storage.jar
The service is compatible with Heroku, and can be deployed by clicking the button below:
Contributions are welcome to the project - whether they are feature requests, improvements or bug fixes! Refer to CONTRIBUTING.md for our contribution requirements.
This application is released under the MIT License.