moke-kit
![Release](https://img.shields.io/github/v/release/gstones/moke-kit.svg?style=flat-square)
English | 中文
What is moke-kit?
moke-kit is a toolkit for building a microservices/monolithic in Go. You can develop as a monolithic service and deploy
it as a microservice.
Just like building with LEGO, you can assemble the service as you like.
Diagram
![moke-kit](https://gitee.com/wanjimao/dongli-kit/raw/v0.0.36/assets/moke-kit-diagram.drawio.png)
Features
- Inversion of control with uber/fx,assemble your service as you like.
- Builtin TLS, mTLS to build Zero Trust security.
- Builtin Token-based authentication, support JWT token.
- Builtin middlewares (rate limit, open telemetry, auth middleware,logging, panic recovery, etc.).
- Builtin Cache-Aside pattern for orm and
nosql.
- Builtin Compare-and-swap to ensure db update consistency.
- Command client to interact with the server for independent testing.
- One command to generate proto, grpc, gateway, swagger and client code with buf.
Builtin Kits
- Servers:
- MQ:
- Orm:
- Cache:
- Third Party:
- IAP: Verifies the purchase receipt via AppStore, GooglePlayStore or Amazon
AppStore.
- Agones: Host, Run and Scale dedicated game servers on Kubernetes.
Getting started
go install golang.org/x/tools/cmd/gonew@latest
gonew github.com/gstones/moke-layout your.domain/myprog