BEBuzen ESB Docs
Operations Guide

Configuration Reference

All Buzen ESB runtime configuration is under buzen.esb.*. This page consolidates high-impact keys from runtime defaults, secure deployment practices, and environment variable mappings used in containerized and standalone deployments.

1. Configuration model

Root prefix convention:

buzen:
  esb:
    connector:
      http: ...
      jms: ...
    deployment: ...
    security: ...
    management: ...
    monitoring: ...

Default runtime paths are derived from buzen.esb.home-dir, usually ./buzen-esb for local and /opt/buzen-esb in production-style packaging.

Prefer environment variables in production and keep static YAML free of secrets.

2. Critical runtime settings

KeyPurposeTypical Value
buzen.esb.environmentEnvironment label used by runtime conventionsproduction / staging / development
buzen.esb.home-dirRoot runtime directory/opt/buzen-esb
buzen.esb.data-dirData/log storage root${buzen.esb.home-dir}/data
server.portHTTPS runtime port8443
buzen.esb.management.base-pathManagement API base path/api/v1
buzen.esb.security.encryption.keyRequired key for encrypted sensitive valuesSet via env var only

3. Security and TLS settings

KeyMeaningDefault
buzen.esb.security.enabledEnables security filter chainstrue
buzen.esb.security.tokens.ttlAccess token lifetime12h
buzen.esb.security.tokens.max-tokens-per-userActive token cap per user1
buzen.esb.security.tls.enabledEnable TLStrue
buzen.esb.security.tls.keystore-pathPKCS12 keystore locationclasspath dev keystore
buzen.esb.security.tls.redirect-httpRedirect HTTP to HTTPStrue
buzen.esb.security.request-limits.max-request-bytesRequest size guardrail26214400
buzen.esb.security.request-limits.max-upload-bytesMultipart upload guardrail26214400
buzen.esb.security.request-limits.max-json-depthJSON nesting depth guardrail100
buzen.esb.security.request-limits.max-json-string-lengthJSON string length guardrail1000000
buzen.esb.security.request-limits.max-json-number-lengthJSON number length guardrail1000
buzen.esb.security.vault.enabledEnable Vault-backed secret lookupfalse
buzen.esb.security.vault.uriVault endpoint URIhttp://localhost:8200 (override in prod)
buzen.esb.security.vault.secrets-pathVault secret namespace pathsecret/buzen
buzen.esb.security.default-users.enabledEnable in-memory dev users (admin/operator/viewer)false
buzen.esb.security.internal-api.reserved-pathsAdditional blocked ingress prefixes[]
Do not run production with the default development keystore, Vault defaults, or development users enabled.

4. Route and deployment settings

KeyFunctionDefault
buzen.esb.routes.locationsClasspath/file glob list for YAML route loadingclasspath:routes/*.yaml, *.yml
buzen.esb.routes.hot-reloadReload route files when changedfalse
buzen.esb.routes.auto-startGlobal route auto start for non-archive loadingtrue
buzen.esb.deployment.directoryDirectory watched for .bar deployments${home}/deployments
buzen.esb.deployment.work-directoryExtracted archive workspace${home}/work
buzen.esb.deployment.lib-directoryShared runtime libraries${home}/lib

Route startup for archives is dual-gated by global deployment auto-start and per-route autoStart in buzen.json.

5. Resilience circuit breaker settings

KeyFunctionDefault
buzen.esb.resilience.circuit-breaker.enabledEnable circuit breaker integration for outbound endpointstrue
buzen.esb.resilience.circuit-breaker.endpoint-patternsEndpoint URI patterns protected by circuit breakerhttp:*, https:*, cxf:*
buzen.esb.resilience.circuit-breaker.failure-rate-thresholdFailure percentage to open circuit50
buzen.esb.resilience.circuit-breaker.sliding-window-sizeWindow size for failure rate calculation100
buzen.esb.resilience.circuit-breaker.minimum-number-of-callsMinimum calls before evaluating failures20
buzen.esb.resilience.circuit-breaker.permitted-number-of-calls-in-half-open-stateTrial calls allowed in half-open state10
buzen.esb.resilience.circuit-breaker.wait-duration-in-open-stateSeconds to wait before half-open transition30

6. Monitoring, tracing, and audit configuration

AreaKeyDefault
Metricsbuzen.esb.monitoring.metrics.enabledtrue
Tracingbuzen.esb.monitoring.tracing.retention-days7
Tracingbuzen.esb.monitoring.tracing.in-memory-max-events50000
Alertsbuzen.esb.monitoring.alert.retention-days30
Auditbuzen.esb.audit.retention-days365
Auditbuzen.esb.audit.persistence.batch-enabledtrue
Tracing body capture is conservative by default. Tune redaction patterns before enabling wider capture.

7. Environment variable mappings

Common variable mappings used for secure runtime startup:

export BUZEN_ESB_HOME=/opt/buzen-esb
export BUZEN_ESB_ADMIN_PASSWORD='strong-admin-password'
export BUZEN_ESB_ENCRYPTION_KEY=$(openssl rand -base64 32)
export BUZEN_ESB_SECURITY_TLS_ENABLED=true
export BUZEN_ESB_SECURITY_TLS_KEYSTORE_PATH=file:/opt/buzen-esb/certs/prod.p12
export BUZEN_ESB_SECURITY_TLS_KEYSTORE_PASSWORD='change-me'
export BUZEN_ESB_SECURITY_TOKEN_TTL=8h
export BUZEN_ESB_SECURITY_MAX_REQUEST_BYTES=5242880

8. Production-ready example

server:
  port: 8443

buzen:
  esb:
    environment: production
    home-dir: /opt/buzen-esb
    management:
      base-path: /api/v1
    routes:
      hot-reload: false
    security:
      enabled: true
      tokens:
        ttl: 8h
        max-tokens-per-user: 2
      ingress:
        permit-all-paths:
          - /partners/**
      internal-api:
        reserved-paths:
          - /internal
      tls:
        enabled: true
        keystore-path: file:/opt/buzen-esb/certs/prod.p12
        keystore-password: ${BUZEN_ESB_SECURITY_TLS_KEYSTORE_PASSWORD}
      request-limits:
        max-request-bytes: 5242880
        max-upload-bytes: 5242880
    monitoring:
      tracing:
        enabled: true
        retention-days: 14
      alert:
        enabled: true

9. Go-live checklist

  • Set BUZEN_ESB_ENCRYPTION_KEY and rotate on policy.
  • Replace default admin password and disable broad development ingress rules.
  • Use trusted production keystore, not bundled dev keystore.
  • Set realistic request limits and trace retention for your workload.
  • Validate startup with /api/v1/system/health and /api/v1/system/info.
  • Track configs in version control without secrets.