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>
64 lines
1.9 KiB
Markdown
64 lines
1.9 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|