Skip to content

TelkomIndonesia/go-boilerplate

Repository files navigation

Go Boilerplate

Package Dependency

Features:

  • Database (postgres) with Encryption at Rest (tink)
    • Derivable encryption key.
    • Rotatable encription key.
    • Blind index as bloom filter for exact match.
    • Outbox pattern (kafka).
    • Query-to-code generator (SQLC).
  • HTTP API
    • OpenAPI-to-code generator (oapi-codegen).
    • Auto Load CA & Leaf TLS certificate.
    • mTLS support.
  • Opentelemetry (console, otlphttp, and datadog trace provider).
  • Plugable log (zap).
  • Env config.
  • Dockerized.
  • CI/CD as Code (dagger)

Using as library

The packages under pkg/util are reusable for importing into other project. Moreover pkg/util/cmd can be used to instantiate all the packages using environment variable for quick inclusion