Files
cameleer-deploy-demo/README.md
hsiegeln 5ed0d80695 feat: complete deploy demo with React UI
Backend:
- Spring Boot 3.4, Java 21, REST API for app lifecycle
- Build pipeline: JAR → Dockerfile → docker build/push → kubectl apply
- In-memory state with K8s reconciliation on startup
- Configurable via env vars

Frontend:
- React 19 + @cameleer/design-system v0.1.26
- Dashboard table with status polling (5s)
- Deploy dialog with drag-and-drop JAR upload
- Resource limit/request configuration
- Environment variable editor
- Build log viewer
- Delete with confirmation dialog

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 00:20:48 +02:00

1.9 KiB

Cameleer Deploy Demo

Demo prototype: upload Camel JARs, build containers with automatic agent injection, deploy to K8s with full observability via cameleer3-server.

Architecture

Browser (React + @cameleer/design-system)
  └─ Deploy Service (Spring Boot 3, port 8082)
       ├─ docker build (inject cameleer3 agent)
       ├─ docker push (Gitea registry)
       └─ kubectl apply (k3s cluster)
              └─ Agent auto-registers → cameleer3-server

Prerequisites

  • Java 21
  • Node.js 22+
  • Docker (for building images)
  • kubectl configured for your k3s cluster
  • cameleer3-server running (for agent registration)

Quick Start

Backend

mvn clean package -DskipTests
java -jar target/cameleer-deploy-demo-0.1.0-SNAPSHOT.jar \
  --cameleer.deploy.server-url=http://cameleer3-server.cameleer.svc:8081 \
  --cameleer.deploy.bootstrap-token=YOUR_TOKEN \
  --cameleer.deploy.cameleer-server-ui=http://localhost:8081

Frontend

cd ui
npm install
npm run dev

Open http://localhost:5174

Configuration

Env Var Default Description
CAMELEER_SERVER_URL http://cameleer3-server.cameleer.svc:8081 cameleer3-server URL for agent registration
CAMELEER_BOOTSTRAP_TOKEN changeme Bootstrap token for agent auth
CAMELEER_REGISTRY gitea.siegeln.net/cameleer/demo-apps Container registry prefix
CAMELEER_AGENT_MAVEN_URL (Gitea Maven) URL for cameleer3-agent JAR
CAMELEER_DEMO_NAMESPACE cameleer-demo K8s namespace for deployed apps
CAMELEER_SERVER_UI http://localhost:8081 cameleer3-server UI URL (for links)

Demo Flow

  1. Open the UI
  2. Click "Deploy Application"
  3. Upload a Camel JAR, configure resources and env vars
  4. Watch the build log stream
  5. Open cameleer3-server — your app appears with full observability