Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

YuniKorn

Submodule: components/yunikorn-core → git@github.com:rch/asf-yunikorn-core.git.

Role in Signals federation

Apache YuniKorn is the required admission/scheduling instance for MiNiFi sentinels on system-wide RKE2—not the sentinel substrate and not the scale-to-zero controller (that is Knative Serving). Product path is K8s-first (RKE2 + Knative + YK); no permanent no-K8s sentinel mode.

ConcernAuthority
Sentinel agent, C2, overwatchMiNiFi C++ (components/minifi-cpp)
Scale sentinel pods to zeroKnative Serving (KPA)
Multi-tenant queues, fair-share, preemption of claimsYuniKorn (this submodule)
Actual GPU/engine workHost gRPC engines

See signals-protocol:

specification/operations/minifi_sentinels.md

Web UI

Primary surface is always signals-ui. Stock YuniKorn web is secondary.

As an Apache project, YuniKorn prioritizes core scheduler features. The bundled SPA (scheduler :9889, same-origin /ws/v1) may still ship with a given release, or ship disabled, by upstream preference—not something Signals owns or maintains. We do not deploy a separate yunikorn-web chart or invest in Angular yk-web ourselves.

While our pinned YK version still includes and enables the stock UI, keeping it available is fine (lab NodePort / just yk-ui-forward). When we move to a YK release that ships it disabled (or without it), we simply stop exposing it — no Signals feature depends on the stock SPA.

PieceRole
signals-uiPrimary backplane — strict superset of yk-web capabilities
Repogit@github.com:weathership/signals-ui.git
Submodulecomponents/signals-ui
StackRust / Axum (no Node); Keiretsu + Cloudera logo (Atelier continuity)
YKRequired once the stack lands (SIGNALS_YK_API_URL)
YK APIFull /ws/v1/* surface used by yk-web (contract-tested)
Value-addSentinels, OTel, Atlas OL lineage, engine discovery
Stock YK webOptional while upstream still embeds it; not a product dependency

Marquez-web remains an OL validation UI only; operators should prefer signals-ui for day-to-day control-plane work.

Lab exposure (tinybox RKE2)

PathURL
LAN classic (just yk-ui-forward)http://192.168.1.55:9889/
LAN NodePort (durable)http://192.168.1.55:30889/
RESThttp://127.0.0.1:30080/ (NodePort; also LAN :30080)
Recipesjust yk-ui-forward / just yk-ui-forward-stop
signals-ui YK URLSIGNALS_YK_API_URL — required; devenv default http://127.0.0.1:30080

Stack path: devenv up runs task signals:federation-ready (scripts/federation_preflight.sh) before signals-ui. That confirms (and if needed deploys) YuniKorn + Knative on the local RKE2 instance and probes YK REST. signals-ui does not start without a live scheduler — SIGNALS_UI_ALLOW_NO_YK is a hermetic-test escape only, never set by devenv.

just federation-ready          # same preflight
devenv tasks run signals:federation-ready

Zero Trust: this host’s WARP client is include-mode for Cloudflare CGNAT only — it does not publish the lab LAN. For iPad/laptop off-LAN:

  1. Zero Trust private network route for 192.168.1.0/24 (or the node IP) via a connector on this host, or
  2. cloudflared named tunnel + Access application → http://127.0.0.1:9889 (cloudflared tunnel login first).

Until either is configured, use the LAN URLs on the same Wi‑Fi/subnet.