Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/telkomindonesia/go-boilerplate
Golang Boilerplate
https://github.com/telkomindonesia/go-boilerplate
golang-boilerplate golang-examples golang-package
Last synced: about 12 hours ago
JSON representation
Golang Boilerplate
- Host: GitHub
- URL: https://github.com/telkomindonesia/go-boilerplate
- Owner: TelkomIndonesia
- Created: 2024-03-06T04:01:41.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-09-24T12:43:08.000Z (about 24 hours ago)
- Last Synced: 2024-09-24T20:23:29.883Z (about 16 hours ago)
- Topics: golang-boilerplate, golang-examples, golang-package
- Language: Go
- Homepage:
- Size: 693 KB
- Stars: 6
- Watchers: 3
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go Boilerplate
![Package Dependency](./diagram.svg)
Features:
- [x] Database (postgres) with Encryption at Rest (tink)
- [x] Derivable encryption key.
- [x] Rotatable encription key.
- [x] Blind index as bloom filter for exact match.
- [x] Outbox pattern (kafka + cloudevent + protobuf).
- [x] Query-to-code generator (SQLC).
- [x] HTTP API
- [x] OpenAPI-to-code generator (oapi-codegen).
- [x] Auto Load CA & Leaf TLS certificate.
- [x] mTLS support.
- [x] Opentelemetry (console, otlphttp, otlpgrpc, and datadog trace provider).
- [x] Plugable log (zap).
- [x] Env config.
- [x] Dockerized.
- [x] CI/CD as Code (dagger)## Using as library
The packages under `pkg` are reusable for importing into other project. Moreover `pkg/cmd` can be used to instantiate all the packages using environment variable for [quick inclusion](./internal/cmd/cmd.go#L118-L136)