Files
harmony/examples/compose_java_react/app
Jean-Gabriel Gill-Couture a0c1da4c51
All checks were successful
Run Check Script / check (pull_request) Successful in 3m24s
feat(k8s): K8sDeploymentScore renders a hardened web workload
- builder: port or health_checked_port (+ ClusterIP Service, HTTP probes),
  typed env (EnvValue), pull secret, replicas, recreate, resources, wait
- labels/selector: component, managed-by, part-of (same as the removed
  Application lowering, so its Deployments apply in place)
- restricted pod: non-root, RuntimeDefault seccomp, drop ALL, no SA token
- lamp: runs as its uid 1000 user and gets the Service its Ingress targets;
  its selector changes from app=<name>, so delete an existing lamp
  Deployment once
- examples: frontends on nginx-unprivileged (8080); docs follow the API
2026-10-23 09:43:52 -04:00
..

Timesheet (demo compose app)

Minimal two-tier app used to demo Harmony deploying an existing docker-compose stack. Add timesheet notes; they persist to SQLite.

  • backend — JDK HttpServer (no framework) on :8080, SQLite via sqlite-jdbc. REST: GET /api/health, GET /api/entries, POST /api/entries.
  • frontend — React (Vite) served by nginx on :80; nginx proxies /api/ to the backend (BACKEND_URL), so the bundle stays env-agnostic.
  • volume timesheet-data mounts at /data; the DB lives at /data/timesheet.db.
docker compose up --build
# frontend → http://localhost:8081   backend → http://localhost:8080/api/health