goto / salt

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

salt

GoDoc reference test workflow Go Report Card

Shared libraries used in the gotocompany ecosystem. Use at your own risk. Breaking changes should be anticipated.

Installation

To use, run the following command:

go get github.com/goto/salt

Pacakages

Audit

Package for adding audit events in your applications.

Cmdx

Cobra based cli helper which allows adding command groups, provides custom help and usage functions.

var cmd = &cli.Command{
	Use:   "exec <command> <subcommand> [flags]",
	SilenceUsage:  true,
	SilenceErrors: true,
	Annotations: map[string]string{
		"group": "core",
		"help:learn": "Learn about the project",
	},
}

cmdx.SetHelp(cmd)
cmd.AddCommand(cmdx.SetCompletionCmd("exec"))
cmd.AddCommand(cmdx.SetHelpTopicCmd("environment", envHelp))
cmd.AddCommand(cmdx.SetHelpTopicCmd("auth", authHelp))
cmd.AddCommand(cmdx.SetRefCmd(cmd))

Config

Viper abstractions which provides functions for loading config files for the application.

DB

Postgres based database abstractions for creating a client and running migrations.

Log

Logger for easy application loggging.

Printer

Command line printer for CLI based applications.

Server

GRPC based server abstraction.

Term

Helper functions for working with terminal.

Version

Helper functions for fetching github latest and outdated releases.

About

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

License:Apache License 2.0


Languages

Language:Go 99.4%Language:HTML 0.4%Language:Makefile 0.2%