go-cloud-k8s-thing is a Thing microservice written in Golang using JWT authentication from go-cloud-k8s-user-group.
it showcases how to build a container image with nerdctl, in a secured way (scan of CVE done with Trivy) and how to deploy it on Kubernetes
Scan of security issues and other vulnerabilities are done automatically before building a container image (using Trivy) inside a github action that triggers when a version tag is pushed to this repo.
you can find all the versions of this image and instructions to pull the images from the Packages section on the right part of this page
You can find functional and system requirements used to design this service in the documentation folder.
We ensure the OpenAPI contract based approach is fulfilled by generating the Go server routes directly from the Yaml specification using deepmap/oapi-codegen
The OpenApi 3.0 definition is available in Yaml and JSON format in the api directory. The nice and interactive Swagger documentation is available at this url https://lao-tseu-is-alive.github.io/go-cloud-k8s-thing/
Echo: high performance, extensible, minimalist Go web framework
deepmap/oapi-codegen: OpenAPI Client and Server Code Generator
pgx: PostgreSQL Driver and Toolkit
Json Web Token for Go (RFC 7519)
This project uses the Standard Go Project Layout : https://github.com/golang-standards/project-layout