Some tiny pieces of Go code, extracted from their original applications for reusability. Feel free to add to this.
- assert contains various assertions for unit tests.
- audittools contains a microframework for establishing a connection to a RabbitMQ server (with sane defaults) and publishing messages to it.
- easypg is a database library for applications that use PostgreSQL. It integrates golang-migrate/migrate for data definition and imports the libpq-based SQL driver.
- errext contains convenience functions for handling and propagating errors.
- gophercloudext contains convenience functions for use with Gophercloud. It is specifically intended as a lightweight replacement for
gophercloud/utils
with fewer dependencies. - gopherpolicy integrates Gophercloud with goslo.policy, for OpenStack services that need to validate client tokens and check permissions.
- httpapi contains opinionated base machinery for assembling and exposing an API consisting of HTTP endpoints.
- httpext adds some convenience functions to net/http.
- jobloop contains the Job trait, which abstracts over reusable implementations of worker loops.
- liquidapi is a server runtime for microservices implementing LIQUID API.
- logg adds some convenience functions to log.
- mock contains basic mocks and test doubles.
- must contains convenience functions for quickly exiting on fatal errors without the need for excessive
if err != nil
. - osext contains extensions to the standard library package "os", mostly relating to parsing of environment variables.
- pluggable is a tiny plugin factory library, for constructing different objects implementing a common interface based on a configurable type selector.
- promquery provides a simplified interface for executing Prometheus queries.
- regexpext contains convenience functions for marshalling regexes to and from string values in YAML and JSON documents.
- respondwith contains some helper functions for generating responses in HTTP handlers.
- secrets provides convenience functions for working with auth credentials.
- sqlext contains helper functions for SQL queries that are not specific to PostgreSQL.
- vault contains helper functions to work with HashiCorp Vault.
The tools
subdirectory contains small Go programs.
- release-info extracts release info for a specific version from a changelog file that uses the Keep a changelog format.