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 3 Next »

The DCM Maintenance App supports multi-tenancy for communication with the Case Engine, it's data sources and asynchronous messaging.

Enabling multi-tenancy

To enable multi-tenancy, the following properties should be provided in the configuration:

blueriq-dcm-maintenance-app.yml
blueriq:
  multi-tenancy:
    enabled: true
    allowed-tenants:
      - A
      - B

Authentication

To be able to use the DCM Maintenance App, the user should be authenticated. This is done through Keycloak as explained in Blueriq Gateway and OAuth2 configuration. The difference with multi-tenancy is that the application now expects a claim to be present in the JWT token with the claim path name "tenant" and with the tenant name as value. This claim name is customizable if the tenant is present in the JWT token with a different claim name.

Customizing the tenant path

The tenant claim can be customized using a JsonPath expression in the same way the roles-path and username-path can be set.

blueriq-dcm-maintenance-app.yml
blueriq:
  jwt:
    tenant-path: $.custom_tenant_claim_path

RabbitMQ and MongoDB configuration

For RabbitMQ and MongoDB the properties need to be set per tenant as well. This is an example of this configuration:


blueriq-dcm-maintenance-app.yml
  dcm:
    maintenance:
      app:        
        dlq:
          retry:
            delay: 2m
            max-retries: 0
          rabbitmq:
            tenants:
              blueriq:
                host: ${MULTITENANCY_HOST}
                port: 18030
                username: guest
                password: guest
                virtualHost: Blueriq
                queueNames:
                  - dcmEventsDlq
                  - dcmTasksEventsDlq
                  - dcmScheduledEventsDlq
                  - traceDlq
                  - timelineDlq
                  - dcmMaintenanceEventsDlq
                  - auditEventsDlq
                  - dcmListsEventsDlq
              everest:
                host: ${MULTITENANCY_HOST}
                port: 18030
                username: guest
                password: guest
                virtualHost: Everest
                queueNames:
                  - dcmEventsDlq
                  - dcmTasksEventsDlq
                  - dcmScheduledEventsDlq
                  - traceDlq
                  - timelineDlq
                  - dcmMaintenanceEventsDlq
                  - auditEventsDlq
                  - dcmListsEventsDlq
        case-engine:
          rabbitmq:
            tenants:
              blueriq:
                host: ${MULTITENANCY_HOST}
                port: 18030
                username: guest
                password: guest
                queueNames:
                  - dcmMaintenanceEventsQueue
                virtualHost: Blueriq
              everest:
                host: ${MULTITENANCY_HOST}
                port: 18030
                username: guest
                password: guest
                queueNames:
                  - dcmMaintenanceEventsQueue
                virtualHost: Everest

        mongodb:
          tenants:
            blueriq:
              host: ${MULTITENANCY_HOST}
              port: 18032
              database: bq_messages
            everest:
              host: ${MULTITENANCY_HOST}
              port: 18032
              database: ev_messages




  • No labels