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:
@@ -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"
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user