Case 28

GPU Admission on Kueue

Fail-closed GPU admission on upstream Kueue: an AdmissionCheck controller that returns ALLOW, HOLD or DENY per Workload and writes an evidence envelope for every decision.

01

Evidence

From problem to proof.

How the system is framed, operated, and proven — not a slide deck summary.

01
Problem

Raw ClusterQueue quota does not express team or namespace GPU caps, allowed GPU flavors, required FinOps labels, GPU-hour or budget ceilings, or image registry allowlists. GPU jobs need an auditable gate before Kueue admits them.

02
Architecture

A controller owns an AdmissionCheck (controllerName gpu-admission.justrunme.com/admission-check). After Kueue reserves quota, it evaluates a cluster-scoped GPUAdmissionPolicy and sets the Workload check to Ready (ALLOW), Retry (HOLD on soft quota pressure) or Rejected (DENY). Each decision emits an ASC-compatible evidence envelope stored as a ConfigMap. Upstream Kueue, not a fork.

03
Trade-offs

Fail-closed by design: if the controller is down, checks stay Pending and Workloads are not admitted; a malformed or missing policy and undecidable input are Rejected. GPUs are emulated: the kind demo advertises nvidia.com/gpu as an extended resource, so nothing here is measured on physical GPUs.

04
Latest evidence

v1 merged to main. 8 e2e scenarios on kind with upstream Kueue on this corpus: allow_golden, missing_labels, disallowed_flavor, bad_registry, ghcr_evil_prefix, over_quota_hold, malformed_policy, controller_down_fail_closed. CI run https://github.com/justrunme/gpu-admission-kueue/actions/runs/39766009986. Claims apply on this corpus only.

Constraints

Upstream Kueue only (no fork), AdmissionCheck API, fail-closed defaults: controller down keeps checks Pending, malformed or missing policy and undecidable input are Rejected.

02

Guides

Read the guide.

03

Related

Nearby systems.

Case 27 · Flagship

Agent Security Contract

  • CLI
  • Action
  • Policy

Agent and MCP stacks expand the attack surface beyond prompt text: tool misuse, poisoned tool descriptions, argument injection, and unapproved high-impact actions run without a pre-execution gate

0 false-ALLOW · 0 false-BLOCK on this corpus

Case 19 · Flagship

AI Runtime Platform

  • Python
  • vLLM
  • KServe

AI workloads often start as API calls but become production systems that need identity, policy, scaling, telemetry, and clear ownership

Every model call: policy + trace + budget

Case 07

LLM Infrastructure Runtime

  • Queue
  • vLLM
  • KServe

LLM workloads move faster than traditional platform controls and can quickly become expensive, opaque, and hard to operate

LLM serving with operability signals

Available for meaningful infrastructure conversations

Build systems that stay calm under pressure.

Available for conversations

Talk infrastructure

Book a working session

Meet ↗

Evidence first

For deep dives

Explore the systems

All cases ↗