← Hammrly

The Hammrly story

Shared clusters are powerful and fragile. Hammrly exists for the gap between “we have Kubernetes” and “tenants can safely run work on it.”

The domain

Research and platform teams increasingly share one cluster among many groups. GPUs are scarce. Workloads are mixed: short interactive notebooks and desktops, longer batch campaigns, and everything in between. Operators need admission control and fair sharing. Users need something that feels like a product—not a pile of manifests and tribal knowledge.

Kubernetes already runs the compute. Kueue already understands queues, quotas, and admitting Jobs when capacity exists. What is usually missing is the control plane in front of that: authenticated HTTP submission, a durable handoff into the system, lifecycle visibility, and first-class interactive sessions—without handing every user kubectl and a ServiceAccount that can reshape the cluster.

What Hammrly is (and isn’t)

Hammrly is an open-source control plane for secure, multi-tenant Kubernetes Jobs. Clients authenticate, submit workloads through a gateway, and poll a query API for status. An orchestrator persists lifecycle state and can submit Jobs into the cluster for Kueue to admit. A Web UI sits on the same contracts so humans and machines share one path.

It is not a general-purpose workflow engine, not a replacement for cluster administration, and not “Kubernetes, but friendlier YAML.” If your problem is DAG orchestration, notebook-only multi-user hosting, or one trusted operator applying Jobs by hand, other tools already fit better. Hammrly is for platforms that need tenant self-service on governed capacity.

The story in one sentence

Give tenants a safe front door to submit Jobs and interactive sessions; let Kueue decide when the cluster can take the work.

Evaluate before you install

Most people comparing options are not asking “is Kubernetes good?” They are asking whether they already solved this with kubectl scripts, Argo, or JupyterHub. Those are fair questions—and the honest answer is often “use those, unless you need this layer.”