more ideas
This commit is contained in:
parent
3915036ebd
commit
c70dd77203
14 changed files with 82 additions and 0 deletions
1
cmd/kvdel.go
Normal file
1
cmd/kvdel.go
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package cmd
|
1
cmd/kvget.go
Normal file
1
cmd/kvget.go
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package cmd
|
1
cmd/kvlist.go
Normal file
1
cmd/kvlist.go
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package cmd
|
1
cmd/kvset.go
Normal file
1
cmd/kvset.go
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package cmd
|
1
cmd/serversadd.go
Normal file
1
cmd/serversadd.go
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package cmd
|
1
cmd/serverslist.go
Normal file
1
cmd/serverslist.go
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package cmd
|
1
cmd/serversremove.go
Normal file
1
cmd/serversremove.go
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package cmd
|
11
example/README.md
Normal file
11
example/README.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# Trade Example
|
||||||
|
|
||||||
|
- export a key `export KEY_PASSWD="blarg test"`
|
||||||
|
- spawn two servers: `./example 8080 &` `./example 8081`
|
||||||
|
- register the servers:
|
||||||
|
- `./trade servers add localhost:8080`
|
||||||
|
- `./trade servers add localhost:8081`
|
||||||
|
- visit one server: [https://localhost:8080](https://localhost:8080)
|
||||||
|
- set a value (like "hello world")
|
||||||
|
- visit the other server: [https://localhost:8081](https://localhost:8081)
|
||||||
|
- see the value set
|
5
example/routes.go
Normal file
5
example/routes.go
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
package example
|
||||||
|
|
||||||
|
func home() {
|
||||||
|
|
||||||
|
}
|
28
example/server.go
Normal file
28
example/server.go
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
package example
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"git.bivouac.wiki/use/trade"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// get key password from env variable
|
||||||
|
passwd, exist := os.LookupEnv("KEY_PASSWD")
|
||||||
|
if !exist {
|
||||||
|
fmt.Println("no KEY_PASSWD environment variable")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
if len(os.Args) != 1 {
|
||||||
|
fmt.Println("no key path specified")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
keypath := os.Args[1]
|
||||||
|
// spawn trade KV
|
||||||
|
trade.Load(passwd, keypath, GLOBAL_KV)
|
||||||
|
// load self key or generate one
|
||||||
|
// spawn server
|
||||||
|
http.Serve()
|
||||||
|
}
|
9
example/store.go
Normal file
9
example/store.go
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
package example
|
||||||
|
|
||||||
|
import "git.bivouac.wiki/go/gobstore"
|
||||||
|
|
||||||
|
var GLOBAL_KV gobstore.GobStore[string]
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
|
||||||
|
}
|
6
regdelserver.go
Normal file
6
regdelserver.go
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
package trade
|
||||||
|
|
||||||
|
// RegDelServer revokes a server's trade access
|
||||||
|
func RegDelServer() {
|
||||||
|
|
||||||
|
}
|
8
routeget.go
Normal file
8
routeget.go
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
package trade
|
||||||
|
|
||||||
|
// RouteGet responds to a get request after validating the remote server
|
||||||
|
func RouteGet() {
|
||||||
|
// validate message
|
||||||
|
// validate that sender is in allowed servers
|
||||||
|
// query KV and return
|
||||||
|
}
|
8
routeset.go
Normal file
8
routeset.go
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
package trade
|
||||||
|
|
||||||
|
// RouteSet verifies another server's set command
|
||||||
|
func RouteSet() {
|
||||||
|
// check signature validity
|
||||||
|
// check if signature is in list of allowed identities
|
||||||
|
// set local value
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue