vedran-daemon

command module
v0.3.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2021 License: Apache-2.0 Imports: 1 Imported by: 0

README

Vedran daemon

Daemon application for interacting with vedran load balancer.

Get vedran-daemon package
  1. Install Golang 1.13 or greater
  2. Run the command below
go get github.com/NodeFactoryIo/vedran-daemon
  1. 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:

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
lb
run
mocks
lb
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL