| 01-ingestion-pipeline-api-foundation |
01 |
database |
| clickhouse |
| jdbc |
| docker-compose |
| write-buffer |
| backpressure |
|
| phase |
provides |
| none |
greenfield project skeleton |
|
|
| ClickHouse Docker Compose for local development |
| ClickHouse DDL with route_executions, route_diagrams, agent_metrics tables |
| WriteBuffer<T> generic bounded buffer with backpressure signal |
| ExecutionRepository, DiagramRepository, MetricsRepository interfaces |
| IngestionConfig and ClickHouseConfig Spring configuration |
| Application.yml with datasource, ingestion, springdoc, actuator config |
|
| 01-02 |
| 01-03 |
| 02-search |
| 03-agent-registry |
|
| added |
patterns |
| clickhouse-jdbc 0.9.7 |
| springdoc-openapi 2.8.6 |
| spring-boot-starter-actuator |
| spring-boot-starter-jdbc |
| testcontainers-clickhouse 2.0.2 |
| awaitility |
| slf4j-api |
|
| ArrayBlockingQueue write buffer with offer/drain |
| all-or-nothing offerBatch |
| content-hash dedup for diagrams |
| daily partitioning with TTL + ttl_only_drop_parts |
|
|
| created |
modified |
| docker-compose.yml |
| clickhouse/init/01-schema.sql |
| cameleer-server-core/src/main/java/com/cameleer/server/core/ingestion/WriteBuffer.java |
| cameleer-server-core/src/main/java/com/cameleer/server/core/storage/ExecutionRepository.java |
| cameleer-server-core/src/main/java/com/cameleer/server/core/storage/DiagramRepository.java |
| cameleer-server-core/src/main/java/com/cameleer/server/core/storage/MetricsRepository.java |
| cameleer-server-core/src/main/java/com/cameleer/server/core/storage/model/MetricsSnapshot.java |
| cameleer-server-app/src/main/java/com/cameleer/server/app/config/IngestionConfig.java |
| cameleer-server-app/src/main/java/com/cameleer/server/app/config/ClickHouseConfig.java |
| cameleer-server-core/src/test/java/com/cameleer/server/core/ingestion/WriteBufferTest.java |
|
| cameleer-server-core/pom.xml |
| cameleer-server-app/pom.xml |
| cameleer-server-app/src/main/resources/application.yml |
|
|
| Used spring-boot-starter-jdbc for JdbcTemplate + HikariCP auto-config rather than manual DataSource |
| Created MetricsSnapshot record in core module since cameleer-common has no metrics model |
| ClickHouseConfig exposes JdbcTemplate bean; relies on Spring Boot DataSource auto-config |
|
| WriteBuffer pattern: ArrayBlockingQueue with offer()/offerBatch()/drain() for decoupling HTTP from ClickHouse |
| Repository interfaces in core module, implementations will go in app module |
| ClickHouse schema: DateTime64(3, 'UTC') for all timestamps, daily partitioning, TTL with ttl_only_drop_parts |
|
| INGST-04 |
| INGST-05 |
| INGST-06 |
|
3min |
2026-03-11 |