Broadleaf Microservices
  • v1.0.0-latest-prod

Production Properties

Important
Since Release Train 1.8.3 - if utilizing an Initializr-based project, it is highly recommended that you include Broadleaf’s Spring Cloud Config server in your microservices ecosystem. Details around the capabilities of this config server can be found on our enhanced ENV configuration support page.

Overview

In a pre-production or production environment, you will want to enable certain properties specific for these higher level environments and disable those that are meant purely for development.

Below is a list of properties to consider specifying in a production profile (e.g. application-production.yml) as well as production configuration to review and verify.

Disable the Broadleaf Environment Report

It’s recommended that in production environments that the environment report is disabled.

broadleaf:
  environment:
    report:
      disabled: 'true'
Note
Since Release Train 1.8.3 - if utilizing an Initializr-based project, this property is set to false by default

Disabling the Creation of Default AdminUsers & Customers

Broadleaf provides the ability to create default/demo AdminUsers and Customers. While these users can be helpful in non-production environments, they should not be present in production environments. To disable the creation of these users, the following Auth Service properties must be declared:

broadleaf:
  auth:
    data:
      load:
        default-users: false
        default-master-global-admin-user: false
        register-demo-application-clients: false
Note
If you are using a MicroservicesDemo based project, see this KB Article for more details: https://helpdesk.broadleafcommerce.com/hc/en-us/articles/15010311974164-Demo-Data-Disabling-Demo-Data
Note
Since Release Train 1.8.3 - if utilizing an Initializr-based project, the following can be disabled by not including the Demo Extensions component in your manifest.yml

Disabling the Creation of Demo Liquibase data

You can disable the demo liquibase change-sets from loading by specifying the liquibase context.

spring:
  liquibase:
    contexts='!demo'
Note
If you are using a MicroservicesDemo based project, see this KB Article for more details: https://helpdesk.broadleafcommerce.com/hc/en-us/articles/15010311974164-Demo-Data-Disabling-Demo-Data
Note
Since Release Train 1.8.3 - if utilizing an Initializr-based project, the following can be disabled by not including the Demo Extensions component in your manifest.yml

Configure Auth JWK URI (if applicable)

If you are utilizing Broadleaf’s Auth Service and would like to allow auto-discovery of the Public Key (instead of configuring it for each deployable). You will want to specify the URI of the well-known JWKs endpoint for your application to hit. For example:

broadleaf:
  resource:
    security:
      oauth2:
        encodedPublicKey:
        jwkSetUri: http://my-auth-app.default.svc.cluster.local:8080/.well-known/jwks.json
Note
See configuration of JWT Keys for more details: https://developer.broadleafcommerce.com/production/configuration/generating-private-public-key-jwt. See the configuration of the Auth Service for more details: https://developer.broadleafcommerce.com/services/authentication-services

Verify Camel Cluster Service Implementation

If the system detects that you are running the "file-based" camel-cluster service, then you may see the following WARNING in your logs:

CommonMessagingAutoConfiguration : ***** WARNING - broadleaf.messaging.cluster-service-implementation-type is set to `file``. This prevents cluster detection beyond a single node, which is only appropriate for local development. This value should be changed to `kubernetes` or `zookeeper` (usually `kubernetes` via manifest environment variable when deploying to k8s). *****

See the documentation on Camel Cluster Configuration for more details: https://developer.broadleafcommerce.com/production/configuration/camel-cluster-service

Verify Tax Provider Implementation

If the system detects that you are still using the sample tax configuration for the SimpleTaxProvider, you may see the following WARNING in your logs:

SimpleTaxProvider         : The default simple tax configuration is the same as the sample or there is no default simple tax configuration available. This is not recommended for production environments.

See the documentation on SimpleTaxProvider for more details on how to configure: https://developer.broadleafcommerce.com/services/cart-operation-services/pricing/tax-service