Commit Graph

6 Commits

Author SHA1 Message Date
hsiegeln
a4bc40b241 fix: downgrade to Java 17 for CI build compatibility
Some checks failed
CI / build (push) Successful in 26s
CI / docker (push) Successful in 57s
CI / deploy (push) Failing after 27s
Build container has JDK 17, not 21. Also replaced
Thread.ofVirtual() (Java 21) with standard Thread.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 09:50:38 +02:00
hsiegeln
5bbec1e52a feat: CI/CD workflow, Dockerfile, and K8s deployment
Some checks failed
CI / build (push) Failing after 20s
CI / docker (push) Has been skipped
CI / deploy (push) Has been skipped
- 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
hsiegeln
5ed0d80695 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>
2026-04-03 00:20:48 +02:00
hsiegeln
5a6247abc7 chore: add .gitignore, remove target/ 2026-04-03 00:16:35 +02:00
hsiegeln
6e0a088183 feat: Spring Boot backend with deploy pipeline
- REST API: POST/GET/DELETE /api/apps
- Build pipeline: JAR → Dockerfile → docker build → push → kubectl apply
- In-memory state with K8s reconciliation on startup
- Shell executor for docker/kubectl commands
- Configurable via env vars (server URL, bootstrap token, registry, namespace)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 00:16:18 +02:00
9aae7fba79 Initial commit 2026-04-03 00:13:18 +02:00