Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions db/mgmadapter/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Package mgmadapter adapts the mgm MongoDB ODM to hexa, providing entity
// base structs, a hexa.ID implementation over primitive.ObjectID, touchable
// (version and timestamp) models, index helpers and command monitoring.
package mgmadapter
10 changes: 10 additions & 0 deletions doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Package hexa is a microservice SDK for the Kamva ecosystem.
//
// It provides the core, transport-agnostic building blocks for building
// microservices: a propagatable request Context (carrying the user,
// correlation id, locale, logger, translator and a concurrency-safe store),
// a structured Error/Reply model, users and user propagation, health
// reporting, a service registry with ordered boot/shutdown, distributed
// locks, and supporting utilities. Most capabilities are defined as
// interfaces with swappable driver implementations in sub-packages.
package hexa
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@ module github.com/kamva/hexa
go 1.18

require (
github.com/bsm/redislock v0.9.4
github.com/getsentry/sentry-go v0.6.1
github.com/kamva/gutil v0.0.0-20210827084201-35b6a3421580
github.com/kamva/mgm/v3 v3.4.0
github.com/kamva/tracer v0.0.0-20201115122932-ea39052d56cd
github.com/labstack/gommon v0.3.0
github.com/mailru/easyjson v0.7.7
github.com/nicksnyder/go-i18n/v2 v2.0.3
github.com/redis/go-redis/v9 v9.7.0
github.com/stretchr/testify v1.7.0
go.mongodb.org/mongo-driver v1.7.0
go.opentelemetry.io/otel v1.2.0
Expand All @@ -23,7 +25,6 @@ require (
)

require (
github.com/bsm/redislock v0.9.4 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
Expand All @@ -38,7 +39,6 @@ require (
github.com/mattn/go-isatty v0.0.9 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/redis/go-redis/v9 v9.7.0 // indirect
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
github.com/xdg-go/scram v1.0.2 // indirect
github.com/xdg-go/stringprep v1.0.2 // indirect
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqR
github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g=
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
github.com/bsm/redislock v0.9.4 h1:X/Wse1DPpiQgHbVYRE9zv6m070UcKoOGekgvpNhiSvw=
github.com/bsm/redislock v0.9.4/go.mod h1:Epf7AJLiSFwLCiZcfi6pWFO/8eAYrYpQXFxEDPoDeAk=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
Expand Down
3 changes: 3 additions & 0 deletions hdlm/mongolock/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// Package mongolock implements hexa's distributed lock manager (hexa.DLM) on
// top of MongoDB.
package mongolock
3 changes: 3 additions & 0 deletions hdlm/redislock/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// Package redislock implements hexa's distributed lock manager (hexa.DLM) on
// top of Redis.
package redislock
4 changes: 4 additions & 0 deletions hexamask/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Package hexamask provides field masks for detecting which fields of a
// struct or map were supplied by a caller (for example, the fields present in
// a PATCH request) so partial updates can be applied safely.
package hexamask
4 changes: 4 additions & 0 deletions hexatranslator/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Package hexatranslator provides hexa.Translator implementations, including
// an i18n driver backed by go-i18n, plus empty and key drivers for tests, and
// a process-global translator.
package hexatranslator
4 changes: 4 additions & 0 deletions hlog/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Package hlog is hexa's structured logging facade. It defines the Logger
// interface, log levels and fields, and a process-global logger; concrete
// drivers (zap, sentry, ...) live in the logdriver sub-package.
package hlog
3 changes: 3 additions & 0 deletions hlog/logdriver/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// Package logdriver contains concrete hlog.Logger drivers, including zap and
// sentry implementations.
package logdriver
4 changes: 4 additions & 0 deletions htel/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Package htel provides OpenTelemetry helpers for hexa: wrappers that let the
// tracer/meter providers participate in service shutdown, and a propagator
// that bridges hexa's context propagation with OpenTelemetry.
package htel
4 changes: 4 additions & 0 deletions hurl/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Package hurl is an improved net/http client: it resolves request paths
// against a base URL, applies request options (auth headers, query params,
// ...), and can log requests and responses with sensitive headers redacted.
package hurl
5 changes: 5 additions & 0 deletions lg/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// Package lg is a layer/code generator. It parses Go packages into a metadata
// model (interfaces, structs, methods, fields, annotations), resolves embedded
// types, and renders templates — used to generate hexagonal layers from
// interface definitions.
package lg
4 changes: 4 additions & 0 deletions probe/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Package probe provides a small HTTP server that exposes liveness, readiness
// and status (health) endpoints plus optional pprof handlers, suitable for
// Kubernetes probes.
package probe
Loading