chore: rename cameleer3 to cameleer
Some checks failed
CI / cleanup-branch (push) Has been skipped
CI / build (push) Failing after 18s
CI / docker (push) Has been skipped
CI / deploy (push) Has been skipped
CI / deploy-feature (push) Has been skipped

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:
hsiegeln
2026-04-15 15:28:42 +02:00
parent 1077293343
commit cb3ebfea7c
569 changed files with 4356 additions and 3245 deletions

View File

@@ -2,7 +2,7 @@
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** Close all visual and functional gaps between the `@cameleer/design-system` v0.0.2 mocks and the cameleer3-server UI.
**Goal:** Close all visual and functional gaps between the `@cameleer/design-system` v0.0.2 mocks and the cameleer-server UI.
**Architecture:** Backend-first (new endpoints + migration), then frontend page-by-page alignment. Each task produces one git commit. Backend tasks use Spring Boot controllers querying TimescaleDB continuous aggregates. Frontend tasks modify React pages consuming design system components with TanStack Query hooks.
@@ -15,20 +15,20 @@
## File Structure
### New backend files
- `cameleer3-server-app/src/main/resources/db/migration/V7__processor_stats_by_id.sql`
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/ProcessorMetrics.java`
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/AgentMetricsResponse.java`
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/MetricBucket.java`
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/SetPasswordRequest.java`
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/AgentMetricsController.java`
- `cameleer-server-app/src/main/resources/db/migration/V7__processor_stats_by_id.sql`
- `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/ProcessorMetrics.java`
- `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/AgentMetricsResponse.java`
- `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/MetricBucket.java`
- `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/SetPasswordRequest.java`
- `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/AgentMetricsController.java`
### Modified backend files
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/AgentInstanceResponse.java` — add `version`, `capabilities`
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/AgentRegistrationController.java` — map new fields
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/RouteMetricsController.java` — add processor stats method
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/UserAdminController.java` — add password reset
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/security/SecurityConfig.java` — agent metrics rule
- `cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/OpenApiConfig.java` — register new DTOs
- `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/AgentInstanceResponse.java` — add `version`, `capabilities`
- `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/AgentRegistrationController.java` — map new fields
- `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/RouteMetricsController.java` — add processor stats method
- `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/UserAdminController.java` — add password reset
- `cameleer-server-app/src/main/java/com/cameleer/server/app/security/SecurityConfig.java` — agent metrics rule
- `cameleer-server-app/src/main/java/com/cameleer/server/app/config/OpenApiConfig.java` — register new DTOs
### New frontend files
- `ui/src/pages/Routes/RouteDetail.tsx` + `RouteDetail.module.css`
@@ -58,7 +58,7 @@
## Task 1: V7 Migration — Processor Stats Continuous Aggregate
**Files:**
- Create: `cameleer3-server-app/src/main/resources/db/migration/V7__processor_stats_by_id.sql`
- Create: `cameleer-server-app/src/main/resources/db/migration/V7__processor_stats_by_id.sql`
- [ ] **Step 1: Create migration file**
@@ -88,13 +88,13 @@ SELECT add_continuous_aggregate_policy('stats_1m_processor_detail',
- [ ] **Step 2: Verify migration compiles**
Run: `cd cameleer3-server-app && mvn clean compile -q 2>&1 | tail -5`
Run: `cd cameleer-server-app && mvn clean compile -q 2>&1 | tail -5`
Expected: BUILD SUCCESS (Flyway picks up migration at runtime)
- [ ] **Step 3: Commit**
```bash
git add cameleer3-server-app/src/main/resources/db/migration/V7__processor_stats_by_id.sql
git add cameleer-server-app/src/main/resources/db/migration/V7__processor_stats_by_id.sql
git commit -m "feat: add V7 migration for per-processor-id continuous aggregate"
```
@@ -103,14 +103,14 @@ git commit -m "feat: add V7 migration for per-processor-id continuous aggregate"
## Task 2: Backend — Processor Stats Endpoint
**Files:**
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/ProcessorMetrics.java`
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/RouteMetricsController.java`
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/OpenApiConfig.java`
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/ProcessorMetrics.java`
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/RouteMetricsController.java`
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/config/OpenApiConfig.java`
- [ ] **Step 1: Create ProcessorMetrics DTO**
```java
package com.cameleer3.server.app.dto;
package com.cameleer.server.app.dto;
import jakarta.validation.constraints.NotNull;
@@ -159,9 +159,9 @@ Expected: BUILD SUCCESS
- [ ] **Step 5: Commit**
```bash
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/ProcessorMetrics.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/RouteMetricsController.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/OpenApiConfig.java
git add cameleer-server-app/src/main/java/com/cameleer/server/app/dto/ProcessorMetrics.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/controller/RouteMetricsController.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/config/OpenApiConfig.java
git commit -m "feat: add GET /routes/metrics/processors endpoint"
```
@@ -170,17 +170,17 @@ git commit -m "feat: add GET /routes/metrics/processors endpoint"
## Task 3: Backend — Agent Metrics Query Endpoint
**Files:**
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/AgentMetricsResponse.java`
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/MetricBucket.java`
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/AgentMetricsController.java`
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/security/SecurityConfig.java`
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/OpenApiConfig.java`
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/AgentMetricsResponse.java`
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/MetricBucket.java`
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/AgentMetricsController.java`
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/security/SecurityConfig.java`
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/config/OpenApiConfig.java`
- [ ] **Step 1: Create DTOs**
`MetricBucket.java`:
```java
package com.cameleer3.server.app.dto;
package com.cameleer.server.app.dto;
import java.time.Instant;
import jakarta.validation.constraints.NotNull;
@@ -193,7 +193,7 @@ public record MetricBucket(
`AgentMetricsResponse.java`:
```java
package com.cameleer3.server.app.dto;
package com.cameleer.server.app.dto;
import java.util.List;
import java.util.Map;
@@ -207,10 +207,10 @@ public record AgentMetricsResponse(
- [ ] **Step 2: Create AgentMetricsController**
```java
package com.cameleer3.server.app.controller;
package com.cameleer.server.app.controller;
import com.cameleer3.server.app.dto.AgentMetricsResponse;
import com.cameleer3.server.app.dto.MetricBucket;
import com.cameleer.server.app.dto.AgentMetricsResponse;
import com.cameleer.server.app.dto.MetricBucket;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;
@@ -277,7 +277,7 @@ public class AgentMetricsController {
- [ ] **Step 3: Add SecurityConfig rule**
In `SecurityConfig.java` (path: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/security/SecurityConfig.java`), add a new matcher for the agent metrics path. Find the section with VIEWER role matchers and add:
In `SecurityConfig.java` (path: `cameleer-server-app/src/main/java/com/cameleer/server/app/security/SecurityConfig.java`), add a new matcher for the agent metrics path. Find the section with VIEWER role matchers and add:
```java
.requestMatchers(HttpMethod.GET, "/api/v1/agents/*/metrics").hasAnyRole("VIEWER", "OPERATOR", "ADMIN")
```
@@ -295,11 +295,11 @@ Expected: BUILD SUCCESS
- [ ] **Step 6: Commit**
```bash
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/MetricBucket.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/AgentMetricsResponse.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/AgentMetricsController.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/security/SecurityConfig.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/OpenApiConfig.java
git add cameleer-server-app/src/main/java/com/cameleer/server/app/dto/MetricBucket.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/dto/AgentMetricsResponse.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/controller/AgentMetricsController.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/security/SecurityConfig.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/config/OpenApiConfig.java
git commit -m "feat: add GET /agents/{id}/metrics endpoint for JVM metrics"
```
@@ -308,10 +308,10 @@ git commit -m "feat: add GET /agents/{id}/metrics endpoint for JVM metrics"
## Task 4: Backend — Enrich AgentInstanceResponse + Password Reset
**Files:**
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/AgentInstanceResponse.java`
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/AgentRegistrationController.java`
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/SetPasswordRequest.java`
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/UserAdminController.java`
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/AgentInstanceResponse.java`
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/AgentRegistrationController.java`
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/SetPasswordRequest.java`
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/UserAdminController.java`
- [ ] **Step 1: Add fields to AgentInstanceResponse**
@@ -347,7 +347,7 @@ public AgentInstanceResponse withMetrics(double tps, double errorRate, int activ
- [ ] **Step 2: Create SetPasswordRequest DTO**
```java
package com.cameleer3.server.app.dto;
package com.cameleer.server.app.dto;
import jakarta.validation.constraints.NotBlank;
@@ -400,10 +400,10 @@ Expected: BUILD SUCCESS
- [ ] **Step 5: Commit**
```bash
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/AgentInstanceResponse.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/AgentRegistrationController.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/SetPasswordRequest.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/UserAdminController.java
git add cameleer-server-app/src/main/java/com/cameleer/server/app/dto/AgentInstanceResponse.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/controller/AgentRegistrationController.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/dto/SetPasswordRequest.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/controller/UserAdminController.java
git commit -m "feat: enrich AgentInstanceResponse with version/capabilities, add password reset endpoint"
```