/go-template

Primary LanguageGoMIT LicenseMIT

go-template

Go Report Card ci/cd Documentation Release

Template for productive high-tech creators

Setup

  • Replace all occuriences of go-template to your-service
  • Run make environment

Features

Development

  • Shared git hooks: on commit and on push πŸͺ
  • Friendly graceful shutdown that can be used in any part of your code 🀳
  • Smart fixer for your imports, keeping it within 3 blocks πŸ—„

Delivery

  • Multi-command support πŸ€ΎπŸΌβ€β™€οΈ 🀾🏼 πŸ€ΎπŸΌβ€β™‚οΈ
  • Extensive multi-env configuration via config.yaml, environment variables, flags πŸ’½
  • Multi-port api server for: http, admin_http, grpc 🎏
  • Swagger spec generation (available at Admin HTTP) 😎
  • Minimal Docker image ~ 25MB 🐳

Database

Site Reliability Engineering

To Be Done

  • SRE best practices support: profiling, metrics, etc.
  • Protocols support:
    • GRPC
      • automated proto dependencies fetch
      • swagger-like proto contracts availability
    • QUIC
    • multi-transport handlers
  • Dynamic configuration via etcd/consul/etc
  • CLI to create a service

Star History

Star History Chart