ores.variability.service
Table of Contents
2. Summary
ores.variability.service is the NATS service entrypoint for the variability
domain. It reads configuration, opens database and NATS connections, registers
all message handlers from ores.variability.core, and runs the event loop.
All business logic lives in ores.variability.core.
3. Inputs
- Configuration file: NATS server URL, PostgreSQL connection string, and environment settings.
- NATS request messages for system-setting queries and updates.
4. Outputs
- A running NATS service handling all variability operations.
- NATS response messages returned to callers.
- Structured logs via
ores.logging.
5. Entry points
src/main.cpp— process entry point.src/app/— application bootstrap and dependency injection.src/config/— configuration parsing and validation.
6. Dependencies
ores.variability.core— all NATS handlers, repositories, and services.ores.variability.api— shared protocol types.ores.logging— structured logging infrastructure.nats.c— NATS client for connection management.
7. Build dependencies
What the shared profile cannot know, declared here rather than hand-edited into the generated build file. Each block is spliced into its generated file after the profile's baseline.
8. See also
- ores.variability.core — all business logic for the variability domain.
9. Test dependencies
The suites link what the profile cannot know about.
target_link_libraries(${lib_target_name}
PUBLIC
ores.service.lib
ores.security.lib
ores.variability.core.lib
ores.nats.lib
ores.database.lib
ores.utility.lib
ores.telemetry.core.lib
ores.eventing.core.lib
ores.eventing.api.lib)
target_link_libraries(${tests_target_name}
PRIVATE
${lib_target_name}
ores.utility.lib
ores.testing.lib
ores.logging.lib
Catch2::Catch2
faker-cxx::faker-cxx
Threads::Threads)
