This document is targeted at project developers. It helps people to make their first steps. It also serves as a general entry to development documentation like tooling configuration and usage.
Your environment should fulfill the following basic requirements:
- Go. See
go.mod
for the minimum required version. - Pre-commit. For managing and maintaining pre-commit Git hooks. Optional.
- Task. Task runner as simple alternative to Make. Optional.
- Unix-like. Not required by itself, but assumed as the standard.
In addition to the following sections in this document, note that the
devel
directory contains more documentation including further
information about the tooling listed above.
Ensure that pre-commit is installed globally. Setup the pre-commit hooks:
pre-commit install --install-hooks
pre-commit install --install-hooks --hook-type commit-msg
Run all hooks to make sure things are alright:
pre-commit run -a
Read devel/pre-commit.md
for more info.
Ensure that Task is installed. It is used to wrap common commands abd Can be compared to Make and its phony targets.
Read devel/task.md
for more info.
Run tests to make sure everything is setup correctly:
task test
The local configuration is used for everything that goes beyond plain unit tests. For example if you want to run the code against a Kubernetes cluster and an AWS account.
Example configurations are located in the assets
directory.
Duplicate one of these files and place it as config.yaml
in the root of this
repository. It is already listed in .gitignore
and so Git will ignore it.
Consider setting logging.pretty=true
for human-friendly logs.