hsiegeln 5bbec1e52a
Some checks failed
CI / build (push) Failing after 20s
CI / docker (push) Has been skipped
CI / deploy (push) Has been skipped
feat: CI/CD workflow, Dockerfile, and K8s deployment
- Multi-stage Dockerfile (Maven + Node build, JRE runtime)
- Gitea Actions CI: build → docker → deploy
- K8s manifests: Deployment, Service (NodePort 30082), Ingress
- ServiceAccount + RBAC for kubectl access from pod
- Docker socket mount for image builds
- Ingress at deploy.cameleer.siegeln.net
- SPA config for serving frontend from Spring Boot
- cameleer-demo namespace for deployed apps

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

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
Description
Demo prototype: upload Camel JARs, build containers with agent injection, deploy to K8s with full observability
Readme 98 KiB
Languages
Java 46.6%
TypeScript 37%
CSS 13.9%
Dockerfile 1.7%
HTML 0.8%