Phase 3: Runtime Orchestration + Environments (was Phase 4) #26

Closed
opened 2026-03-30 09:23:57 +02:00 by claude · 0 comments
Owner

Overview

Customers can upload a Camel JAR, platform builds an immutable container image with cameleer3 agent auto-injected, deploys to tenant environments. Docker-first — K8s orchestrator added in Phase 5.

Architecture decision (2026-04-04): Moved from Phase 4 to Phase 3. Docker-first development. RuntimeOrchestrator interface with DockerRuntimeOrchestrator (docker-java) built here; KubernetesRuntimeOrchestrator (fabric8) deferred to Phase 5. See docs/superpowers/specs/2026-04-04-dual-deployment-architecture.md.

Depends On

  • Phase 2 (#24)
  • #5 (Camel Application Runtime)
  • #10 (Environments & Promotion Pipeline)

Key Deliverables

  • RuntimeOrchestrator interface — deployApp, stopApp, restartApp, getAppLogs, getAppStatus, listApps
  • DockerRuntimeOrchestrator — uses docker-java library, talks to Docker daemon via socket
  • JAR upload endpoint — validation (type, size, SHA-256, security scan)
  • Image build pipeline — Dockerfile template: JRE + cameleer3-agent.jar + customer JAR + -javaagent flag
  • Docker-mode buildsdocker build via docker-java (local image cache, no registry needed)
  • Environment model — logical environments (dev/test/prod) per tenant, tier-dependent count
  • Environment-specific config overlays — different env vars per environment
  • App lifecycle API — deploy, start, stop, restart, logs, health
  • Traefik integration — dynamic routing labels for customer app containers

Architecture

RuntimeOrchestrator (interface)
├── DockerRuntimeOrchestrator  (docker-java) ← built in this phase
└── KubernetesRuntimeOrchestrator (fabric8)  ← Phase 5

Key Dependencies

  • com.github.docker-java:docker-java — Docker API client
  • Docker socket mount: /var/run/docker.sock

Environment Tiers

Tier Environments
Low prod only
Mid dev, prod
High+ dev, staging, prod + custom

PRD Reference

Sections 7 (Camel Application Runtime), 15 (UI — App Deployment Page)
Superseded by: docs/superpowers/specs/2026-04-04-dual-deployment-architecture.md

## Overview Customers can upload a Camel JAR, platform builds an immutable container image with cameleer3 agent auto-injected, deploys to tenant environments. **Docker-first** — K8s orchestrator added in Phase 5. > **Architecture decision (2026-04-04):** Moved from Phase 4 to Phase 3. Docker-first development. `RuntimeOrchestrator` interface with `DockerRuntimeOrchestrator` (docker-java) built here; `KubernetesRuntimeOrchestrator` (fabric8) deferred to Phase 5. See `docs/superpowers/specs/2026-04-04-dual-deployment-architecture.md`. ## Depends On - Phase 2 (#24) ## Related Epics - #5 (Camel Application Runtime) - #10 (Environments & Promotion Pipeline) ## Key Deliverables - **RuntimeOrchestrator interface** — deployApp, stopApp, restartApp, getAppLogs, getAppStatus, listApps - **DockerRuntimeOrchestrator** — uses docker-java library, talks to Docker daemon via socket - **JAR upload endpoint** — validation (type, size, SHA-256, security scan) - **Image build pipeline** — Dockerfile template: JRE + cameleer3-agent.jar + customer JAR + `-javaagent` flag - **Docker-mode builds** — `docker build` via docker-java (local image cache, no registry needed) - **Environment model** — logical environments (dev/test/prod) per tenant, tier-dependent count - **Environment-specific config overlays** — different env vars per environment - **App lifecycle API** — deploy, start, stop, restart, logs, health - **Traefik integration** — dynamic routing labels for customer app containers ## Architecture ``` RuntimeOrchestrator (interface) ├── DockerRuntimeOrchestrator (docker-java) ← built in this phase └── KubernetesRuntimeOrchestrator (fabric8) ← Phase 5 ``` ## Key Dependencies - `com.github.docker-java:docker-java` — Docker API client - Docker socket mount: `/var/run/docker.sock` ## Environment Tiers | Tier | Environments | |------|-------------| | Low | prod only | | Mid | dev, prod | | High+ | dev, staging, prod + custom | ## PRD Reference Sections 7 (Camel Application Runtime), 15 (UI — App Deployment Page) Superseded by: `docs/superpowers/specs/2026-04-04-dual-deployment-architecture.md`
claude added the phase-4runtime labels 2026-03-30 09:24:45 +02:00
claude changed title from Phase 4: Camel Application Runtime to Phase 3: Runtime Orchestration + Environments (was Phase 4) 2026-04-04 14:39:47 +02:00
claude added phase-3 and removed phase-4 labels 2026-04-04 21:08:00 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cameleer/cameleer-saas#26