/go-microservice-starter

Primary LanguageGoApache License 2.0Apache-2.0

Pocketshorten

License Go Report Card Build and Tests Coverage Status Go Reference CII Best Practices GitHub release Total Downloads

project state

Bootstrapping infra:

  • Local build
  • Local build from dockerfile
  • Local precommit / linting / githook
  • Fix name to be consistent
  • Implement CI build, publish to docker
  • Fix CI artifacts (eg code coverage)
  • Fix repo badges
  • Best practices from mail log
  • Metrics exposed on independent port
  • k8s public
  • Service Monitor
  • Add load tester
  • Dashboard for telemetry
  • Hello world comes from microservice with switch / env for mode in single binary
  • Cleanup names
  • Fix double counting of metrics
  • k8s local override with staging / prod
  • Instructions for prerequs
  • Fork and make template (rename target to be new baseline)
  • Turn on PR enforcement, protect main branch

Template backlog

  • Add k8s manifest scanner for best practices (PDB, CPU/MEM requests and limits)
  • Add DT

Bring over shortening prototype

Building

Install prerequisites

  1. golang 1.9x
  2. make
  3. TODO rest of items
  4. precommit-installhooks

Backlog

  • Add vscode devcontaienr
  • complete openssf best practices
  • Add minimal viable covernance

Breating a new release

git tag -a v0.0.1 -m "helloinfra"
git push origin v0.0.1
gh release create