leg

Relay's library of useful Go tools

APACHE-2.0 License

Stars
7
Committers
9

Leg

This repository contains several Go modules that make up Relay's set of common utility components. Each module is versioned and managed independently.

License

Please see the LICENSE file in each module for licensing information for that module. The LICENSE file in this directory covers common scripts, configuration, and documentation (like this file) only.

Components

  • datastructure: Support for data structures not part of the
    Go standard library.
  • encoding: Seamless transports for non-Unicode data over strings
    or JSON.
  • errmap: An extension to Go 1.13's new error features that allows
    wrapping behavior to be customized. Support for semantic grouping of errors.
  • graph: Directed and undirected graph data structures and
    algorithms.
  • gvalutil: Extra helpers for Gval.
  • hashutil: Standardized structures for working with the standard
    library's hashing algorithms.
  • httputil: Standardized structures for HTTP requests and
    responses. Supporting algorithms for working with HTTP servers.
  • instrumentation: Integration with error reporting and
    metrics services.
  • jsonutil: Extra data types for JSON data and support for
    JSONPath queries.
  • k8sutil: Kubernetes controller framework and support utilities
    for client operations.
  • lifecycle: Support for running and gracefully stopping
    services within a context boundary.
  • logging: Standardized logging interface for Relay projects.
  • mainutil: Support for managing a set of concurrent processes
    with automatic signal processing and process termination.
  • mathutil: Additions to the Go standard library's math packages.
  • netutil: Additions to the Go standard library's networking
    packages.
  • relspec: A JSON templating language.
  • request: Standardized support for passing rudimentary tracing
    information through a context.
  • scheduler: Advanced management of Goroutines in process pools.
  • sqlutil: Additions to the Go standard library's SQL package.
  • storage: Standardized interfaces and implementations for working
    with third-party storage services (like S3).
  • stringutil: Additions to the Go standard library's strings
    package.
  • timeutil: Additions to the Go standard library's time package,
    including support for ISO 8601 interval types.
  • vaultutil: Vault system management with Kubernetes integration.
  • workdir: Utilities for managing ephemeral or permanent
    application state directories.