The following information depicts the components and dependencies that make up the application architecture of Boomerang Flow.

| Component | Type | Technology | Internal to Internal | External Ingress | Internal Dependency | External Dependency |
|---|---|---|---|---|---|---|
| Flow | Front End | React + Node.js | Flow MS | true | ||
| Workflow | Microservice | Spring Boot (Java®) | Controller MS | true | MongoDB® | |
| Controller | Microservice | Spring Boot (Java) | false | Kubernetes®, Tekton® TaskRun | ||
| Listener | Microservice | Spring Boot (Java) | Workflow MS | true | NATS | |
| Task Worker | TaskRun | Node.js CLI | false | Kubernetes®, Tekton® TaskRun | MongoDB® shell image |
Notes:
| Dependency | Implementation | Notes |
|---|---|---|
| Kubernetes |
|
Kubernetes 1.20+ |
| Tekton | TaskRuns | Part of Pipelines 0.23.3+ |
| Application Load Balancer | NGINX 0.23.0+ | |
| Database | MongoDB | |
| Message Streaming | NATS Jetstream 2.3.4 | Required if eventing is enabled |
| Certificate Manager | Jetstack Cert Manager (0.7.0) | Optional if you have your own TLS certificate as a Kubernetes secret |
| Logs |
|
If logging enabled, default is Kubernetes |
| Monitoring | New Relic Infrastructure, New Relic Kubernetes, New Relic APM Agent | If enabled |
| Tracing | Jaeger® | If enabled |