Hammrly

An open-source control plane for secure, multi-tenant Kubernetes Jobs.

Web UI
Browse sessions, launch workloads, and open ready jobs from a browser portal.
REST API
Submit and query jobs over HTTP with a clear OpenAPI contract.
Kueue integration
Hand off admitted workloads to Kueue for cluster-native queueing and admission.
Interactive sessions
Run notebooks, remote desktops, or visualization tools as first-class interactive Kubernetes Jobs.
GPU-aware scheduling
Request and place GPU capacity alongside CPU and memory for accelerated work.
Resource governance
Bound what tenants can consume so shared clusters stay predictable.
Authentication
Protect the control plane with JWT and production-ready OIDC login.
Fair sharing
Share cluster capacity across tenants without starving anyone’s work.

The problem Hammrly is built for

Shared Kubernetes clusters need more than raw Job YAML. Tenants need authenticated self-service, fair access to scarce GPUs, and one place to run interactive sessions and batch work—without turning every scientist into a cluster operator.

Read the Hammrly story →

Submit once. Orchestrate everywhere.

Clients hit a JWT-secured gateway. Workloads travel over a fast in-memory database to an orchestrator that persists lifecycle state and optionally submits Kubernetes Jobs through Kueue.

See the control plane in action

Launch interactive notebooks and desktops, track fair-shared capacity, and govern multi-tenant workloads from one place.

Interactive sessions
New session
NameKindResourcesStatus
analysis-notebook notebook 2 CPU · 4Gi ready
astro-desktop desktop 4 CPU · 8Gi · GPU running
campaign-batch-12 headless 8 CPU · 16Gi queued
carta-viewer carta 2 CPU · 8Gi ready
Web UI — browse tenant sessions and open ready workloads.
1
2
3
4
from hammrly import cluster
jobs = cluster.list_jobs(tenant="demo")
print(f"{len(jobs)} active")
jobs[0].status
12 active
'ready'
Interactive Jupyter sessions on governed cluster capacity.
astronomy-desktop — GPU session
Remote desktop workspace
GPU-aware desktop sessions for interactive analysis.

Build on Hammrly

Clone the repo, bring up the Compose stack, and submit your first session in minutes.

Get Started on GitHub