A collection of reusable components for all our your SRE project needs.
Install as a go-module:
go get github.com/sre-norns/wyrd
To get full benefits provided by this module:
- Define a model, using or . See manifest docs for more details.
- Add middleware to your APIs to handle CRD request: search, get, update, delete etc. See bark for more info.
- Use
dbstore
to store and retrieve your previously defined models. See dbstore for derails.
- grace - A collection of utils for process init, signal handling and and graceful shutdown of services in a Cloud-native and local environment.
- manifest - utils to create Kubernetes-like Custom Resources Definition (CRD).
- bark - collection of utils to help build REST APIs on top of gin-gonic that operate with CRDs from manifest. It includes search middleware to create labels-based query.
- dbstore - provides a store implementation with Object–relational mapping (ORM) that enables storage and search / query of the CRD resources with Relational DBs. Implemented on top of GORM and thus feature the same DB support.
From Wikipedia:
Wyrd is a concept in Anglo-Saxon culture roughly corresponding to fate or personal destiny. The word is ancestral to Modern English weird, whose meaning has drifted towards an adjectival use with a more general sense of "supernatural" or "uncanny", or simply "unexpected".
This go-module is a part of a large project SRE-Norms
where each component is a play on terms fate, future and what is oat to be.
It was moved into a stand-alone module out of project Urth (WIP) prober-as-a-service.