Skip to content

Validat0rs/guvnor

Repository files navigation

Guvnor

Convert Cosmos on-chain governance proposals into an RSS feed.

Setup

Golang

If you are new to Golang, please follow the setup instructions here.

Environment

Before running guvnord, please ensure that you have the following environment variables set:

Description
GUVNOR_PORT The port that guvnor should run on (e.g.: 3000)
GUVNOR_CONFIG The full path to the config.toml file.
GUVNOR_DOMAIN The domain that guvnor is being run on.
REDIS_URL The Redis URL (e.g.: localhost:6379).
REDIS_PASSWORD The Redis password (leave blank if no password is set).
PROPOSAL_FEED_AUTHOR The name of the author, for the feed.
PROPOSAL_FEED_EMAIL The email address of the author, for the feed.

Config

Setup

To setup the config, please run:

make setup-config

This will create a ~/.guvnor/config directory and copy the example config file into. It will also set the GUVNOR_CONFIG environment variable.

You can easily override the config location by changing GUVNOR_CONFIG.

Chains

Remove the placeholder content and update it with those that are relevant to the chains that you wish to generate feeds for. The structure of the config file is very simple, and you add a given chain like so:

[[chain]]
chain_id = "<chain_id>"
api = "<api_host>"

Run

You can run guvnord on any cloud or bare metal provider. A Heroku Procfile (please see here for how to launch this on Heroku) as also been included.

Please ensure that you have a Redis instance available, as guvnor makes use of Redis to cache requests (for up to 6 hours).

Install

To install the binary, run:

make clean install

Start

To then to start the service:

make run-guvnor-service

Once running, you may access the feed at <hostname>/<chain_id>/proposals/rss.

Development

Linter

To run the linter:

make lint

Tests

To run the tests and see test coverage:

make tests

Cache

As mentioned above, Redis is used to cache frequently requested objects. To start a local Redis instance, run:

make docker-redis

About

Convert Cosmos on-chain governance proposals into an RSS feed.

Resources

License

Stars

Watchers

Forks

Languages