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

@@ -12,12 +12,12 @@
## File Structure
### New files (core module — `cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/`)
### New files (core module — `cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/`)
- `ResolvedContainerConfig.java` — typed record with all resolved config fields
- `ConfigMerger.java` — pure function, three-layer merge logic
- `DeployStage.java` — enum for deployment progress stages
### New files (app module — `cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/`)
### New files (app module — `cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/`)
- `TraefikLabelBuilder.java` — generates Traefik Docker labels
- `DockerNetworkManager.java` — lazy network creation + container attachment
- `DockerEventMonitor.java` — persistent Docker event stream listener
@@ -51,7 +51,7 @@
### Task 1: Database Migration
**Files:**
- Create: `cameleer3-server-app/src/main/resources/db/migration/V7__deployment_orchestration.sql`
- Create: `cameleer-server-app/src/main/resources/db/migration/V7__deployment_orchestration.sql`
- [ ] **Step 1: Create the migration file**
@@ -79,7 +79,7 @@ Expected: BUILD SUCCESS
- [ ] **Step 3: Commit**
```bash
git add cameleer3-server-app/src/main/resources/db/migration/V7__deployment_orchestration.sql
git add cameleer-server-app/src/main/resources/db/migration/V7__deployment_orchestration.sql
git commit -m "feat: V7 migration — deployment orchestration columns"
```
@@ -88,15 +88,15 @@ git commit -m "feat: V7 migration — deployment orchestration columns"
### Task 2: DeploymentStatus Enum + DeployStage Enum
**Files:**
- Modify: `cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/DeploymentStatus.java`
- Create: `cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/DeployStage.java`
- Modify: `cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/DeploymentStatus.java`
- Create: `cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/DeployStage.java`
- [ ] **Step 1: Update DeploymentStatus enum**
Replace the content of `DeploymentStatus.java`:
```java
package com.cameleer3.server.core.runtime;
package com.cameleer.server.core.runtime;
public enum DeploymentStatus {
STOPPED, STARTING, RUNNING, DEGRADED, STOPPING, FAILED
@@ -106,7 +106,7 @@ public enum DeploymentStatus {
- [ ] **Step 2: Create DeployStage enum**
```java
package com.cameleer3.server.core.runtime;
package com.cameleer.server.core.runtime;
public enum DeployStage {
PRE_FLIGHT, PULL_IMAGE, CREATE_NETWORK, START_REPLICAS, HEALTH_CHECK, SWAP_TRAFFIC, COMPLETE
@@ -121,8 +121,8 @@ Expected: BUILD SUCCESS
- [ ] **Step 4: Commit**
```bash
git add cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/DeploymentStatus.java \
cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/DeployStage.java
git add cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/DeploymentStatus.java \
cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/DeployStage.java
git commit -m "feat: add DEGRADED, STOPPING statuses and DeployStage enum"
```
@@ -131,14 +131,14 @@ git commit -m "feat: add DEGRADED, STOPPING statuses and DeployStage enum"
### Task 3: Update Deployment Record
**Files:**
- Modify: `cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/Deployment.java`
- Modify: `cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/Deployment.java`
- [ ] **Step 1: Update the Deployment record**
Replace the content of `Deployment.java`:
```java
package com.cameleer3.server.core.runtime;
package com.cameleer.server.core.runtime;
import java.time.Instant;
import java.util.List;
@@ -178,7 +178,7 @@ Expected: Compilation errors in `PostgresDeploymentRepository.java` (wrong const
- [ ] **Step 3: Commit**
```bash
git add cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/Deployment.java
git add cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/Deployment.java
git commit -m "feat: add targetState, deploymentStrategy, replicaStates, deployStage to Deployment"
```
@@ -187,18 +187,18 @@ git commit -m "feat: add targetState, deploymentStrategy, replicaStates, deployS
### Task 4: Update PostgresDeploymentRepository
**Files:**
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/storage/PostgresDeploymentRepository.java`
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/storage/PostgresDeploymentRepository.java`
- [ ] **Step 1: Update the repository to handle new columns**
Replace the full content of `PostgresDeploymentRepository.java`:
```java
package com.cameleer3.server.app.storage;
package com.cameleer.server.app.storage;
import com.cameleer3.server.core.runtime.Deployment;
import com.cameleer3.server.core.runtime.DeploymentRepository;
import com.cameleer3.server.core.runtime.DeploymentStatus;
import com.cameleer.server.core.runtime.Deployment;
import com.cameleer.server.core.runtime.DeploymentRepository;
import com.cameleer.server.core.runtime.DeploymentStatus;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.jdbc.core.JdbcTemplate;
@@ -340,7 +340,7 @@ public class PostgresDeploymentRepository implements DeploymentRepository {
- [ ] **Step 2: Update RuntimeBeanConfig to pass ObjectMapper to the repository**
In `cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/RuntimeBeanConfig.java`, change the `deploymentRepository()` bean:
In `cameleer-server-app/src/main/java/com/cameleer/server/app/config/RuntimeBeanConfig.java`, change the `deploymentRepository()` bean:
```java
@Bean
@@ -357,8 +357,8 @@ Expected: BUILD SUCCESS
- [ ] **Step 4: Commit**
```bash
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/storage/PostgresDeploymentRepository.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/RuntimeBeanConfig.java
git add cameleer-server-app/src/main/java/com/cameleer/server/app/storage/PostgresDeploymentRepository.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/config/RuntimeBeanConfig.java
git commit -m "feat: update PostgresDeploymentRepository for orchestration columns"
```
@@ -367,13 +367,13 @@ git commit -m "feat: update PostgresDeploymentRepository for orchestration colum
### Task 5: ResolvedContainerConfig + ConfigMerger
**Files:**
- Create: `cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/ResolvedContainerConfig.java`
- Create: `cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/ConfigMerger.java`
- Create: `cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/ResolvedContainerConfig.java`
- Create: `cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/ConfigMerger.java`
- [ ] **Step 1: Create ResolvedContainerConfig record**
```java
package com.cameleer3.server.core.runtime;
package com.cameleer.server.core.runtime;
import java.util.List;
import java.util.Map;
@@ -407,7 +407,7 @@ public record ResolvedContainerConfig(
- [ ] **Step 2: Create ConfigMerger**
```java
package com.cameleer3.server.core.runtime;
package com.cameleer.server.core.runtime;
import java.util.Collections;
import java.util.HashMap;
@@ -517,8 +517,8 @@ Expected: BUILD SUCCESS
- [ ] **Step 4: Commit**
```bash
git add cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/ResolvedContainerConfig.java \
cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/ConfigMerger.java
git add cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/ResolvedContainerConfig.java \
cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/ConfigMerger.java
git commit -m "feat: ResolvedContainerConfig record and three-layer ConfigMerger"
```
@@ -527,14 +527,14 @@ git commit -m "feat: ResolvedContainerConfig record and three-layer ConfigMerger
### Task 6: Update ContainerRequest
**Files:**
- Modify: `cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/ContainerRequest.java`
- Modify: `cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/ContainerRequest.java`
- [ ] **Step 1: Expand ContainerRequest with new fields**
Replace `ContainerRequest.java`:
```java
package com.cameleer3.server.core.runtime;
package com.cameleer.server.core.runtime;
import java.util.List;
import java.util.Map;
@@ -682,9 +682,9 @@ Expected: BUILD SUCCESS
- [ ] **Step 5: Commit**
```bash
git add cameleer3-server-core/src/main/java/com/cameleer3/server/core/runtime/ContainerRequest.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/DockerRuntimeOrchestrator.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/DeploymentExecutor.java
git add cameleer-server-core/src/main/java/com/cameleer/server/core/runtime/ContainerRequest.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/DockerRuntimeOrchestrator.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/DeploymentExecutor.java
git commit -m "feat: expand ContainerRequest with cpuLimit, ports, restart policy, additional networks"
```
@@ -693,14 +693,14 @@ git commit -m "feat: expand ContainerRequest with cpuLimit, ports, restart polic
### Task 7: TraefikLabelBuilder
**Files:**
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/TraefikLabelBuilder.java`
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/TraefikLabelBuilder.java`
- [ ] **Step 1: Create TraefikLabelBuilder**
```java
package com.cameleer3.server.app.runtime;
package com.cameleer.server.app.runtime;
import com.cameleer3.server.core.runtime.ResolvedContainerConfig;
import com.cameleer.server.core.runtime.ResolvedContainerConfig;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -719,7 +719,7 @@ public final class TraefikLabelBuilder {
// Core labels
labels.put("traefik.enable", "true");
labels.put("managed-by", "cameleer3-server");
labels.put("managed-by", "cameleer-server");
labels.put("cameleer.app", appSlug);
labels.put("cameleer.environment", envSlug);
@@ -767,7 +767,7 @@ Expected: BUILD SUCCESS
- [ ] **Step 3: Commit**
```bash
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/TraefikLabelBuilder.java
git add cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/TraefikLabelBuilder.java
git commit -m "feat: TraefikLabelBuilder with path-based and subdomain routing"
```
@@ -776,12 +776,12 @@ git commit -m "feat: TraefikLabelBuilder with path-based and subdomain routing"
### Task 8: DockerNetworkManager
**Files:**
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/DockerNetworkManager.java`
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/DockerNetworkManager.java`
- [ ] **Step 1: Create DockerNetworkManager**
```java
package com.cameleer3.server.app.runtime;
package com.cameleer.server.app.runtime;
import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.model.Network;
@@ -912,9 +912,9 @@ Expected: BUILD SUCCESS
- [ ] **Step 5: Commit**
```bash
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/DockerNetworkManager.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/DockerRuntimeOrchestrator.java \
cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/RuntimeOrchestratorAutoConfig.java
git add cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/DockerNetworkManager.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/DockerRuntimeOrchestrator.java \
cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/RuntimeOrchestratorAutoConfig.java
git commit -m "feat: DockerNetworkManager with lazy network creation and container attachment"
```
@@ -923,15 +923,15 @@ git commit -m "feat: DockerNetworkManager with lazy network creation and contain
### Task 9: DockerEventMonitor
**Files:**
- Create: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/DockerEventMonitor.java`
- Create: `cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/DockerEventMonitor.java`
- [ ] **Step 1: Create DockerEventMonitor**
```java
package com.cameleer3.server.app.runtime;
package com.cameleer.server.app.runtime;
import com.cameleer3.server.core.runtime.Deployment;
import com.cameleer3.server.core.runtime.DeploymentStatus;
import com.cameleer.server.core.runtime.Deployment;
import com.cameleer.server.core.runtime.DeploymentStatus;
import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.async.ResultCallback;
import com.github.dockerjava.api.model.Event;
@@ -1003,7 +1003,7 @@ public class DockerEventMonitor {
// Only process containers managed by us
Map<String, String> labels = event.getActor() != null ? event.getActor().getAttributes() : null;
if (labels == null || !"cameleer3-server".equals(labels.get("managed-by"))) return;
if (labels == null || !"cameleer-server".equals(labels.get("managed-by"))) return;
String action = event.getAction();
log.debug("Docker event: {} for container {} ({})", action, containerId.substring(0, 12),
@@ -1079,7 +1079,7 @@ Expected: BUILD SUCCESS (may need `PostgresDeploymentRepository` to be injected
- [ ] **Step 3: Commit**
```bash
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/DockerEventMonitor.java
git add cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/DockerEventMonitor.java
git commit -m "feat: DockerEventMonitor — persistent event stream for container lifecycle"
```
@@ -1088,7 +1088,7 @@ git commit -m "feat: DockerEventMonitor — persistent event stream for containe
### Task 10: Rewrite DeploymentExecutor
**Files:**
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/DeploymentExecutor.java`
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/DeploymentExecutor.java`
This is the largest task — the orchestration hub that ties everything together.
@@ -1097,10 +1097,10 @@ This is the largest task — the orchestration hub that ties everything together
Replace the full content of `DeploymentExecutor.java`:
```java
package com.cameleer3.server.app.runtime;
package com.cameleer.server.app.runtime;
import com.cameleer3.server.app.storage.PostgresDeploymentRepository;
import com.cameleer3.server.core.runtime.*;
import com.cameleer.server.app.storage.PostgresDeploymentRepository;
import com.cameleer.server.core.runtime.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
@@ -1183,7 +1183,7 @@ public class DeploymentExecutor {
globalCpuShares,
globalRoutingMode,
globalRoutingDomain,
globalServerUrl.isBlank() ? "http://cameleer3-server:8081" : globalServerUrl
globalServerUrl.isBlank() ? "http://cameleer-server:8081" : globalServerUrl
);
ResolvedContainerConfig config = ConfigMerger.resolve(
globalDefaults, env.defaultContainerConfig(), app.containerConfig());
@@ -1421,7 +1421,7 @@ Expected: BUILD SUCCESS
- [ ] **Step 3: Commit**
```bash
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/runtime/DeploymentExecutor.java
git add cameleer-server-app/src/main/java/com/cameleer/server/app/runtime/DeploymentExecutor.java
git commit -m "feat: rewrite DeploymentExecutor with staged deploy, config merge, replicas"
```
@@ -1430,7 +1430,7 @@ git commit -m "feat: rewrite DeploymentExecutor with staged deploy, config merge
### Task 11: Update DeploymentController
**Files:**
- Modify: `cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/DeploymentController.java`
- Modify: `cameleer-server-app/src/main/java/com/cameleer/server/app/controller/DeploymentController.java`
- [ ] **Step 1: Update the stop endpoint to use stopDeployment**
@@ -1460,7 +1460,7 @@ Expected: BUILD SUCCESS
- [ ] **Step 3: Commit**
```bash
git add cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/DeploymentController.java
git add cameleer-server-app/src/main/java/com/cameleer/server/app/controller/DeploymentController.java
git commit -m "feat: update stop endpoint to use DeploymentExecutor for replica cleanup"
```
@@ -1469,7 +1469,7 @@ git commit -m "feat: update stop endpoint to use DeploymentExecutor for replica
### Task 12: Update application.yml
**Files:**
- Modify: `cameleer3-server-app/src/main/resources/application.yml`
- Modify: `cameleer-server-app/src/main/resources/application.yml`
- [ ] **Step 1: Add the server-url property**
@@ -1489,7 +1489,7 @@ Expected: BUILD SUCCESS
- [ ] **Step 3: Commit**
```bash
git add cameleer3-server-app/src/main/resources/application.yml
git add cameleer-server-app/src/main/resources/application.yml
git commit -m "feat: add CAMELEER_SERVER_URL config property"
```