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:
@@ -13,12 +13,12 @@
|
||||
## Task 1: Core — SensitiveKeysConfig Record
|
||||
|
||||
**Files:**
|
||||
- Create: `cameleer3-server-core/src/main/java/com/cameleer3/server/core/admin/SensitiveKeysConfig.java`
|
||||
- Create: `cameleer-server-core/src/main/java/com/cameleer/server/core/admin/SensitiveKeysConfig.java`
|
||||
|
||||
- [ ] **Step 1: Create the config record**
|
||||
|
||||
```java
|
||||
package com.cameleer3.server.core.admin;
|
||||
package com.cameleer.server.core.admin;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -33,7 +33,7 @@ public record SensitiveKeysConfig(List<String> keys) {
|
||||
- [ ] **Step 2: Commit**
|
||||
|
||||
```bash
|
||||
git add cameleer3-server-core/src/main/java/com/cameleer3/server/core/admin/SensitiveKeysConfig.java
|
||||
git add cameleer-server-core/src/main/java/com/cameleer/server/core/admin/SensitiveKeysConfig.java
|
||||
git commit -m "feat: add SensitiveKeysConfig record"
|
||||
```
|
||||
|
||||
@@ -42,14 +42,14 @@ git commit -m "feat: add SensitiveKeysConfig record"
|
||||
## Task 2: Core — SensitiveKeysRepository Interface
|
||||
|
||||
**Files:**
|
||||
- Create: `cameleer3-server-core/src/main/java/com/cameleer3/server/core/admin/SensitiveKeysRepository.java`
|
||||
- Create: `cameleer-server-core/src/main/java/com/cameleer/server/core/admin/SensitiveKeysRepository.java`
|
||||
|
||||
- [ ] **Step 1: Create the repository interface**
|
||||
|
||||
Follow the `ThresholdRepository` pattern exactly.
|
||||
|
||||
```java
|
||||
package com.cameleer3.server.core.admin;
|
||||
package com.cameleer.server.core.admin;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -62,7 +62,7 @@ public interface SensitiveKeysRepository {
|
||||
- [ ] **Step 2: Commit**
|
||||
|
||||
```bash
|
||||
git add cameleer3-server-core/src/main/java/com/cameleer3/server/core/admin/SensitiveKeysRepository.java
|
||||
git add cameleer-server-core/src/main/java/com/cameleer/server/core/admin/SensitiveKeysRepository.java
|
||||
git commit -m "feat: add SensitiveKeysRepository interface"
|
||||
```
|
||||
|
||||
@@ -71,13 +71,13 @@ git commit -m "feat: add SensitiveKeysRepository interface"
|
||||
## Task 3: Core — SensitiveKeysMerger (TDD)
|
||||
|
||||
**Files:**
|
||||
- Create: `cameleer3-server-core/src/main/java/com/cameleer3/server/core/admin/SensitiveKeysMerger.java`
|
||||
- Create: `cameleer3-server-core/src/test/java/com/cameleer3/server/core/admin/SensitiveKeysMergerTest.java`
|
||||
- Create: `cameleer-server-core/src/main/java/com/cameleer/server/core/admin/SensitiveKeysMerger.java`
|
||||
- Create: `cameleer-server-core/src/test/java/com/cameleer/server/core/admin/SensitiveKeysMergerTest.java`
|
||||
|
||||
- [ ] **Step 1: Write failing tests**
|
||||
|
||||
```java
|
||||
package com.cameleer3.server.core.admin;
|
||||
package com.cameleer.server.core.admin;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@@ -149,13 +149,13 @@ class SensitiveKeysMergerTest {
|
||||
|
||||
- [ ] **Step 2: Run tests to verify they fail**
|
||||
|
||||
Run: `mvn test -pl cameleer3-server-core -Dtest=SensitiveKeysMergerTest -Dsurefire.failIfNoSpecifiedTests=false`
|
||||
Run: `mvn test -pl cameleer-server-core -Dtest=SensitiveKeysMergerTest -Dsurefire.failIfNoSpecifiedTests=false`
|
||||
Expected: compilation error — `SensitiveKeysMerger` does not exist
|
||||
|
||||
- [ ] **Step 3: Write implementation**
|
||||
|
||||
```java
|
||||
package com.cameleer3.server.core.admin;
|
||||
package com.cameleer.server.core.admin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -204,14 +204,14 @@ public final class SensitiveKeysMerger {
|
||||
|
||||
- [ ] **Step 4: Run tests to verify they pass**
|
||||
|
||||
Run: `mvn test -pl cameleer3-server-core -Dtest=SensitiveKeysMergerTest`
|
||||
Run: `mvn test -pl cameleer-server-core -Dtest=SensitiveKeysMergerTest`
|
||||
Expected: all 8 tests PASS
|
||||
|
||||
- [ ] **Step 5: Commit**
|
||||
|
||||
```bash
|
||||
git add cameleer3-server-core/src/main/java/com/cameleer3/server/core/admin/SensitiveKeysMerger.java
|
||||
git add cameleer3-server-core/src/test/java/com/cameleer3/server/core/admin/SensitiveKeysMergerTest.java
|
||||
git add cameleer-server-core/src/main/java/com/cameleer/server/core/admin/SensitiveKeysMerger.java
|
||||
git add cameleer-server-core/src/test/java/com/cameleer/server/core/admin/SensitiveKeysMergerTest.java
|
||||
git commit -m "feat: add SensitiveKeysMerger with case-insensitive union dedup"
|
||||
```
|
||||
|
||||
@@ -220,17 +220,17 @@ git commit -m "feat: add SensitiveKeysMerger with case-insensitive union dedup"
|
||||
## Task 4: App — PostgresSensitiveKeysRepository
|
||||
|
||||
**Files:**
|
||||
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/storage/PostgresSensitiveKeysRepository.java`
|
||||
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/storage/PostgresSensitiveKeysRepository.java`
|
||||
|
||||
- [ ] **Step 1: Create the repository**
|
||||
|
||||
Follow `PostgresThresholdRepository` pattern exactly.
|
||||
|
||||
```java
|
||||
package com.cameleer3.server.app.storage;
|
||||
package com.cameleer.server.app.storage;
|
||||
|
||||
import com.cameleer3.server.core.admin.SensitiveKeysConfig;
|
||||
import com.cameleer3.server.core.admin.SensitiveKeysRepository;
|
||||
import com.cameleer.server.core.admin.SensitiveKeysConfig;
|
||||
import com.cameleer.server.core.admin.SensitiveKeysRepository;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
@@ -290,7 +290,7 @@ public class PostgresSensitiveKeysRepository implements SensitiveKeysRepository
|
||||
- [ ] **Step 2: Commit**
|
||||
|
||||
```bash
|
||||
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/storage/PostgresSensitiveKeysRepository.java
|
||||
git add cameleer-server-app/src/main/java/com/cameleer/server/app/storage/PostgresSensitiveKeysRepository.java
|
||||
git commit -m "feat: add PostgresSensitiveKeysRepository"
|
||||
```
|
||||
|
||||
@@ -299,14 +299,14 @@ git commit -m "feat: add PostgresSensitiveKeysRepository"
|
||||
## Task 5: App — SensitiveKeysAdminController
|
||||
|
||||
**Files:**
|
||||
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/SensitiveKeysAdminController.java`
|
||||
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/SensitiveKeysRequest.java`
|
||||
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/SensitiveKeysResponse.java`
|
||||
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/SensitiveKeysAdminController.java`
|
||||
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/SensitiveKeysRequest.java`
|
||||
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/SensitiveKeysResponse.java`
|
||||
|
||||
- [ ] **Step 1: Create the request DTO**
|
||||
|
||||
```java
|
||||
package com.cameleer3.server.app.dto;
|
||||
package com.cameleer.server.app.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
@@ -324,7 +324,7 @@ public record SensitiveKeysRequest(
|
||||
- [ ] **Step 2: Create the response DTO**
|
||||
|
||||
```java
|
||||
package com.cameleer3.server.app.dto;
|
||||
package com.cameleer.server.app.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -337,24 +337,24 @@ public record SensitiveKeysResponse(
|
||||
- [ ] **Step 3: Create the controller**
|
||||
|
||||
```java
|
||||
package com.cameleer3.server.app.controller;
|
||||
package com.cameleer.server.app.controller;
|
||||
|
||||
import com.cameleer3.common.model.ApplicationConfig;
|
||||
import com.cameleer3.server.app.dto.CommandGroupResponse;
|
||||
import com.cameleer3.server.app.dto.SensitiveKeysRequest;
|
||||
import com.cameleer3.server.app.dto.SensitiveKeysResponse;
|
||||
import com.cameleer3.server.app.storage.PostgresApplicationConfigRepository;
|
||||
import com.cameleer3.server.core.admin.AuditCategory;
|
||||
import com.cameleer3.server.core.admin.AuditResult;
|
||||
import com.cameleer3.server.core.admin.AuditService;
|
||||
import com.cameleer3.server.core.admin.SensitiveKeysConfig;
|
||||
import com.cameleer3.server.core.admin.SensitiveKeysMerger;
|
||||
import com.cameleer3.server.core.admin.SensitiveKeysRepository;
|
||||
import com.cameleer3.server.core.agent.AgentInfo;
|
||||
import com.cameleer3.server.core.agent.AgentRegistryService;
|
||||
import com.cameleer3.server.core.agent.AgentState;
|
||||
import com.cameleer3.server.core.agent.CommandReply;
|
||||
import com.cameleer3.server.core.agent.CommandType;
|
||||
import com.cameleer.common.model.ApplicationConfig;
|
||||
import com.cameleer.server.app.dto.CommandGroupResponse;
|
||||
import com.cameleer.server.app.dto.SensitiveKeysRequest;
|
||||
import com.cameleer.server.app.dto.SensitiveKeysResponse;
|
||||
import com.cameleer.server.app.storage.PostgresApplicationConfigRepository;
|
||||
import com.cameleer.server.core.admin.AuditCategory;
|
||||
import com.cameleer.server.core.admin.AuditResult;
|
||||
import com.cameleer.server.core.admin.AuditService;
|
||||
import com.cameleer.server.core.admin.SensitiveKeysConfig;
|
||||
import com.cameleer.server.core.admin.SensitiveKeysMerger;
|
||||
import com.cameleer.server.core.admin.SensitiveKeysRepository;
|
||||
import com.cameleer.server.core.agent.AgentInfo;
|
||||
import com.cameleer.server.core.agent.AgentRegistryService;
|
||||
import com.cameleer.server.core.agent.AgentState;
|
||||
import com.cameleer.server.core.agent.CommandReply;
|
||||
import com.cameleer.server.core.agent.CommandType;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -527,15 +527,15 @@ public class SensitiveKeysAdminController {
|
||||
|
||||
- [ ] **Step 4: Verify compilation**
|
||||
|
||||
Run: `mvn clean compile -pl cameleer3-server-core,cameleer3-server-app`
|
||||
Run: `mvn clean compile -pl cameleer-server-core,cameleer-server-app`
|
||||
Expected: BUILD SUCCESS
|
||||
|
||||
- [ ] **Step 5: Commit**
|
||||
|
||||
```bash
|
||||
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/SensitiveKeysRequest.java
|
||||
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/SensitiveKeysResponse.java
|
||||
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/SensitiveKeysAdminController.java
|
||||
git add cameleer-server-app/src/main/java/com/cameleer/server/app/dto/SensitiveKeysRequest.java
|
||||
git add cameleer-server-app/src/main/java/com/cameleer/server/app/dto/SensitiveKeysResponse.java
|
||||
git add cameleer-server-app/src/main/java/com/cameleer/server/app/controller/SensitiveKeysAdminController.java
|
||||
git commit -m "feat: add SensitiveKeysAdminController with fan-out support"
|
||||
```
|
||||
|
||||
@@ -544,18 +544,18 @@ git commit -m "feat: add SensitiveKeysAdminController with fan-out support"
|
||||
## Task 6: Enhance ApplicationConfigController — Merge Global Keys
|
||||
|
||||
**Files:**
|
||||
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/ApplicationConfigController.java`
|
||||
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/ApplicationConfigController.java`
|
||||
|
||||
The GET endpoint must return `globalSensitiveKeys` and `mergedSensitiveKeys` so the UI can render read-only global pills. The PUT push must merge before sending to agents. Since `ApplicationConfig` lives in `cameleer3-common`, we cannot add fields to it directly. Instead, we wrap the response.
|
||||
The GET endpoint must return `globalSensitiveKeys` and `mergedSensitiveKeys` so the UI can render read-only global pills. The PUT push must merge before sending to agents. Since `ApplicationConfig` lives in `cameleer-common`, we cannot add fields to it directly. Instead, we wrap the response.
|
||||
|
||||
- [ ] **Step 1: Create AppConfigResponse DTO**
|
||||
|
||||
Create `cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/AppConfigResponse.java`:
|
||||
Create `cameleer-server-app/src/main/java/com/cameleer/server/app/dto/AppConfigResponse.java`:
|
||||
|
||||
```java
|
||||
package com.cameleer3.server.app.dto;
|
||||
package com.cameleer.server.app.dto;
|
||||
|
||||
import com.cameleer3.common.model.ApplicationConfig;
|
||||
import com.cameleer.common.model.ApplicationConfig;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -653,22 +653,22 @@ private ApplicationConfig cloneWithMergedKeys(ApplicationConfig source, List<Str
|
||||
Also add imports at the top of the file:
|
||||
|
||||
```java
|
||||
import com.cameleer3.server.app.dto.AppConfigResponse;
|
||||
import com.cameleer3.server.core.admin.SensitiveKeysConfig;
|
||||
import com.cameleer3.server.core.admin.SensitiveKeysMerger;
|
||||
import com.cameleer3.server.core.admin.SensitiveKeysRepository;
|
||||
import com.cameleer.server.app.dto.AppConfigResponse;
|
||||
import com.cameleer.server.core.admin.SensitiveKeysConfig;
|
||||
import com.cameleer.server.core.admin.SensitiveKeysMerger;
|
||||
import com.cameleer.server.core.admin.SensitiveKeysRepository;
|
||||
```
|
||||
|
||||
- [ ] **Step 3: Verify compilation**
|
||||
|
||||
Run: `mvn clean compile -pl cameleer3-server-core,cameleer3-server-app`
|
||||
Run: `mvn clean compile -pl cameleer-server-core,cameleer-server-app`
|
||||
Expected: BUILD SUCCESS
|
||||
|
||||
- [ ] **Step 4: Commit**
|
||||
|
||||
```bash
|
||||
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/dto/AppConfigResponse.java
|
||||
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/ApplicationConfigController.java
|
||||
git add cameleer-server-app/src/main/java/com/cameleer/server/app/dto/AppConfigResponse.java
|
||||
git add cameleer-server-app/src/main/java/com/cameleer/server/app/controller/ApplicationConfigController.java
|
||||
git commit -m "feat: merge global sensitive keys into app config GET and SSE push"
|
||||
```
|
||||
|
||||
@@ -677,17 +677,17 @@ git commit -m "feat: merge global sensitive keys into app config GET and SSE pus
|
||||
## Task 7: Integration Test — SensitiveKeysAdminController
|
||||
|
||||
**Files:**
|
||||
- Create: `cameleer3-server-app/src/test/java/com/cameleer3/server/app/controller/SensitiveKeysAdminControllerIT.java`
|
||||
- Create: `cameleer-server-app/src/test/java/com/cameleer/server/app/controller/SensitiveKeysAdminControllerIT.java`
|
||||
|
||||
- [ ] **Step 1: Write integration tests**
|
||||
|
||||
Follow the `ThresholdAdminControllerIT` pattern.
|
||||
|
||||
```java
|
||||
package com.cameleer3.server.app.controller;
|
||||
package com.cameleer.server.app.controller;
|
||||
|
||||
import com.cameleer3.server.app.AbstractPostgresIT;
|
||||
import com.cameleer3.server.app.TestSecurityHelper;
|
||||
import com.cameleer.server.app.AbstractPostgresIT;
|
||||
import com.cameleer.server.app.TestSecurityHelper;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
@@ -816,13 +816,13 @@ class SensitiveKeysAdminControllerIT extends AbstractPostgresIT {
|
||||
|
||||
- [ ] **Step 2: Run tests**
|
||||
|
||||
Run: `mvn verify -pl cameleer3-server-app -Dit.test=SensitiveKeysAdminControllerIT -Dsurefire.skip=true`
|
||||
Run: `mvn verify -pl cameleer-server-app -Dit.test=SensitiveKeysAdminControllerIT -Dsurefire.skip=true`
|
||||
Expected: all 5 tests PASS
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add cameleer3-server-app/src/test/java/com/cameleer3/server/app/controller/SensitiveKeysAdminControllerIT.java
|
||||
git add cameleer-server-app/src/test/java/com/cameleer/server/app/controller/SensitiveKeysAdminControllerIT.java
|
||||
git commit -m "test: add SensitiveKeysAdminController integration tests"
|
||||
```
|
||||
|
||||
@@ -1367,7 +1367,7 @@ Expected: BUILD SUCCESS
|
||||
|
||||
- [ ] **Step 2: Run unit tests**
|
||||
|
||||
Run: `mvn test -pl cameleer3-server-core`
|
||||
Run: `mvn test -pl cameleer-server-core`
|
||||
Expected: all tests pass, including `SensitiveKeysMergerTest`
|
||||
|
||||
- [ ] **Step 3: Run frontend type check**
|
||||
|
||||
Reference in New Issue
Block a user