Files
LocalAI/core/services/galleryop/managers.go
Ettore Di Giacinto 948f3bfaa4 feat: add upgrade checker service, API endpoints, and CLI command
- UpgradeChecker background service: checks every 6h, auto-upgrades when enabled
- API endpoints: GET /backends/upgrades, POST /backends/upgrades/check, POST /backends/upgrade/:name
- CLI: `localai backends upgrade` command, version display in `backends list`
- BackendManager interface: add UpgradeBackend and CheckUpgrades methods
- Wire upgrade op through GalleryService backend handler
- Distributed mode: fan-out upgrade to worker nodes via NATS
2026-04-11 11:43:56 +00:00

26 lines
980 B
Go

package galleryop
import (
"context"
"github.com/mudler/LocalAI/core/gallery"
)
// ProgressCallback reports download progress for model/backend installations.
type ProgressCallback func(fileName, current, total string, percentage float64)
// ModelManager handles model install and delete lifecycle.
type ModelManager interface {
InstallModel(ctx context.Context, op *ManagementOp[gallery.GalleryModel, gallery.ModelConfig], progressCb ProgressCallback) error
DeleteModel(name string) error
}
// BackendManager handles backend install, delete, upgrade, and listing lifecycle.
type BackendManager interface {
InstallBackend(ctx context.Context, op *ManagementOp[gallery.GalleryBackend, any], progressCb ProgressCallback) error
DeleteBackend(name string) error
ListBackends() (gallery.SystemBackends, error)
UpgradeBackend(ctx context.Context, name string, progressCb ProgressCallback) error
CheckUpgrades(ctx context.Context) (map[string]gallery.UpgradeInfo, error)
}