Skip to content

sapcc/go-bits

Repository files navigation

go-bits

GoDoc

Some tiny pieces of Go code, extracted from their original applications for reusability. Feel free to add to this.

Packages

  • assert contains various assertions for unit tests.
  • audittools contains helper functions 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.
  • 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.
  • 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.

Tools

The tools subdirectory contains small Go programs.

About

Tiny Go libraries that I keep copying between projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published