You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 32 Next »

Configuration

In order to enable this component, the following profile has to be enabled: external-flow. The below example illustrates how the bootstrap.properties file should look like:


bootstrap.properties
spring.profiles.active=native,...,external-flow

The file application-external-flow.properties must be available and should be configured as follows:

application-external-flow.properties
# The data store type, having two possible values: memory and redis. memory is the default one.
blueriq.external-flow.store-type=redis 

# The Database index used by the connection factory.
blueriq.external-flow.redis-store.database=0
# The REQUIRED DNS name or IP address of the Redis server.
blueriq.external-flow.redis-store.host=
# The password used to connect to Redis, can be left empty if no password is required. 
blueriq.external-flow.redis-store.password=
# The REQUIRED port on which to connect to Redis.
blueriq.external-flow.redis-store.port=
### Pool configuration ###
# Maximum number of "idle" connections in the pool. 
# Use a negative value to indicate an unlimited number of idle connections.
blueriq.external-flow.redis-store.pool.maxIdle=8
# Target for the minimum number of idle connections to maintain in the pool. 
# This setting only has an effect if it is positive.
blueriq.external-flow.redis-store.pool.minIdle=0
# Maximum number of connections that can be allocated by the pool at a given time. 
# Use a negative value for no limit.
blueriq.external-flow.redis-store.pool.maxActive=8
# Maximum amount of time a connection allocation should block before throwing an exception when the pool is exhausted. 
# Use a negative value to block indefinitely.
blueriq.external-flow.redis-store.pool.maxWait=-1

If the data store type is not specified, the memory store will be used. 
Please note that using a memory store type will make it impossible for you to start an external flow that resides on a different Runtime.
The other blueriq.external-flow.redis-store* properties will be ignored in this case.
If redis data store is used and the properties for configuring the host and/or the port are missing, the Runtime will not start.


Authorization

When an external flow is executed on a different runtime than the one that the current project is open, there needs to be a way in order for the roles of the currently logged in user to be validated on the target runtime where the external flow resides to. In order to support this, the authentication details of the main project are saved in the External flow DataStore and when the external flow is executed, the authentication is retrieved  on the runtime where the external flow resides on, and is set up as if the same user has logged in on that runtime.

When an external flow resides on a different Runtime, that Runtime gains access to the authorization details of the user that is executing the external flow, and it may make requests to other systems with that user credentials (especially when using OpenId Connect).

When executing an external flow on a different runtime, it is mandatory for both runtimes (the current runtime and the one containing the external flow) to have the same authentication type.



  • No labels