/salt

Salt is a collection of libraries and tools used in the Raystack ecosystem to improve the experience of developing projects with Go.

Primary LanguageGoApache License 2.0Apache-2.0

salt

GoDoc reference test workflow Go Report Card

Salt is a Golang utility library offering a variety of packages to simplify and enhance application development. It provides modular and reusable components for common tasks, including configuration management, CLI utilities, authentication, logging, and more.

Installation

To use, run the following command:

go get github.com/raystack/salt

Pacakages

Configuration and Environment

  • config
    Utilities for managing application configurations using environment variables, files, or defaults.

CLI Utilities

  • cli/cmdx
    Command execution and management tools.

  • cli/printer
    Utilities for formatting and printing output to the terminal.

  • cli/prompt
    Interactive CLI prompts for user input.

  • cli/terminal
    Terminal utilities for colors, cursor management, and formatting.

  • cli/version
    Utilities for displaying and managing CLI tool versions.

Authentication and Security

  • auth/oidc
    Helpers for integrating OpenID Connect authentication flows.

  • auth/audit
    Auditing tools for tracking security events and compliance.

Server and Infrastructure

  • server
    Utilities for setting up and managing HTTP or RPC servers.

  • db
    Helpers for database connections, migrations, and query execution.

  • telemetry
    Observability tools for capturing application metrics and traces.

Development and Testing

  • dockertestx
    Tools for creating and managing Docker-based testing environments.

Utilities

  • log
    Simplified logging utilities for structured and unstructured log messages.

  • utils
    General-purpose utility functions for common programming tasks.