# README
pkg

A collection of go packages I always end up reusing, so now they live in their own module.
Table of Contents
Getting started
Add the module as a dependency using go get
:
go get pkg.dsb.dev
Pick and choose the packages you want to use, there's all sorts of stuff in here!
Tools
This project uses a few go-based tools for linting, formatting and code generation. You can install these using
make install-tools
- golangci-lint - Used to lint go source code.
- gofumpt - Used to format go code and package imports
- markdown-toc - Used to generate the table of contents in this README.
# Packages
Package app contains methods for configuring a command-line application.
Package closers contains utilities for dealing with io.Closer implementations.
Package cluster provides basic tools to build a self-aware cluster of applications.
No description provided by the author
Package cron contains methods for running actions as cron jobs.
Package distance contains methods for working with distances, primarily in lat/long formats.
Package environment contains utilities for interacting with the application's environment.
Package event contains utilities for interacting with various event-stream providers.
Package flag contains types that represent typed command-line flags.
Package health contains helpers for constructing health checks.
Package logging contains utilities for writing logs.
Package metrics contains helpers for exposing operational metrics for the application.
Package middleware contains mux.MiddlewareFunc implementations that are used as HTTP router middlewares.
Package monitoring contains helpers for application monitoring.
Package multierror provides a mechanism for representing a list of error values as a single error.
Package period contains extensions for time.Duration to represent days and months.
Package queue contains a simple job queue implementation for running concurrent jobs.
Package random contains utilities for generating random things.
Package requestid is used to add/extract a request identifier to/from a context.Context.
Package retry contains utilities for performing retries when functions return errors.
Package server contains utilities for managing different kinds of servers.
No description provided by the author
Package testutil contains utility methods for use in tests.
Package tracing contains orchestration code for opentracing.
Package transport contains utility methods for API interfaces that speak to clients.
Package unit contains types and methods for dealing with units of various types.