Broadleaf Microservices

Helm Charts

Now that you have your own container images built and deployed to your own registry, you can now utilize our example Helm charts as a starter to deploy your various Broadleaf Flex Package compositions to an existing Kubernetes cluster (which can be created with the reference Terraform scripts mentioned above). See the Deployment Flexibility article for more details if you’re not familiar with Broadleaf’s Flex Package technology.

Note
Please see the README on the "Helm Charts Starter" project that is included with the Microservice Project Starters. This project provides a base starting point that you can use as a reference for your specific deployment as well as provides a sample install.sh script to deploy all the resources requirerd in a full Broadleaf installation containing all the demo starter images

Appendix: Demo Docker Images

Important

All references to a "Starter Project" or "Demo Images" assumes you have obtained credentials outlined in the guide: Getting Started Locally and you have the ability to authenticate with Broadleaf’s docker registry and maven nexus.

e.g.

docker login repository.broadleafcommerce.com:5001

The following tables describe the various demo images that are produced and used across the different Microservice Starter Projects. This serves as a general reference to their relative location within the starter Helm charts.

Note
typically the image tag versions defined in the starter project’s charts represent the latest stable releases of the current demo

Common Supporting Utility Services

Pod Primary Container Image Helm Chart

Backoffice Admin Gateway

repository.broadleafcommerce.com:5001/broadleaf/admingateway-monitored

blc-supporting-stack

Backoffice Admin

repository.broadleafcommerce.com:5001/broadleaf/adminweb

blc-supporting-stack

Auth Service

repository.broadleafcommerce.com:5001/broadleaf-demo/auth

blc-supporting-stack

Customer Facing Storefront Gateway

repository.broadleafcommerce.com:5001/broadleaf/commercegateway-monitored

blc-supporting-stack

Customer Facing Storefront

repository.broadleafcommerce.com:5001/broadleaf/commerce-nextjs-starter

blc-supporting-stack

Kafka

confluentinc/cp-kafka

blc-supporting-stack

Open API UI

repository.broadleafcommerce.com:5001/broadleaf/openapi-ui

blc-supporting-stack

Solr

repository.broadleafcommerce.com:5001/broadleaf/docker-solr

blc-supporting-stack

Zookeeper

confluentinc/cp-zookeeper

blc-supporting-stack

Optional Monitoring & Observability Stack

Name Typical Helm Installation Notes

Kube Prometheus Stack

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

kubectl apply -f kube-prometheus-stack/grafana/blc-dashboard-configmap.yaml

helm install -f kube-prometheus-stack/blc-values.yaml kube-prometheus-stack prometheus-community/kube-prometheus-stack --version 15.2.1

Typical Broadleaf overrides and settings can be found in: kube-prometheus-stack/blc-values.yaml along with an out-of-box Broadleaf Grafana dashboard (kubectl apply -f kube-prometheus-stack/grafana/blc-dashboard-configmap.yaml)

Elastic Stack

helm repo add elastic https://helm.elastic.co

helm install elasticsearch elastic/elasticsearch --version 7.16.1

helm install apm-server elastic-stack/apm-server

helm install -f elastic-stack/filebeat/blc-values.yaml filebeat elastic/filebeat

Sample APM Server and Filebeat config are located in elastic-stack/apm-server/values.yaml and elastic-stack/filebeat/blc-values.yaml


The following sections represent the different images used depending on which example flex package composition you choose to deploy for your core commerce backend services.

Min Flex Package Composition (good for development)

Pod Primary Container Image Helm Chart

Min - The Min Flex Package composes the following microservices together into a single deployment: Admin Navigation, Admin User, Metadata, Sandbox, Tenant, Search, Notification, Asset, Catalog Browse, Catalog, Personalization, Pricing, Offer, Campaign, Cart Ops, Cart, Customer, Inventory, Order Ops, Order, Vendor, Import, Scheduled Jobs, Menu

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-min-application

blc-min-flex-demo

Indexer - it is recommended that indexer be deployed independently of the other services in a min flex package composition.

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-indexer-application

blc-min-flex-demo

Pod Primary Container Image Helm Chart

browse - The Browse Flex Package composes the following microservices together: Asset, Catalog Browse, Catalog, Personalization, Pricing, Offer, Campaign, Vendor, Menu

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-browse-flex-application

blc-balanced-flex-demo

cart - The Cart Flex Package composes the following microservices together: Cart Ops, Cart, Customer, Inventory, Order Ops, Order

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-cart-flex-application

blc-balanced-flex-demo

processing - The Processing Flex Package composes the following microservices together: Import, Indexer, Scheduled Jobs, Campaign*, Catalog*, Customer*, Inventory*, Pricing*

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-processing-flex-application

blc-balanced-flex-demo

supporting - The Supporting Flex Package composes the following microservices together: Admin Navigation, Admin User, Metadata, Sandbox, Tenant, Search, Notification

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-supporting-flex-application

blc-balanced-flex-demo

Note
(*) The Processing Flex Package has some unique properties wherein some services are only included with input listeners for import and sandboxing transitions ONLY (and will be exempt from servicing typical request traffic). i.e. heavy back office functions can be scaled independently while not impacting customer facing browse flows or vice versa.

Granular Flex Package Composition

The following represents all the services deployed individually.

Image Helm Chart

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-adminnav-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-adminuser-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-asset-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-campaign-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-cart-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-cartops-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-catalog-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-catalogbrowse-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-customer-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-import-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-indexer-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-inventory-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-menu-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-metadata-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-notification-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-offer-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-order-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-orderops-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-personalization-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-pricing-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-sandbox-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-scheduledjob-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-search-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-tenant-application

blc-granular-flex-demo

repository.broadleafcommerce.com:5001/broadleaf-demo/demo-vendor-application

blc-granular-flex-demo