Aleksei Sviridkin
0d58dedfe9
feat(api): add gpu.cozystack.io GPUClass, GPUDevice and GPUNode
...
GPUs become a catalog of hoster offers, tenant reservations against
them and a per-node inventory, so a tenant can hold a GPU while its VM
is off and an order that does not fit is refused at create time.
The CRDs enforce what the apiserver alone can: a class name is a DNS
label other than total because it becomes part of a quota key, the
source is a union with dra reserved for a later member, a device's
spec is immutable and orders at least one GPU, and bound devices are
listable per node through a field selector on status.nodeName. The
CRDs are kept on chart uninstall, since they ship as plain templates
and deleting GPUDevice would drop every hold and usage record.
maxCount carries no schema default: it defaults to 1 for vgpu classes
and to no limit for passthrough, which a structural default cannot
express, so readers resolve it through the shared model.
Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@lex.la >
2026-10-20 15:29:05 +03:00
..
2026-10-13 18:05:45 +04:00
2026-10-09 17:12:14 +03:00
2026-09-07 10:58:37 +03:00
2026-10-07 12:06:18 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 20:23:46 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-14 13:31:48 +00:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-13 16:22:43 +03:00
2026-09-27 07:57:30 +03:00
2026-10-07 11:04:00 +03:00
2026-09-10 17:48:22 +05:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-09-21 12:20:22 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-09-22 17:10:05 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-09-28 14:29:17 +05:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-09-25 09:46:43 +05:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-19 21:18:18 +02:00
2026-10-07 20:11:22 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-09 16:57:43 +03:00
2026-09-28 01:32:37 +03:00
2026-10-07 11:04:00 +03:00
2026-10-05 14:15:37 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-12 12:00:15 +05:00
2026-10-10 21:47:42 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-02 03:29:15 +03:00
2026-08-28 15:29:29 +05:00
2026-09-26 15:06:42 +03:00
2026-10-09 02:04:39 +03:00
2026-09-05 13:19:17 +05:00
2026-09-05 13:19:17 +05:00
2026-10-03 01:42:38 +03:00
2026-10-07 19:37:25 +03:00
2026-10-03 01:42:38 +03:00
2026-10-03 01:42:38 +03:00
2026-10-09 16:57:43 +03:00
2026-10-01 02:19:17 +03:00
2026-09-05 13:19:17 +05:00
2026-10-07 04:38:06 +03:00
2026-09-05 13:19:17 +05:00
2026-08-23 19:38:49 +05:00
2026-10-09 02:04:40 +03:00
2026-09-05 14:51:06 +05:00
2026-10-07 11:04:00 +03:00
2026-09-15 23:34:52 +03:00
2026-10-07 16:14:34 +03:00
2026-10-06 16:28:51 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-01 19:37:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-08-12 18:45:22 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-12 09:54:52 +04:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-11 12:49:19 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-11 22:40:47 +08:00
2026-10-11 18:42:11 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-09-29 11:29:04 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-09-29 11:20:27 +03:00
2026-10-07 11:04:00 +03:00
2026-09-22 18:53:28 +05:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-08-12 18:42:58 +03:00
2026-10-09 16:57:43 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-09-27 16:58:28 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-08-14 18:37:58 +05:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-08-12 18:16:18 +02:00
2026-10-07 11:04:00 +03:00
2026-09-18 17:45:21 +03:00
2026-10-10 21:15:48 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-11 01:23:10 +02:00
2026-10-11 01:23:10 +02:00
2026-10-10 21:09:09 +03:00
2026-10-07 11:04:00 +03:00
2026-10-13 12:34:24 +04:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-10 21:15:48 +03:00
2026-10-10 21:15:48 +03:00
2026-10-09 17:12:14 +03:00
2026-10-09 17:12:14 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 15:41:05 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-10 20:37:53 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-13 18:07:35 +04:00
2026-10-13 18:07:35 +04:00
2026-10-13 12:34:24 +04:00
2026-10-13 12:34:24 +04:00
2026-10-19 21:18:18 +02:00
2026-10-19 21:18:18 +02:00
2026-10-07 11:04:00 +03:00
2026-10-02 11:02:36 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 11:04:00 +03:00
2026-10-07 15:41:06 +03:00
2026-10-07 11:04:00 +03:00
2026-10-20 15:29:05 +03:00
2026-10-19 21:18:18 +02:00
2026-10-19 21:18:18 +02:00
2026-10-07 11:04:00 +03:00
2026-09-28 01:32:36 +03:00
2026-10-07 11:04:00 +03:00
2026-10-02 11:02:18 +03:00