This is to demonstrate how to build a distributed and fault-tolerant event-sourcing/cqrs application in Go using Chief of State. The project adheres to Semantic Versioning and Conventional Commits.
# download earthly using the following command on macos
brew install earthly/earthly/earthly
# clone the repo
git clone git@github.com:Tochemey/cos-go-sample.git
# update the git submodule
git submodule update --init
# generate the protobuf binaries and mocks
earthly +protogen
earthly +mock
# update the go dependencies
go mod tidy && go mod vendor
# build image
earthly +docker-image
# starts the prometheus, jaeger and postgres container
docker-compose up -d
# starts the application container
docker-compose --profile application up
# OTHER HELPFUL COMMANDS
# supervise app logs
docker-compose logs -f --tail="all" accounts
# view traces
http://localhost:16686