qqeasonchen opened a new pull request, #5398: URL: https://github.com/apache/eventmesh/pull/5398
## What Adds a Kubernetes deployment story for the new architecture (`Fixes #5397`, Phase 1): plain manifests under `deploy/kubernetes/` — no operator, no Helm dependency. ## Why `develop` has working Docker images (`apache/eventmesh`, `apache/eventmesh-connector`) but **zero** K8s assets: `docs/feature/deployment.md` covers Docker/source only, and the legacy `master` operator (`eventmesh-operator/`, #3327) was never ported to the new configuration surface (storage env vars, `eventmesh.meta.*` clustering, `eventmesh.admin.token` fail-closed guard, PVC-worthy offset store). Operators hand-roll all of this today, hitting non-obvious pitfalls: - admin token must reach `bin/start.sh` as a `-D` flag via `JAVA_OPTS` (fail-closed otherwise); - `conf/` is on the JVM classpath → a whole-dir ConfigMap mount hides `log4j2.xml` (hence the **subPath** mount); - the RocksDB offset store needs a PVC or at-least-once progress resets on every reschedule; - connector admin port is off by default → an HTTP probe false-negatives (hence the `pgrep` liveness). ## Contents | File | Purpose | | --- | --- | | `namespace.yaml` | `eventmesh-system` | | `runtime-configmap.yaml` | `eventmesh.properties` (storage endpoints) | | `runtime-secret.yaml` | admin bearer token (example; replace before use) | | `runtime-statefulset.yaml` | runtime pods: 8080/8081, `/admin/health` probes, non-root uid 10001 (matches image), PVC template for offsets, admin token via Secret → dependent `JAVA_OPTS` env | | `runtime-service.yaml` | stable DNS for traffic + admin | | `connector-configmap.yaml` | connector topology as `CONNECTOR_OPTS` (edit + rollout, no pod-spec surgery) | | `connector-deployment.yaml` | connector-runtime pods (uid 10002, process liveness) | | `kustomization.yaml` | `kubectl apply -k deploy/kubernetes` | `deploy/kubernetes/README.md` documents quick start, per-file purpose, scaling semantics (`LOCAL_STICKY_PULL` per-instance vs `PARTITION_OWNED_PULL` + meta keys), and storage backend switching. `docs/feature/deployment.md` gains a **Kubernetes** section. ## Notes for reviewers - All YAMLs carry ASF headers (license CI); md files are exempt (`.licenserc.yaml`). - Verified: YAML parses (8/8 kinds correct), LF-only blobs, links resolve. - Not in this PR (tracked in #5397): Helm chart, operator-path decision (#3327), E2E against a real cluster. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
