feat(p2p): allow to run multiple clusters in the same p2p network (#3128)

feat(p2p): allow to run multiple clusters in the same network

Allow to specify a network ID via CLI which allows to run multiple
clusters, logically separated within the same network (by using the same
shared token).

Note: This segregation is not "secure" by any means, anyone having the
network token can see the services available in all the network,
however, this provides a way to separate the inference endpoints.

This allows for instance to have a node which is both federated and
having attached a set of llama.cpp workers.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
This commit is contained in:
Ettore Di Giacinto 2024-08-07 23:35:44 +02:00 committed by GitHub
parent 2c8623dbb4
commit 36e185ba63
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 50 additions and 26 deletions

View file

@ -34,6 +34,7 @@ type ApplicationConfig struct {
EnforcePredownloadScans bool
OpaqueErrors bool
P2PToken string
P2PNetworkID string
ModelLibraryURL string
@ -91,6 +92,12 @@ func WithCors(b bool) AppOption {
}
}
func WithP2PNetworkID(s string) AppOption {
return func(o *ApplicationConfig) {
o.P2PNetworkID = s
}
}
func WithCsrf(b bool) AppOption {
return func(o *ApplicationConfig) {
o.CSRF = b