/totkit

TechOps ToolKit (this project is still in an early stage, please come back later)

Primary LanguageGoApache License 2.0Apache-2.0

totkit - TechOps ToolKit

Development dependencies

  • Go: open-source programming language supported by Google
  • golangci-lint: Go linters aggregator
  • gox: dead simple, no frills Go cross compile tool
  • direnv: load and unload environment variables depending on the current directory
  • pre-commit: framework for managing and maintaining multi-language pre-commit hooks
  • richgo: enrich go test outputs with text decorations
  • GNU Make: dependency management and automated software build

Setup on macOS

Note: You need to have Homebrew and Xcode installed.

# check that Xcode is installed
xcode-select -p
# check that homebrew is installed properly
brew doctor
# install dependencies
brew update
brew install pre-commit direnv make

Is better to install Go following the official install instructions, but you can also use brew.

# Use 'direnv' to set/unset environment variables automatically
cp .envrc.example .envrc
# ... modify .envrc to your needs and then run
direnv allow
# If you want to install GO using brew
brew install golang
# To install dependencies, run
make install-dependencies
# You can install 'richgo' and 'gox' dependencies, also running
go install github.com/kyoh86/richgo@latest
go install github.com/mitchellh/gox@latest
# check and setup 'pre-commit'
pre-commit --version
pre-commit install
pre-commit run --all-files

make targets

To get a complete list of targets, run

make help

For example, to run tests:

make tests

To Do