KittyStore-Go Architecture

Готово
Ограничение / TODO
Не реализовано
Внешний (C++, вне репо)
Control Plane · Deployment
kitty-apiserver
10 gRPC-сервисов
etcd v3 (mTLS) / inmem
Deployment gRPC etcd
polling 5s
kitty-controller
6 reconciler'ов
desired → actual
Deployment Reconciler
Storage Plane · DaemonSet (storage-хосты)
kittyd-agent
5 контроллеров
управляет kittyd (C++)
DaemonSet gRPC→kittyd
kittyd-exporter
Prometheus /metrics :8070
← gRPC kittyd
DaemonSet Prometheus
kittyd (C++)
Data plane · NVMe/SPDK
kittystore-dpl
C++23 external
Compute Plane · DaemonSet (compute-хосты)
ksbd-agent
VolumeAttachment reconciler
blue-green upgrade ksbd
DaemonSet Blue-Green
kitty-trace-collector
OTLP-коллектор
⚠ заглушка, main() пустой
Deployment OTLP
ksbd (C++)
SPDK-плагин
presentation диска в VM
C++ SPDK
Tools
kittyctl
kubectl-like CLI
все 10 ресурсов apiserver
CLI cobra
kittyfmt
Форматирование NVMe
host-init утилита (root)
CLI host-init
Ограничения / TODO
КомпонентПроблемаСтатус
kitty-trace-collector main() пустой — только CI/Helm placeholder
Не готово
pkg/snowflake node=0 захардкожен → single-replica only
TODO
kitty-apiserver Нет streaming watch-RPC, только polling 5s
TODO
Host failover Авто-исключение из TopologyBucket — ручное действие ops
TODO
Ресурсная модель
РесурсReconciler-владелец
Hostkitty-controller/host
NVMeDrivekittyd-agent/nvmedrive
Partitionkittyd-agent/partition
Daemonkittyd-agent/daemon
Volumekitty-controller/volume
VolumeShardSchemekitty-controller/volumeshardscheme
Shardkitty-controller/shard
Blobcontroller/blob + kittyd-agent/blob
VolumeAttachmentcontroller/volumeattachment + ksbd-agent
TopologyBucketapiserver (авто при регистрации)
Кликни на карточку
чтобы увидеть детали