KubeMicroVM — UAT Results

Acceptance test results for each GA release, run on real AWS infrastructure.

✓ Community v1.0.18 — 63/63 PASS ★ PRO v1.1.1 — 38/38 PASS Community ↗

Releases

Community v1.0.18 GA

2026-09-20  ·  63 tests  ·  9 suites  ·  EKS (real AWS)

PRO v1.1.1 GA PRO

2026-09-17  ·  38 tests  ·  7 suites  ·  EKS (real AWS)

Community vs PRO

Capability Community PRO
Core VM lifecycle
MicroVM create, run, terminate ✓✓
MicroVMImage build from Dockerfile ✓✓
Memory sizing (256 MiB – 32 GiB) ✓✓
Idle auto-suspend & auto-resume ✓✓
Drift detection & VM re-creation ✓✓
MicroVMClass (instance templates) ✓✓
Scaling
MicroVMReplicaSet (pool management) ✓✓
Scale up / scale down ✓✓
Rolling update (new image version) ✓✓
Networking
Internet egress (default) ✓✓
VPC egress (private network connector) ✓✓
MicroVMNetwork CRD ✓✓
Security & access control
RBAC — per-VM ServiceAccount tokens ✓✓
Sidecar token injection (pod annotation) ✓✓
ARN collision prevention (webhook) ✓✓
Admission webhook validation ✓✓
PRO — Gateway & load balancing
MicroVMGateway (session-affine HTTP proxy) PRO —✓
Round-robin load balancing across pool PRO —✓
Session lifecycle (202 Resuming, max duration) PRO —✓
Token cache pre-warming PRO —✓
PRO — Multi-tenancy
Cross-namespace isolation (tenants cannot cross) PRO —✓
Namespace-scoped gateway access control PRO —✓
MicroVMImageBinding / cross-namespace imageRef PRO —✓
MicroVMImagePolicy (image governance) PRO —✓

Community test suites — v1.0.17 GA (63/63)

01 · Quick Start

9/9
QS-00Installer download and checksum
QS-01Operator running
QS-02Namespace labelled for MicroVMs
QS-03MicroVMImage created and built
QS-04MicroVM created and running
QS-05MicroVM list shows VM
QS-06Token via --direct flag
QS-07Curl endpoint returns OK
QS-08Teardown — delete VM

02 · RBAC

8/8
RBAC-01ServiceAccount created
RBAC-02Role with resourceNames
RBAC-03RoleBinding created
RBAC-04Auth can-i with subresource
RBAC-05Authorised SA gets token
RBAC-06SA rejected for different VM
RBAC-07Unauthorised SA rejected
RBAC-08Unlabelled namespace rejects VM

03 · Networking

5/5
NET-01Internet egress — public internet
NET-02Default egress has internet access
NET-03MicroVMNetwork becomes Active
NET-04VPC egress VM connects
NET-05Network list shows connector

04 · Pod Token Injection

9/9
INJ-01Namespace has injection label
INJ-02SA and RBAC created
INJ-03Annotated pod created
INJ-04Sidecar container injected
INJ-05Token volume present
INJ-06Token files written
INJ-07Auth token non-empty
INJ-08Token works to call MicroVM
INJ-09No-RBAC pod has empty token dir

05 · ReplicaSet

6/6
RS-01ReplicaSet creates 3 MicroVMs
RS-02RS list shows ReplicaSet
RS-03Scale up to 5
RS-04Scale down to 2
RS-05Rolling update changes ImageRef
RS-06Delete terminates all VMs

06 · MicroVMClass

6/6
CLASS-01MicroVMClass created
CLASS-02VM inherits class values
CLASS-03Spec shows all inherited values
CLASS-04User override takes precedence
CLASS-05kubectl get lists class
CLASS-06Non-existent class rejected

07 · Drift & Auto-Suspend

5/5
DRIFT-01External termination detected
DRIFT-02Operator re-creates VM with new ID
AUTO-01VM suspends after idle duration
AUTO-02Auto-resume on traffic
AUTO-03Operator does not fight idle policy

08 · Memory Sizing

6/6
MEM-014096 MiB image correct status
MEM-02No memorySizeMiB defaults to 2048
MEM-03Invalid memorySizeMiB rejected
MEM-04memorySizeMiB immutable on update
MEM-05CLI describe shows memory
MEM-07Run VM from 4096 MiB image

11 · Admission & Failed State

9/9
ADM-01Missing idle policy rejected at admission
ADM-02Idle duration below minimum rejected
ADM-03Maximum duration above 28800 rejected
ADM-04ClassName bypasses idle policy requirement
ADM-05Valid idle policy accepted
ADM-06Failed creation stays in Failed state
ADM-07Failed creation retries after spec change
ADM-08Duplicate-named MicroVMImage rejected by webhook
ADM-09Delete blocked by running VMs emits Warning event

PRO test suites — v1.1.1 GA (37/37) PRO

00 · Cluster Setup

5/5
CS-01PRO operator running
CS-02Community CRDs installed
CS-03PRO CRDs installed (MicroVMGateway)
CS-04Session namespace ready
CS-05Pod Identity association exists

01 · Gateway Deploy

8/8
GW-01ReplicaSet pool created
GW-02Pool VMs reach Running state
GW-03Gateway CR created
GW-04Gateway reaches Ready state
GW-05Gateway service endpoint exists
GW-06Gateway delete removes all resources
GW-07Gateway spec replicas scales deployment
GW-08Gateway status reflects readiness

03 · Multi-Tenant

4/4
MT-01Tenant A cannot access Tenant B gateway
MT-02Tenant B cannot access Tenant A gateway
MT-04Valid SA accesses its own namespace gateway
MT-05Operator watches only labelled namespaces

05 · Round-Robin

5/5
RR-01Round-robin gateway reaches Ready
RR-02Requests cycle through all pool VMs
RR-03No session stickiness between requests
RR-04Token cache pre-warmed for all VMs
RR-05X-Served-By-VM header on every response

06 · Negative

8/8
NEG-01Non-existent pool — gateway stays DOWN
NEG-02Pool scaled to zero — 503
NEG-03Pool deleted — gateway recovers
NEG-04Token cache miss returns 503 not 500
NEG-05aMissing auth header returns 401
NEG-05bMalformed bearer token returns 401
NEG-06Cross-namespace SA token rejected
NEG-07VM fails mid-session — assignment cleared

07 · Session Lifecycle

5/5
SL-01Idle timeout triggers VM suspension
SL-02Suspended VM returns 202 Resuming
SL-03Retry after 202 returns 200 once Running
SL-04Max session duration forces release
SL-05SuspendOnIdle=false — VM stays Running

08 · Image Governance

3/3
IMG-01Duplicate-named image rejected by webhook
IMG-02Cross-namespace imageRef + Binding unaffected
IMG-03Delete blocked — emits event + bounded retries