chore: rename cameleer3 to cameleer
Rename Java packages from com.cameleer3 to com.cameleer, module directories from cameleer3-* to cameleer-*, and all references throughout workflows, Dockerfiles, docs, migrations, and pom.xml. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -6,18 +6,18 @@ wave: 1
|
||||
depends_on: []
|
||||
files_modified:
|
||||
- pom.xml
|
||||
- cameleer3-server-core/pom.xml
|
||||
- cameleer3-server-app/pom.xml
|
||||
- cameleer-server-core/pom.xml
|
||||
- cameleer-server-app/pom.xml
|
||||
- docker-compose.yml
|
||||
- clickhouse/init/01-schema.sql
|
||||
- cameleer3-server-app/src/main/resources/application.yml
|
||||
- cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java
|
||||
- cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/IngestionConfig.java
|
||||
- cameleer3-server-core/src/main/java/com/cameleer3/server/core/ingestion/WriteBuffer.java
|
||||
- cameleer3-server-core/src/main/java/com/cameleer3/server/core/storage/ExecutionRepository.java
|
||||
- cameleer3-server-core/src/main/java/com/cameleer3/server/core/storage/DiagramRepository.java
|
||||
- cameleer3-server-core/src/main/java/com/cameleer3/server/core/storage/MetricsRepository.java
|
||||
- cameleer3-server-core/src/test/java/com/cameleer3/server/core/ingestion/WriteBufferTest.java
|
||||
- cameleer-server-app/src/main/resources/application.yml
|
||||
- cameleer-server-app/src/main/java/com/cameleer/server/app/config/ClickHouseConfig.java
|
||||
- cameleer-server-app/src/main/java/com/cameleer/server/app/config/IngestionConfig.java
|
||||
- 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/test/java/com/cameleer/server/core/ingestion/WriteBufferTest.java
|
||||
autonomous: true
|
||||
requirements:
|
||||
- INGST-04
|
||||
@@ -32,7 +32,7 @@ must_haves:
|
||||
- "TTL clause on tables removes data older than configured days"
|
||||
- "Docker Compose starts ClickHouse and initializes the schema"
|
||||
artifacts:
|
||||
- path: "cameleer3-server-core/src/main/java/com/cameleer3/server/core/ingestion/WriteBuffer.java"
|
||||
- path: "cameleer-server-core/src/main/java/com/cameleer/server/core/ingestion/WriteBuffer.java"
|
||||
provides: "Generic bounded write buffer with offer/drain/isFull"
|
||||
min_lines: 30
|
||||
- path: "clickhouse/init/01-schema.sql"
|
||||
@@ -41,15 +41,15 @@ must_haves:
|
||||
- path: "docker-compose.yml"
|
||||
provides: "Local ClickHouse service"
|
||||
contains: "clickhouse-server"
|
||||
- path: "cameleer3-server-core/src/main/java/com/cameleer3/server/core/storage/ExecutionRepository.java"
|
||||
- path: "cameleer-server-core/src/main/java/com/cameleer/server/core/storage/ExecutionRepository.java"
|
||||
provides: "Repository interface for execution batch inserts"
|
||||
exports: ["insertBatch"]
|
||||
key_links:
|
||||
- from: "cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java"
|
||||
- from: "cameleer-server-app/src/main/java/com/cameleer/server/app/config/ClickHouseConfig.java"
|
||||
to: "application.yml"
|
||||
via: "spring.datasource properties"
|
||||
pattern: "spring\\.datasource"
|
||||
- from: "cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/IngestionConfig.java"
|
||||
- from: "cameleer-server-app/src/main/java/com/cameleer/server/app/config/IngestionConfig.java"
|
||||
to: "application.yml"
|
||||
via: "ingestion.* properties"
|
||||
pattern: "ingestion\\."
|
||||
@@ -74,8 +74,8 @@ Output: Working ClickHouse via Docker Compose, DDL with TTL, WriteBuffer with un
|
||||
@.planning/phases/01-ingestion-pipeline-api-foundation/01-RESEARCH.md
|
||||
|
||||
@pom.xml
|
||||
@cameleer3-server-core/pom.xml
|
||||
@cameleer3-server-app/pom.xml
|
||||
@cameleer-server-core/pom.xml
|
||||
@cameleer-server-app/pom.xml
|
||||
</context>
|
||||
|
||||
<tasks>
|
||||
@@ -84,11 +84,11 @@ Output: Working ClickHouse via Docker Compose, DDL with TTL, WriteBuffer with un
|
||||
<name>Task 1: Dependencies, Docker Compose, ClickHouse schema, and application config</name>
|
||||
<files>
|
||||
pom.xml,
|
||||
cameleer3-server-core/pom.xml,
|
||||
cameleer3-server-app/pom.xml,
|
||||
cameleer-server-core/pom.xml,
|
||||
cameleer-server-app/pom.xml,
|
||||
docker-compose.yml,
|
||||
clickhouse/init/01-schema.sql,
|
||||
cameleer3-server-app/src/main/resources/application.yml
|
||||
cameleer-server-app/src/main/resources/application.yml
|
||||
</files>
|
||||
<behavior>
|
||||
- docker compose up -d starts ClickHouse on ports 8123/9000
|
||||
@@ -101,7 +101,7 @@ Output: Working ClickHouse via Docker Compose, DDL with TTL, WriteBuffer with un
|
||||
- Maven compile succeeds with new dependencies
|
||||
</behavior>
|
||||
<action>
|
||||
1. Add dependencies to cameleer3-server-app/pom.xml per research:
|
||||
1. Add dependencies to cameleer-server-app/pom.xml per research:
|
||||
- clickhouse-jdbc 0.9.7 (classifier: all)
|
||||
- spring-boot-starter-actuator
|
||||
- springdoc-openapi-starter-webmvc-ui 2.8.6
|
||||
@@ -109,13 +109,13 @@ Output: Working ClickHouse via Docker Compose, DDL with TTL, WriteBuffer with un
|
||||
- junit-jupiter from testcontainers 2.0.2 (test scope)
|
||||
- awaitility (test scope)
|
||||
|
||||
2. Add slf4j-api dependency to cameleer3-server-core/pom.xml.
|
||||
2. Add slf4j-api dependency to cameleer-server-core/pom.xml.
|
||||
|
||||
3. Create docker-compose.yml at project root with ClickHouse service:
|
||||
- Image: clickhouse/clickhouse-server:25.3
|
||||
- Ports: 8123:8123, 9000:9000
|
||||
- Volume mount ./clickhouse/init to /docker-entrypoint-initdb.d
|
||||
- Environment: CLICKHOUSE_USER=cameleer, CLICKHOUSE_PASSWORD=cameleer_dev, CLICKHOUSE_DB=cameleer3
|
||||
- Environment: CLICKHOUSE_USER=cameleer, CLICKHOUSE_PASSWORD=cameleer_dev, CLICKHOUSE_DB=cameleer
|
||||
- ulimits nofile 262144
|
||||
|
||||
4. Create clickhouse/init/01-schema.sql with the three tables from research:
|
||||
@@ -124,9 +124,9 @@ Output: Working ClickHouse via Docker Compose, DDL with TTL, WriteBuffer with un
|
||||
- agent_metrics: MergeTree, daily partitioning on collected_at, ORDER BY (agent_id, metric_name, collected_at), TTL collected_at + INTERVAL 30 DAY, SETTINGS ttl_only_drop_parts=1.
|
||||
- All DateTime fields use DateTime64(3, 'UTC').
|
||||
|
||||
5. Create cameleer3-server-app/src/main/resources/application.yml with config from research:
|
||||
5. Create cameleer-server-app/src/main/resources/application.yml with config from research:
|
||||
- server.port: 8081
|
||||
- spring.datasource: url=jdbc:ch://localhost:8123/cameleer3, username/password, driver-class-name
|
||||
- spring.datasource: url=jdbc:ch://localhost:8123/cameleer, username/password, driver-class-name
|
||||
- spring.jackson: write-dates-as-timestamps=false, fail-on-unknown-properties=false
|
||||
- ingestion: buffer-capacity=50000, batch-size=5000, flush-interval-ms=1000
|
||||
- clickhouse.ttl-days: 30
|
||||
@@ -144,13 +144,13 @@ Output: Working ClickHouse via Docker Compose, DDL with TTL, WriteBuffer with un
|
||||
<task type="auto" tdd="true">
|
||||
<name>Task 2: WriteBuffer, repository interfaces, IngestionConfig, and ClickHouseConfig</name>
|
||||
<files>
|
||||
cameleer3-server-core/src/main/java/com/cameleer3/server/core/ingestion/WriteBuffer.java,
|
||||
cameleer3-server-core/src/main/java/com/cameleer3/server/core/storage/ExecutionRepository.java,
|
||||
cameleer3-server-core/src/main/java/com/cameleer3/server/core/storage/DiagramRepository.java,
|
||||
cameleer3-server-core/src/main/java/com/cameleer3/server/core/storage/MetricsRepository.java,
|
||||
cameleer3-server-core/src/test/java/com/cameleer3/server/core/ingestion/WriteBufferTest.java,
|
||||
cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java,
|
||||
cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/IngestionConfig.java
|
||||
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/test/java/com/cameleer/server/core/ingestion/WriteBufferTest.java,
|
||||
cameleer-server-app/src/main/java/com/cameleer/server/app/config/ClickHouseConfig.java,
|
||||
cameleer-server-app/src/main/java/com/cameleer/server/app/config/IngestionConfig.java
|
||||
</files>
|
||||
<behavior>
|
||||
- WriteBuffer(capacity=10): offer() returns true for first 10 items, false on 11th
|
||||
@@ -181,7 +181,7 @@ Output: Working ClickHouse via Docker Compose, DDL with TTL, WriteBuffer with un
|
||||
3. Create repository interfaces in core module:
|
||||
- ExecutionRepository: void insertBatch(List<RouteExecution> executions)
|
||||
- DiagramRepository: void store(RouteGraph graph), Optional<RouteGraph> findByContentHash(String hash), Optional<String> findContentHashForRoute(String routeId, String agentId)
|
||||
- MetricsRepository: void insertBatch(List<MetricsSnapshot> metrics) -- use a generic type or the cameleer3-common metrics model if available; if not, create a simple MetricsData record in core module
|
||||
- MetricsRepository: void insertBatch(List<MetricsSnapshot> metrics) -- use a generic type or the cameleer-common metrics model if available; if not, create a simple MetricsData record in core module
|
||||
|
||||
4. Create IngestionConfig as @ConfigurationProperties("ingestion"):
|
||||
- bufferCapacity (int, default 50000)
|
||||
@@ -193,7 +193,7 @@ Output: Working ClickHouse via Docker Compose, DDL with TTL, WriteBuffer with un
|
||||
- No custom bean needed if relying on auto-config; only create if explicit JdbcTemplate customization required
|
||||
</action>
|
||||
<verify>
|
||||
<automated>mvn test -pl cameleer3-server-core -Dtest=WriteBufferTest -q 2>&1 | tail -10</automated>
|
||||
<automated>mvn test -pl cameleer-server-core -Dtest=WriteBufferTest -q 2>&1 | tail -10</automated>
|
||||
</verify>
|
||||
<done>WriteBuffer passes all unit tests. Repository interfaces exist with correct method signatures. IngestionConfig reads from application.yml.</done>
|
||||
</task>
|
||||
@@ -201,7 +201,7 @@ Output: Working ClickHouse via Docker Compose, DDL with TTL, WriteBuffer with un
|
||||
</tasks>
|
||||
|
||||
<verification>
|
||||
- `mvn test -pl cameleer3-server-core -q` -- all WriteBuffer unit tests pass
|
||||
- `mvn test -pl cameleer-server-core -q` -- all WriteBuffer unit tests pass
|
||||
- `mvn clean compile -q` -- full project compiles with new dependencies
|
||||
- `docker compose config` -- validates Docker Compose file
|
||||
- clickhouse/init/01-schema.sql contains CREATE TABLE for all three tables with correct ENGINE, ORDER BY, PARTITION BY, and TTL
|
||||
|
||||
Reference in New Issue
Block a user