Comprehensive guides and references for the OpenFrame platform
The Data Platform Config And Health module is responsible for configuring and validating connectivity to the core data infrastructure components used across the OpenFrame platform. It provides:
This module acts as the foundational data infrastructure layer for services such as the API Service, Stream Service, and External API Service. It ensures that required data stores are correctly initialized and observable at runtime.
The Data Platform Config And Health module sits between service applications and underlying data systems.
flowchart TD
App["Service Application"] --> DataConfig["Data Platform Config And Health"]
DataConfig --> Cassandra["Cassandra Cluster"]
DataConfig --> Pinot["Apache Pinot"]
DataConfig --> Actuator["Spring Boot Actuator"]
Actuator --> Health["Cassandra Health Indicator"]
Core Components:
CassandraConfigCassandraKeyspaceNormalizerDataConfiguration.CassandraConfigurationExtends AbstractCassandraConfiguration and provides:
CqlSessionFactoryBean configurationKey behavior:
flowchart TD
Start["Application Startup"] --> Normalize["Keyspace Normalization"]
Normalize --> Ensure["Ensure Keyspace Exists"]
Ensure --> Session["Create CqlSessionFactoryBean"]
Session --> Repos["Enable Cassandra Repositories"]
Before the Cassandra session connects to a specific keyspace, the module:
CREATE KEYSPACE IF NOT EXISTS <keyspace>
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': <n>}
This guarantees that the application does not fail due to missing keyspaces during deployment.
Cassandra keyspaces cannot contain dashes. However, tenant identifiers often do.
This initializer:
spring.data.cassandra.keyspace-name- with _Example:
Tenant ID: tenant-prod-eu
Normalized Keyspace: tenant_prod_eu
It uses ApplicationContextInitializer to ensure it runs after external configuration sources (such as Spring Cloud Config) are loaded.
Provides conditional repository activation:
spring.data.cassandra.enabled=truecom.openframe.data.repository.cassandraThis ensures modular activation of Cassandra support depending on service requirements.
Core Component:
PinotConfigProvides two connection beans:
pinotBrokerConnection)pinotControllerConnection)flowchart LR
Service["Service Layer"] --> BrokerConn["Pinot Broker Connection"]
Service --> ControllerConn["Pinot Controller Connection"]
BrokerConn --> PinotBroker["Pinot Broker"]
ControllerConn --> PinotController["Pinot Controller"]
Configuration properties:
pinot.broker.urlpinot.controller.urlThese connections are used by analytics repositories and reporting layers that query event and device data stored in Pinot.
Core Component:
ConfigurationLoggerTriggered on ApplicationReadyEvent, this component logs effective runtime configuration values:
Purpose:
This is particularly valuable in containerized and multi-tenant environments.
Core Component:
CassandraHealthIndicatorImplements Spring Boot’s HealthIndicator interface.
Health check logic:
flowchart TD
HealthCheck["Health Endpoint Invoked"] --> Query["Execute SELECT release_version FROM system.local"]
Query --> Success["Health UP"]
Query -->|"Exception"| Failure["Health DOWN"]
Health.up() if successfulHealth.down() with exception details if the query failsThis integrates with Spring Boot Actuator endpoints, allowing:
Several components are guarded by:
spring.data.cassandra.enabled=true
This ensures:
| Property | Purpose |
|---|---|
| spring.data.cassandra.enabled | Enables Cassandra configuration |
| spring.data.cassandra.keyspace-name | Target keyspace |
| spring.data.cassandra.local-datacenter | Datacenter for load balancing |
| spring.data.cassandra.contact-points | Cassandra host(s) |
| spring.data.cassandra.port | Cassandra port |
| spring.data.cassandra.replication-factor | Keyspace replication factor |
| pinot.broker.url | Pinot broker endpoint |
| pinot.controller.url | Pinot controller endpoint |
The Data Platform Config And Health module is a shared infrastructure module consumed by:
It does not implement business logic. Instead, it provides:
By isolating data configuration and health concerns into a dedicated module, the platform achieves:
The Data Platform Config And Health module forms the backbone of the OpenFrame data infrastructure layer. It ensures that Cassandra and Pinot are correctly configured, initialized, and observable, while providing production-grade health monitoring and tenant-safe keyspace handling.
It is a foundational infrastructure module enabling reliable, scalable, and observable data operations across the entire OpenFrame platform.