Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/One-com/gone

Golang packages for writing small daemons and servers.
https://github.com/One-com/gone

daemon golang logging-library socket-activation statsd-client systemd

Last synced: about 1 month ago
JSON representation

Golang packages for writing small daemons and servers.

Awesome Lists containing this project

README

        

# gone
Golang packages for writing small daemons and servers.

This is not strictly a "framework". The individual packages do not really depend on each other and can be used independently. However, they work well together.

## packages

* **log** is a drop-in replacement for the standard Go logging library "log" which is fully source code compatible support all the standard library API while at the same time offering advanced logging features through an extended API.

* **sd** Manages your socket file descriptors and (if wanted) interacts with Linux systemd socket-activation, FDSTORE and NOTIFY socket - and provides process management if you want the old style fork/kill process replacement reload.

* **http** Provides extentions of the standard HTTP library. - Like a dynamic accesslogging middleware and a client side failover virtual Transport

* **daemon** Wraps the sd package and a lot of daemon management boilerplate code to make if very easy to start a full featured daemon, doing graceful reload and/or zero-downtime restart/upgrades.

* **metric** A fast client side buffered (if needed) metrics library with a statsd sink.

* **jconf** Small utility to make parsing of modular JSON config easier, while still being able to serialize the main config object to JSON and see the full config.

* **signals** Run a signal handler and call functions based on a signal->function map.

* **netutil** A simple generic net.Conn connection pool and a wrapper around net.Listener and net.Dialer to have a reaper go-routine monitor IO activity.