Skip to content
/ salt Public
forked from raystack/salt

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

License

Notifications You must be signed in to change notification settings

goto/salt

 
 

Repository files navigation

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.5%
  • Other 0.5%