{"repo":"learning-cloud-native-go/myapp","free":true,"listed":false,"github":"https://github.com/learning-cloud-native-go/myapp","clone":"git clone https://github.com/learning-cloud-native-go/myapp.git","description":"A production-grade microservice boilerplate featuring GORM, Goose, Swag, Zerolog, Validator.v10, GitOps, Kubernetes, Kustomize, ArgoCD & Istio.","language":"Go","stars":1098,"topics":["golang","docker","microservice","go","kubernetes","api","argocd","distroless","istio","kustomize"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"Learning Cloud Native Go - myapp 🔋 Batteries Included - Use of Go linters, Docker, Docker Compose, Alpine development images, and Distroless production images. - Use of GORM CLI to generate Go generics-based database repositories. - Use of Goose to build a DB migration CLI with embedded migrations. - Use of Validator.v10 to validate forms via Go generics-based, fail-fast validation middleware. - Use of Zerolog to generate request logs and centralized Syslog logging. - Use of Swag.v2 to generate OpenAPI v3 specifications. - Use of GitHub Actions to run linters and tests, and to build and push production images to the registry. - Use of GitOps with ArgoCD to automate declarative environment orchestration and application lifecycle management. Environment Go 1.26 Image Size Postgres v18 Image Size ---------------- -------------------- ------------------------- Development 800 MB 300MB Production 30 MB 📟 Available Commands 🛬 Endpoints Name HTTP Method Route ------------- ------------- ---------------- Health GET /livez List Books GET /v1/books Create Book POST /v1/books Read Book GET /v1/books/{id} Update Book PUT /v1/books/{id} Delete Book DELETE /v1/books/{id} 🗄️ Database Design Column Name Datatype Not Null Primary Key ---------------- ----------- ---------- ------------- id UUID ✅ ✅ title TEXT ✅ author TEXT ✅ published date DATE ✅ image url TEXT description TEXT created at TIMESTAMP ✅ updated at TIMESTAMP ✅ ⛔️ Form Validation 📝 Request Logs and Centralized Syslog Logging ","default_branch":null,"files":null,"tree":[],"storefront":"/r/learning-cloud-native-go","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/learning-cloud-native-go/myapp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}