USER
User readiness
What “done” means for external deployments.
New users: start with USER-GUIDE.md for step-by-step lab and production workflows.
Production (KubeVirt on Kubernetes)¶
Follow GA.md end-to-end:
- KubeVirt + CDI + snapshot-capable CSI (Rook Ceph or Longhorn).
- Sysprepped golden qcow2 → CDI
DataSourceper catalog ID (GOLDEN-IMAGES.md). - Helm with
values-user.yaml(orvalues-rook-ceph.yaml+auth.mode: apikey). krytonctl doctor— nofailfindings.- Create → snapshot → restore → delete lifecycle smoke test.
# On the lab/K8s host (needs docker+kvm, kubectl, virtctl, ~100GiB free):
# Option A — already have a sysprepped qcow2
KRYTON_WINDOWS_IMAGE=/path/to/windows11.qcow2 ./scripts/setup-kubevirt.sh
# Option B — build golden via dockur + bootstrap + VM (45–90 min for install)
./scripts/setup-kubevirt-production.sh --build-golden
# Option C — from your laptop (rsync + remote nohup)
make run-kubevirt-production-remote H=<host> U=<user> BUILD=1
# Option D — Helm user profile (after golden exists on cluster)
./scripts/setup-kubevirt-production.sh --user-helm --skip-create --image ./out/windows-11e-golden.qcow2
Lab / eval (dockur)¶
Real Windows via dockur/windows — not GA, suitable for labs and PoCs.
# On the Linux host after krytond is installed:
./scripts/ensure-api-keys.sh
cat ~/.kryton/lab.token # raw API key for UI / KRYTON_TOKEN
./scripts/harden-lab-services.sh # systemd + apikey on :7088 and :9088
How to get, paste, and rotate the key: AUTH.md.
See DOCKUR.md for create options (UI, API, krytonctl --dockur-*).
Linux on a KVM host (libvirt)¶
Linux cloud-image VMs (Ubuntu, Debian, Rocky, AlmaLinux) with cloud-init and SSH keys — initial host backend, not GA.
./scripts/deploy-remote.sh <host> <user> --key --apikey --provider libvirt
Then fetch an image with an approved checksum and create machines as in USER-GUIDE.md § Linux operator. Full setup: LINUX-TEMPLATES.md.
Never run KRYTON_AUTH_MODE=disabled on internet-facing hosts.
Release checklist (maintainers)¶
| Step | Command |
|---|---|
| Tests | make check |
| Version | Chart 1.x.y + tag v1.x.y |
| Notes | Update RELEASE_NOTES.md |
| Push | git push origin main --tags |
| Lab smoke | KRYTON_TOKEN=… node scripts/dockur-ux-test.mjs |
Support matrix¶
| Profile | Provider | Auth | Use case |
|---|---|---|---|
| User | kubevirt |
apikey + TLS |
Production private cloud |
| Lab secure | dockur / kubevirt |
apikey |
Shared lab hosts |
| Dev only | demo |
disabled |
Local UI hacking |