module
0.0.0-20241214190857-bc935235cab6
Repository: https://github.com/evanlindsey/go-micro.git
Documentation: pkg.go.dev
# README
GO MICRO
Tools
- Go - For building and running the microservice.
- Docker - To containerize the application for deployment.
- kubectl The Kubernetes command-line tool.
- minikube - Local Kubernetes cluster for testing.
Packages
- oapi-codegen - Generates Go server boilerplate from OpenAPI specs.
- chi - Lightweight and idiomatic routing for HTTP services.
- ent - ORM framework for data modeling and querying in Go.
- pg - PostgreSQL driver for database connectivity.
- dotenv - For loading environment variables from
.env
files.
Development
- Generate Service Definition from OAS
make gen-openapi SERVICE=<service>
- Add ent and Create Schema
cd <service>
go run -mod=mod entgo.io/ent/cmd/ent new <entity>
go generate ./ent
- Implement Service Endpoints
- Deploy Locally to minikube
- Start minikube
minikube start
- Add
DB_PASS
(any value) to a .env filemake create-db-secret
- Build + Deploy + Expose Port
make minikube-docker-build
make minikube-deploy
make minikube-expose
- Start minikube
TODO
- Unit Tests for service implementation
- Another Micro-Service generated from OAS
- Deploy to a live environment (probably AWS)
- Add Helm and Argo to manage config and deployments
# Packages
No description provided by the author