mirror of
https://github.com/mudler/LocalAI.git
synced 2025-05-29 06:54:59 +00:00
Rewrite P2P cmd flags handling; add peerguard/auth edgevpn support; WIP edgevpn ledger management http API
This commit is contained in:
parent
c965197d6f
commit
aa7171dd5d
14 changed files with 306 additions and 229 deletions
80
core/http/routes/peerguard.go
Normal file
80
core/http/routes/peerguard.go
Normal file
|
@ -0,0 +1,80 @@
|
|||
package routes
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/mudler/edgevpn/pkg/node"
|
||||
)
|
||||
|
||||
const DefaultInterval = 5 * time.Second
|
||||
const Timeout = 20 * time.Second
|
||||
|
||||
// TODO connect routes and write a middleware for authorization based on p2p auth providers private keys
|
||||
func RegisterPeerguardAuthRoutes(app *fiber.App, e *node.Node) {
|
||||
app.Get("ledger/:bucket/:key", func(c *fiber.Ctx) error {
|
||||
bucket := c.Params("bucket")
|
||||
key := c.Params("key")
|
||||
|
||||
ledger, err := e.Ledger()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.JSON(ledger.CurrentData()[bucket][key])
|
||||
})
|
||||
|
||||
app.Get("ledger/:bucket", func(c *fiber.Ctx) error {
|
||||
bucket := c.Params("bucket")
|
||||
|
||||
ledger, err := e.Ledger()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.JSON(ledger.CurrentData()[bucket])
|
||||
})
|
||||
|
||||
announcing := struct{ State string }{"Announcing"}
|
||||
|
||||
// Store arbitrary data
|
||||
app.Get("ledger/:bucket/:key/:value", func(c *fiber.Ctx) error {
|
||||
bucket := c.Params("bucket")
|
||||
key := c.Params("key")
|
||||
value := c.Params("value")
|
||||
|
||||
ledger, err := e.Ledger()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ledger.Persist(context.Background(), DefaultInterval, Timeout, bucket, key, value)
|
||||
return c.JSON(announcing)
|
||||
})
|
||||
// Delete data from ledger
|
||||
app.Get("ledger/:bucket", func(c *fiber.Ctx) error {
|
||||
bucket := c.Params("bucket")
|
||||
|
||||
ledger, err := e.Ledger()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ledger.AnnounceDeleteBucket(context.Background(), DefaultInterval, Timeout, bucket)
|
||||
return c.JSON(announcing)
|
||||
})
|
||||
|
||||
app.Get("ledger/:bucket/:key", func(c *fiber.Ctx) error {
|
||||
bucket := c.Params("bucket")
|
||||
key := c.Params("key")
|
||||
|
||||
ledger, err := e.Ledger()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ledger.AnnounceDeleteBucketKey(context.Background(), DefaultInterval, Timeout, bucket, key)
|
||||
return c.JSON(announcing)
|
||||
})
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue