diff --git a/README.md b/README.md index ace2efc..605c4b1 100644 --- a/README.md +++ b/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 \ No newline at end of file +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 diff --git a/ui/.npmrc b/ui/.npmrc new file mode 100644 index 0000000..df2d130 --- /dev/null +++ b/ui/.npmrc @@ -0,0 +1 @@ +@cameleer:registry=https://gitea.siegeln.net/api/packages/cameleer/npm/ diff --git a/ui/index.html b/ui/index.html new file mode 100644 index 0000000..aa2c9cf --- /dev/null +++ b/ui/index.html @@ -0,0 +1,13 @@ + + +
+ + + +| Name | +Status | +Image | +Resources | +Age | +Actions | +
|---|---|---|---|---|---|
|
+
+ {app.name}
+ |
+
+ |
+ + {app.resources.cpuLimit} CPU + {app.resources.memoryLimit} RAM + | +{formatAge(app.createdAt)} | ++ + + | +