INSIDE THE RUNTIME

One process.
A clear foundation.

ContentLIBRE brings its runtime together in one operating-system process. The boundaries are explicit, so your extensions have somewhere clear to belong.

The runtime, at a glance.

The diagram combines the common foundation in the architecture and README with the typed API described as built in API-DESIGN.md. It does not imply clustering or a second publication repository.

Requests pass through a security boundary into Sling and the typed API, sharing one Jackrabbit Oak repository. The assembly chooses TAR or Mongo storage.
Simplified documentation diagram. Storage alternatives are assembly choices; they are not two repositories in one process.

THE FOUNDATION

Each layer has a job.

Apache Felix

The OSGi framework hosts the runtime’s bundles and services. Project extensions join that framework rather than creating a separate application stack.

Apache Sling

Resources, servlet resolution and HTL rendering connect content to HTTP. The stock content surface remains distinct from the typed API.

Jackrabbit Oak

One repository holds the content. Repository permissions remain important even when a request is admitted at the HTTP boundary.

Choose storage at assembly time.
Assembly Repository store Important boundary
libre-tar SegmentNodeStore / TAR The default assembly described in the project documents.
libre-mongo DocumentNodeStore / MongoDB A separate aggregate; validate its boot and operating behavior against the selected release.
libre-base No NodeStore A downstream foundation for choosing storage; not a runnable storage configuration on its own.

A store change is a migration.

Do not combine the TAR and Mongo storage features. Moving an existing deployment between them requires transferring and validating repository and binary content. It is not a configuration toggle.

Understand the assembly before extending it.

Build-time checks

Feature analysis checks package imports, capabilities, duplicate bundle names and repoinit syntax.

Boot-time checks

A feature can resolve without every service activating. A cold boot and integration tests answer a different question from the analyzer.

Deployment boundaries

Installed code is trusted. OSGi modularity is not a sandbox, and fewer bundles alone are not a security guarantee.

Make the runtime fit the project.

Keep additions explicit, document their dependencies and verify the resulting assembly.