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>
This commit is contained in:
64
README.md
64
README.md
@@ -1,3 +1,63 @@
|
||||
# cameleer-deploy-demo
|
||||
# Cameleer Deploy Demo
|
||||
|
||||
Demo prototype: upload Camel JARs, build containers with agent injection, deploy to K8s with full observability
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user