Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/One-com/gone
- Owner: One-com
- License: other
- Created: 2016-09-05T09:39:11.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-05-24T14:23:37.000Z (over 3 years ago)
- Last Synced: 2024-07-12T12:36:37.806Z (5 months ago)
- Topics: daemon, golang, logging-library, socket-activation, statsd-client, systemd
- Language: Go
- Size: 338 KB
- Stars: 48
- Watchers: 10
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go-extra - gone - 09-05T09:39:11Z|2021-05-24T14:23:37Z| (Logging / Advanced Console UIs)
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.