64 lines
1.8 KiB
Markdown
64 lines
1.8 KiB
Markdown
# Cameleer Deploy Demo
|
|
|
|
Demo prototype: upload Camel JARs, build containers with automatic agent injection, deploy to K8s with full observability via cameleer-server.
|
|
|
|
## Architecture
|
|
|
|
```
|
|
Browser (React + @cameleer/design-system)
|
|
└─ Deploy Service (Spring Boot 3, port 8082)
|
|
├─ docker build (inject cameleer agent)
|
|
├─ docker push (Gitea registry)
|
|
└─ kubectl apply (k3s cluster)
|
|
└─ Agent auto-registers → cameleer-server
|
|
```
|
|
|
|
## Prerequisites
|
|
|
|
- Java 21
|
|
- Node.js 22+
|
|
- Docker (for building images)
|
|
- kubectl configured for your k3s cluster
|
|
- cameleer-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://cameleer-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://cameleer-server.cameleer.svc:8081` | cameleer-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 cameleer-agent JAR |
|
|
| `CAMELEER_DEMO_NAMESPACE` | `cameleer-demo` | K8s namespace for deployed apps |
|
|
| `CAMELEER_SERVER_UI` | `http://localhost:8081` | cameleer-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 cameleer-server — your app appears with full observability
|