LocalAI/core/services/nodes
Ettore Di Giacinto 59108fbe32
feat: add distributed mode (#9124)
* feat: add distributed mode (experimental)

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fix data races, mutexes, transactions

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactorings

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fixups

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fix events and tool stream in agent chat

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* use ginkgo

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactoring and consolidation

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactoring and consolidation

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactoring and consolidation

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactoring and consolidation

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactoring and consolidation

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactoring and consolidation

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactoring and consolidation

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactoring and consolidation

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* fix(cron): compute correctly time boundaries avoiding re-triggering

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* enhancements, refactorings

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* do not flood of healthy checks

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* do not list obvious backends as text backends

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* tests fixups

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* refactoring and consolidation

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* Drop redundant healthcheck

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* enhancements, refactorings

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

---------

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2026-03-30 00:47:27 +02:00
..
distributed_store.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
distributed_store_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
file_stager.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
file_stager_http.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
file_stager_s3.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
file_staging_client.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
file_transfer_server.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
file_transfer_server_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
health.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
health_mock_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
health_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
inflight.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
inflight_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
interfaces.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
managers_distributed.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
model_router.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
model_router_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
nodes_suite_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
registry.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
registry_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
router.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
router_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
staging_keys.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
staging_keys_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
unloader.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
unloader_test.go feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00