Repository-by-repository guide to the primary Chenile modules and where each one fits.
Edit me
chenile-parent
Role:
- Super-parent POM for the Chenile ecosystem
- Aligns framework-wide dependency versions, plugin versions, Java version, and release properties
Why it matters:
- Every other primary Chenile repository inherits from it.
- Release sequencing starts here.
chenile-core
Role:
- Runtime foundation of Chenile
Modules:
stmchenile-baseowizchenile-corechenile-httpcucumber-utilsutilsjpa-utilsmulti-datasource-utilschenile-mcp
Context note:
chenile-coreownsContextContainer, the request-scoped thread-local metadata holder used by interceptors, tenant routing, ID generation, and related helpers.- It is safe for synchronous same-thread request handling, but it should not be relied on for implicit async or reactive context propagation.
- The core tests include an executor-based isolation test proving that two concurrent requests do not leak
ContextContainerheaders into each other when each request stays on its own thread.
Version note:
chenile-corenow aggregates every classpath*version.txtresource into a runtime version map.- Services can declare
serviceModuleand resolve their service version from a namedxxx.versionentry rather than only from the default service id mapping. /infoexposes the aggregated version map.getVersion("xxx")resolvesxxx.version, which makes multi-family versioning practical inside one running monolith.serviceModuleis optional in both service JSON and@ChenileController, and defaults from the service id when omitted.versionPropertyremains available as a deprecated compatibility alias.- This lets framework-level services resolve from keys such as
chenile.version, while platform or application service families can resolve from their own shared version keys.
Admin UI note:
chenile-corenow includeschenile-admin-ui, a standalone React frontend for inspecting running Chenile monoliths.- It supports both local service inspection through
/infoand/service-info/{service}, and ecosystem-wide inspection throughGET /serviceregistrywhen the target monolith hostsserviceregistryService.
chenile-query-workflow-blueprints
Role:
- Main higher-level blueprint repository above
chenile-core
Modules:
query-apichenile-query-servicechenile-query-controllerworkflow-apiworkflow-servicecucumber-workflow-utilsworkflow-utilsstm-generate-puml
chenile-service-registry
Role:
- Registry layer for service discovery, lookup, and delegate-style interaction support
Modules:
service-registry-apiservice-registry-serviceservice-registry-delegate
chenile-proxies
Role:
- Interface-based proxying for Chenile services
Modules:
chenile-proxy
chenile-security
Role:
- Chenile security stack: API contracts, runtime support, interceptors, and test helpers
Modules:
chenile-securitychenile-security-apicucumber-sec-utilssecurity-interceptor
chenile-messaging
Role:
- Messaging and pub-sub integrations across multiple transports
Modules:
chenile-pub-subcucumber-mqtt-utilschenile-mqttcloud-edge-switchchenile-kafkachenile-azurechenile-jvm-pub-sub
chenile-bdd
Role:
- BDD and integration-test support modules
Modules:
it-cucumber-utilsit-cucumber-sec-utils
chenile-others
Role:
- Auxiliary entry points and supporting integrations
Modules:
chenile-filewatchchenile-schedulerchenile-cachechenile-config-maven-plugin
chenile-process-management
Role:
- Long-running parent and child process orchestration
Modules:
process-apiprocess-serviceprocess-delegateprocess-utilsq-based-process-starterinvm-process-starter
cconfig
Role:
- Modular configuration system for Chenile applications
Modules:
chenile-configcconfig-db