This repository contains GO libraries used in the different components of Perses.
This set of libraries aims to provide a way:
- to handle processes management with graceful stop
- to define an HTTP API
- to handle the configuration
Note: These libraries are mainly designed to ease the development of Perses. As it is still a beta, breaking change can happen between two releases. But as there is nothing really specific to Perses itself, you can use it at your own risk.
Here's a short description about what each package provides:
- app: provides a struct to be used to help to start an application (usually with an HTTP API)
- async: provides different ways to manage an asynchronous job
- config: provides a config resolver that helps to manage the configuration. It also provides a default configuration for etcd
- echo: provides a builder that helps to manage middlewares, apis and help to start a server with a context management.
- etcd: provides a dao that wraps the etcd client to simplify a bit how to use it
- slices: provides utility methods to manipulate slices (mostly slices of string)