Configuration

Configuration

CIB ins7ght provides extensive configuration options to customize the application behavior, database connections, polling intervals, and more. This section explains all available configuration properties and their effects.


Configuration File Location

The main configuration files are located at:

  • src/main/resources/application.yaml - Default configuration
  • src/main/resources/cib-ins7ght.yaml - Environment-specific overrides
  • config/cib-ins7ght.yaml - External configuration (can be mounted in containers)

The application automatically imports configurations in this order:

  1. application.yaml (base configuration)
  2. environment-config.yaml (optional)
  3. cib-ins7ght.yaml (optional, overrides previous values)

Core Configuration Properties

Server Configuration

Configure the HTTP server port and settings:

server:
  port: 8899

Properties:

  • port: HTTP port for the application (default: 8899)

Database Configuration

CIB ins7ght supports both H2 and PostgreSQL databases.

H2 Database
spring:
  datasource:
    url: jdbc:h2:file:/ins7ght-h2-dbs/cib_ins7ght_db
    username: sa
    password: sa
    driver-class-name: org.h2.Driver
  jpa:
    database-platform: org.hibernate.dialect.H2Dialect
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        dialect: org.hibernate.dialect.H2Dialect
        jdbc:
          batch_size: 1000
          batch_versioned_data: true
        order_inserts: true
        order_updates: true
PostgreSQL Database
spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/cibseven-optimize
    username: postgres
    password: ${DB_PASSWORD}
    driver-class-name: org.postgresql.Driver
  jpa:
    database-platform: org.hibernate.dialect.PostgreSQLDialect
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        dialect: org.hibernate.dialect.PostgreSQLDialect
        jdbc:
          batch_size: 1000
          batch_versioned_data: true
        order_inserts: true
        order_updates: true

Database Properties:

Property Description Default/Example
spring.datasource.url JDBC connection URL to the database jdbc:postgresql://localhost:5432/cibseven-optimize
spring.datasource.username Database username postgres
spring.datasource.password Database password (use environment variables for security) ${DB_PASSWORD}
spring.datasource.driver-class-name JDBC driver class name org.postgresql.Driver or org.h2.Driver

JPA/Hibernate Properties:

Property Description Recommended Value
spring.jpa.database-platform Database dialect for SQL generation org.hibernate.dialect.PostgreSQLDialect or org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto Schema generation strategy:
create - Drop and recreate (H2/dev)
update - Update schema (PostgreSQL/prod)
validate - Only validate schema
none - No schema management
create (dev)
update (prod)
hibernate.jdbc.batch_size Number of SQL statements to batch together for better performance 1000
hibernate.jdbc.batch_versioned_data Enable batch updates for entities with version fields true
hibernate.order_inserts Order INSERT statements to allow batching true
hibernate.order_updates Order UPDATE statements to allow batching true

Polling Configuration

Control how CIB ins7ght polls data from CIB seven:

polling:
  time: 10
  engineRestUrl: http://localhost:8080/engine-rest
  maxPageSizeDeployments: 500
  maxPageSizeActivityInstances: 100000
  maxPageSizeProcessInstances: 500
  maxPageSizeIncidents: 500
  batchIntervalInHours: 24

Polling Properties:

Property Description Default/Recommended
polling.time Polling interval in seconds (not milliseconds) 10 seconds
polling.engineRestUrl URL to CIB seven engine-rest API endpoint http://localhost:8080/engine-rest
polling.maxPageSizeDeployments Maximum number of process deployments to fetch per request 500
polling.maxPageSizeActivityInstances Maximum number of activity instances to fetch per request 100000
polling.maxPageSizeProcessInstances Maximum number of process instances to fetch per request 500
polling.maxPageSizeIncidents Maximum number of incidents to fetch per request 500
polling.batchIntervalInHours Interval for batch processing operations in hours 24

Performance Tuning:

  • Lower time values provide more real-time data but increase server load
  • Increase maxPageSize* values for systems with high process volumes
  • Adjust batchIntervalInHours based on data volume and processing needs

Polling Authentication Configuration

CIB ins7ght supports three authentication methods for connecting to CIB seven:

Option 1: Basic Authentication

Direct authentication to the Camunda engine:

polling:
  auth:
    type: basic
    basic:
      username: demo
      password: demo
Option 2: WebClient Authentication

Authentication via CIB Seven WebClient:

polling:
  auth:
    type: webclient
    webclient:
      url: http://localhost:8080/cib-seven-webclient/rest/login
      username: admin
      password: admin
Option 3: Single Sign-On (SSO)

OAuth2/OpenID Connect authentication:

polling:
  auth:
    type: sso
    sso:
      url: http://localhost:8088/auth/realms/cib/protocol/openid-connect/token
      client-id: your-client-id
      client-secret: ${SSO_CLIENT_SECRET}
      useWebclient: true
      webclientUrl: http://localhost:8080/cib-seven-webclient/rest/login

Authentication Properties:

Property Description Values/Example
polling.auth.type Authentication method to use for CIB seven connection basic, webclient, or sso
Basic Authentication
polling.auth.basic.username Username for direct Camunda engine authentication demo
polling.auth.basic.password Password for direct Camunda engine authentication demo or ${ENGINE_PASSWORD}
WebClient Authentication
polling.auth.webclient.url URL for CIB Seven WebClient login endpoint http://localhost:8080/cib-seven-webclient/rest/login
polling.auth.webclient.username Username for WebClient authentication admin
polling.auth.webclient.password Password for WebClient authentication admin or ${WEBCLIENT_PASSWORD}
SSO Authentication
polling.auth.sso.url OAuth2/OIDC token endpoint URL http://localhost:8088/auth/realms/cib/protocol/openid-connect/token
polling.auth.sso.client-id OAuth2 client identifier Your client ID
polling.auth.sso.client-secret OAuth2 client secret (use environment variables) ${SSO_CLIENT_SECRET}
polling.auth.sso.useWebclient Whether to use WebClient for authentication after SSO true or false
polling.auth.sso.webclientUrl WebClient URL when useWebclient is enabled http://localhost:8080/cib-seven-webclient/rest/login

Choosing an Authentication Method:

  • Basic: Simplest option, direct access to Camunda engine
  • WebClient: When using CIB Seven WebClient for centralized authentication
  • SSO: Enterprise environments with OAuth2/OpenID Connect identity providers

WebClient Cockpit URL

Configure the URL to the CIB Seven webclient cockpit (used by the frontend):

webclientCockpitUrl: http://localhost:8080/webapp/#/seven/auth/processes/dashboard

Property:

Property Description Example
webclientCockpitUrl URL to CIB Seven webclient dashboard, used by frontend for navigation http://localhost:8080/webapp/#/seven/auth/processes/dashboard


Complete Configuration Example

Development Configuration (application.yaml)

server:
  port: 8899

spring:
  banner:
    location: classpath:banner/cib-ins7ght-banner.txt
  config:
    import:
      - optional:classpath:environment-config.yaml
      - optional:classpath:cib-ins7ght.yaml
  datasource:
    url: jdbc:h2:file:/ins7ght-h2-dbs/cib_ins7ght_db
    username: sa
    password: sa
    driver-class-name: org.h2.Driver
  jpa:
    database-platform: org.hibernate.dialect.H2Dialect
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        dialect: org.hibernate.dialect.H2Dialect
        jdbc:
          batch_size: 1000
          batch_versioned_data: true
        order_inserts: true
        order_updates: true

webclientCockpitUrl: http://localhost:8080/webapp/#/seven/auth/processes/dashboard

polling:
  time: 10
  engineRestUrl: http://localhost:8080/engine-rest
  maxPageSizeDeployments: 500
  maxPageSizeActivityInstances: 100000
  maxPageSizeProcessInstances: 500
  maxPageSizeIncidents: 500
  batchIntervalInHours: 24
  auth:
    type: basic
    basic:
      username: demo
      password: demo
    webclient:
      url: http://localhost:8080/cib-seven-webclient/rest/login
      username: admin
      password: admin
    sso:
      url: http://localhost:8088/auth/realms/cib/protocol/openid-connect/token
      client-id: ''
      client-secret: ''
      useWebclient: true
      webclientUrl: http://localhost:8080/cib-seven-webclient/rest/login

Production Configuration (cib-ins7ght.yaml)

server:
  port: 8899

spring:
  datasource:
    url: jdbc:postgresql://your-postgres-host:5432/cibseven-optimize
    username: postgres
    password: ${DB_PASSWORD}
    driver-class-name: org.postgresql.Driver
  jpa:
    database-platform: org.hibernate.dialect.PostgreSQLDialect
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        dialect: org.hibernate.dialect.PostgreSQLDialect
        jdbc:
          batch_size: 1000
          batch_versioned_data: true
        order_inserts: true
        order_updates: true

polling:
  time: 10
  engineRestUrl: https://your-cib-seven-host/engine-rest
  maxPageSizeDeployments: 500
  maxPageSizeActivityInstances: 100000
  maxPageSizeProcessInstances: 500
  maxPageSizeIncidents: 500
  batchIntervalInHours: 12
  auth:
    type: basic
    basic:
      username: ${ENGINE_USERNAME}
      password: ${ENGINE_PASSWORD}

Environment Variables

For sensitive information, use environment variables:

# Database credentials
export DB_PASSWORD=secure_db_password

# CIB Seven engine authentication
export ENGINE_USERNAME=your_username
export ENGINE_PASSWORD=your_password

# SSO configuration (if using SSO)
export SSO_CLIENT_SECRET=your_sso_client_secret

Troubleshooting Configuration

Database Connection Issues

Problem: Application fails to connect to database

Solutions:

  • Verify database URL, username, and password
  • Ensure database server is running and accessible
  • Check firewall rules and network connectivity
  • For PostgreSQL, ensure the database and schema exist

Polling Not Working

Problem: Data not being imported from CIB seven

Solutions:

  • Verify engineRestUrl is correct and accessible
  • Check authentication credentials are valid
  • Ensure CIB seven history level is set to FULL or AUDIT
  • Review application logs for polling errors
  • Test engine-rest API manually: curl http://your-engine-rest/engine

Performance Issues

Problem: Application is slow or using too much memory

Solutions:

  • Reduce maxPageSize* values if processing too much data
  • Increase batchIntervalInHours to reduce processing frequency
  • Increase polling.time interval to reduce polling frequency
  • Adjust JVM memory settings
  • Monitor database query performance

Monitoring Configuration

To verify your configuration is working:

  1. Check application startup logs for configuration values
  2. Access info endpoint (if configured): GET /info/properties
  3. Monitor polling logs for data import activity
  4. Check database connections and query performance
  5. Verify CIB seven connectivity via logs

On this Page: