Skip to main content
Version: 2.14.0

License engine setup guide

The service is available as a docker image.

It has the following dependencies:

  • a postgres database
  • it needs to be able to connect to the same Kafka instance as the one used by the engine
  • requests made to the License engine should be routed from the FLOWX Designer using NGINX

The service comes with most of the needed configuration properties filled in, but there are a few that need to be set up using some custom environment variables.

Dependencies โ€‹

Postgres databaseโ€‹

Basic Postgres configuration - helm values.yaml

  licencedb:
existingSecret: {{secretName}}
metrics:
enabled: true
service:
annotations:
prometheus.io/port: {{phrometeus port}}
prometheus.io/scrape: "true"
type: ClusterIP
serviceMonitor:
additionalLabels:
release: prometheus-operator
enabled: true
interval: 30s
scrapeTimeout: 10s
persistence:
enabled: true
size: 1Gi
postgresqlDatabase: license-coredb
postgresqlExtendedConf:
maxConnections: 200
sharedBuffers: 128MB
postgresqlUsername: postgres
resources:
limits:
cpu: 6000m
memory: 2048Mi
requests:
cpu: 200m
memory: 512Mi

Configuration โ€‹

Authorization configuration & access rolesโ€‹

The following variables need to be set in order to connect to the identity management platform:

SECURITY_OAUTH2_BASE_SERVER_URL

SECURITY_OAUTH2_CLIENT_CLIENT_ID

SECURITY_OAUTH2_REALM

ยปConfiguring access roles (old)

License datasource configurationโ€‹

To store license related data, the license engine uses a Postgres / Oracle database.

The following configuration details need to be added in configuration files or overwritten using environment variables:

SPRING_DATASOURCE_JDBCURL

SPRING_DATASOURCE_USERNAME

SPRING_DATASOURCE_PASSWORD

Engine datasource configurationโ€‹

The License service needs to retrieve the data for a process instance from the engine database. So it needs to have all the correct information to connect to the engine database.

The following configuration details need to be added in configuration files or overwritten using environment variables:

ENGINE_DATASOURCE_JDBCURL

ENGINE_DATASOURCE_USERNAME

ENGINE_DATASOURCE_PASSWORD

Kafka configurationโ€‹

Kafka handles all communication between the License Engine and the FLOWX Engine.

Both a producer and a consumer must be configured. The following Kafka related configurations can be added in configuration files or overwritten using environment variables:

SPRING_KAFKA_BOOTSTRAP_SERVERS - address of the Kafka server

SPRING_KAFKA_CONSUMER_GROUP_ID - group of consumers

KAFKA_CONSUMER_THREADS - the number of Kafka consumer threads

KAFKA_AUTH_EXCEPTION_RETRY_INTERVAL - the interval between retries after AuthorizationException is thrown by KafkaConsumer

caution

The configured license topic KAFKA_TOPIC_LICENSE_IN should be the same as the KAFKA_TOPIC_LICENSE_OUT from the engine

Loggingโ€‹

The following environment variables could be set in order to control log levels:

LOGGING_LEVEL_ROOT - root spring boot microservice logs

LOGGING_LEVEL_APP - app level logs

NGINXโ€‹

The configuration for the Flowx Designer should be updated to also expose the REST API of the license engine by adding a path in flowx-admin-plugins-subpaths

      - path: /license(/|$)(.*)
backend:
serviceName: license-core
servicePort: 80

Was this page helpful?