repository
0.0.0-20241126131707-3f50349e08a1
Repository: https://github.com/akagi201/micro-go.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
# README
micro-go
micro service framework in Go
Features
- Monorepo - Sharing code between microservies
- PGV - input validation
- cli - urfave/cli
- koanf - env, config
- logr - log interface
- zap - log implementation
- grpc - use pure GRPC
- req - http client
- errors - error handling
- bun - gorm
- sqlc - no gorm, generate code from sql schema
- sqlx - no gorm
- sql-migrate - sql migrate
- wire - dependency injection
- govvv
- golangci - lint tools
- buf - protobuf management
- super-linter - lint everything
- tableflip - graceful process restart
- graphql: rejoiner gqlgen
Libs
- https://github.com/destel/rill - parallel processing like rayon in rust
- https://github.com/roblaszczak/vgt - golang benchmark test
third-party tools
# k8s tool similar to helm (optional)
# generate fill k8s yaml files from overlays
brew install kustomize
# kubeval - validate one or more Kubernetes config files(optional)
brew tap instrumenta/instrumenta
brew install kubeval
# Manage Your lk8s In Style!
brew install derailed/k9s/k9s
# buf: proto tool https://buf.build/docs/tour-1
brew tap bufbuild/buf
brew install buf
golang tools
# go better build tool
go install github.com/ahmetb/govvv@latest
# for static check/linter
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
# fetch protoc plugins into $GOPATH
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
# to add tags to go struct
go install github.com/srikrsna/protoc-gen-gotag@latest
# goup checks if there are any updates for imports in your module.
# the main purpose is using it as a linter in continuous integration or in development process.
# Usage: goup -v -m ./...
go install github.com/rvflash/goup@latest
Docs
- go mod update all: https://gosamples.dev/update-all-packages/
After upgrade go version
go install -v golang.org/x/tools/...@latest
go install -v google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install -v google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install -v github.com/mgechev/revive@latest
go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest