Vedran daemon
Daemon application for interacting with vedran load balancer.
Get vedran-daemon
package
- Install Golang 1.13 or greater
- Run the command below
go get github.com/NodeFactoryIo/vedran-daemon
- Run vedran-daemon from your Go bin directory. For linux systems it will likely be:
~/go/bin/vedran-daemon
Note that if you need to do this, you probably want to add your Go bin directory to your $PATH to make things easier!
Usage
$ ./vedran-daemon -h
Register vedran-daemon with load balancer and start sending telemetry
Usage:
vedran-daemon [flags]
Flags:
-h, --help help for vedran-daemon
--id string Vedran-daemon id string (required)
--lb string Target load balancer url (required)
--log-file string Path to logfile. If not set defaults to stdout
--log-level string Level of logging (eg. debug, info, warn, error) (default "info")
--node-metrics string Polkadot node metrics url (default "localhost:9615")
--node-rpc string Polkadot node rpc url (default "localhost:9933")
--node-ws string Polkadot node ws url (default "localhost:9944")
--payout-address string Payout address to which reward tokens will be sent (required)
Starting daemon
First download latest prebuilt binary of vedran daemon from releases and binary for node.
Daemon is expected to be started in conjuction with node and will wait for node if it is unavailable.
Node
For starting node see instructions
**NOTE node should be started with rpc cors disabled
Example:
./polkadot --rpc-cors=all
Daemon
Daemon is started by invoking binary.
For example:
./vedran-daemon-linux-amd64 --id UuPrCMnkni --lb https://load-balancer.com --payout-address 15MCkjt3B59dNo5reMCWWpxY8QB8VpEbYLo2xHEjuuWsSmTU
It will register to load balancer and start sending pings and metrics to load balancer.
Port forwarding to local node is not needed and node and daemon can be in a private network because http tunnel is created between
node and load balancer on registration which communicate via daemon used as a proxy server.
Required flags
--id
- id string by which load balancer will distinguish between nodes - CAUTION this should be a unique string and should not be shared
--lb
- public url of vedran load balancer
--payout-address
- address of wallet to which reward tokens should be set - CAUTION - use valid address depending on network
Other flags
--log-level
- log level (debug, info, warn, error) - DEFAULT [error]
--log-file
- path to file in which logs will be saved - DEFAULT [stdout]
--node-metrics
- local url to node metrics - DEFAULT [http://localhost:9615]
--node-rpc
- local url to node rpc endpoint - DEFAULT [http://localhost:9933]
--node-ws
- local url to node websocket rpc endpoint - DEFAULT [http://localhost:9944]
Development
Clone
git clone git@github.com:NodeFactoryIo/vedran-daemon.git
Lint
Golangci-lint is expected to be installed.
make lint
Build
make build
Test
make test
Run daemon app with go run main.go [command]
.
More about different commands can be found in Usage.
License
This project is licensed under Apache 2.0: