Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
205b2c828d
|
||
|
|
b178b03289
|
||
|
|
6a6a951525
|
||
|
|
ad4cd5ec72
|
||
|
|
df462ca031
|
||
|
|
60226ecc01
|
||
|
|
8907fed474
|
@@ -4,6 +4,58 @@ All notable changes to this module are documented here.
|
||||
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
This module adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [1.4.0] — 2026-08-09
|
||||
|
||||
Minor — coordinated framework release: dependency refresh + lockstep version alignment.
|
||||
|
||||
### Changed
|
||||
|
||||
- Refreshed dependencies to their latest minor/patch where available.
|
||||
- Bumped `contracts`, `core` to v1.4.0.
|
||||
|
||||
## [1.3.0] — 2026-08-08
|
||||
|
||||
Minor — coordinated framework version alignment. No code or API changes in this module.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped `contracts`, `core` to v1.3.0.
|
||||
|
||||
## [1.2.0] — 2026-08-08
|
||||
|
||||
Minor — coordinated framework version alignment. No code or API changes in this module.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped `contracts`, `core` to v1.2.0.
|
||||
|
||||
## [1.1.3] — 2026-08-08
|
||||
|
||||
Patch — coordinated framework version alignment.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped einherjar dependencies (\`contracts\`, \`core\`) to v1.1.3. No code or API changes.## [1.1.2] — 2026-08-08
|
||||
|
||||
Patch — coordinated framework version alignment.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped `contracts`, `core` to v1.1.2. No code or API changes.
|
||||
|
||||
## [1.1.1] — 2026-08-07
|
||||
|
||||
Patch — corrected doc examples plus framework version alignment.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Package doc examples used a fictional `launcher.Register` / `health.Register` API; corrected to
|
||||
`lc.Append` + `web/health.NewHandler(...).ServeHTTP`. Verified by compiling against the real API.
|
||||
|
||||
### Changed
|
||||
|
||||
- Bumped `contracts` and `core` to v1.1.1.
|
||||
|
||||
## [1.1.0] — 2026-08-07
|
||||
|
||||
Coordinated framework version alignment — released in lockstep at v1.1.0.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# einherjar/cache-valkey
|
||||
|
||||
[](https://code.nochebuena.dev/einherjar/cache-valkey)
|
||||
[](https://code.nochebuena.dev/einherjar/cache-valkey)
|
||||
[](LICENSE)
|
||||
[](https://go.dev)
|
||||
[]()
|
||||
@@ -17,8 +17,9 @@ import cachevalkey "code.nochebuena.dev/einherjar/cache-valkey"
|
||||
vk := cachevalkey.New(logger, cachevalkey.Config{
|
||||
Addrs: []string{"localhost:6379"},
|
||||
})
|
||||
launcher.Register(vk) // OnInit → OnStart → OnStop
|
||||
health.Register(vk) // PING-based health check, LevelDegraded
|
||||
lc.Append(vk) // OnInit → OnStart → OnStop
|
||||
// vk is observability.Checkable (PING-based, LevelDegraded):
|
||||
srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
|
||||
```
|
||||
|
||||
## Connecting to other modules
|
||||
@@ -30,8 +31,8 @@ them directly to the consuming modules:
|
||||
```go
|
||||
// --- 1. Create the component (lifecycle + health + Provider) ---
|
||||
vk := cachevalkey.New(logger, cfg)
|
||||
launcher.Register(vk)
|
||||
health.Register(vk)
|
||||
lc.Append(vk)
|
||||
srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
|
||||
|
||||
// --- 2. Create adapters (one per consumer interface) ---
|
||||
// Each adapter wraps vk (a Provider) and satisfies one interface in another module.
|
||||
|
||||
+4
-3
@@ -7,10 +7,11 @@ import (
|
||||
|
||||
// Component is the full cache-valkey capability: lifecycle management, health checks,
|
||||
// and all Provider operations.
|
||||
// Register with launcher and health before starting the application:
|
||||
// Append it to a launcher, and wire a health endpoint (it satisfies
|
||||
// observability.Checkable):
|
||||
//
|
||||
// launcher.Register(vk)
|
||||
// health.Register(vk)
|
||||
// lc.Append(vk)
|
||||
// srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
|
||||
type Component interface {
|
||||
lifecycle.Component
|
||||
observability.Checkable
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
// # Quick start
|
||||
//
|
||||
// vk := cachevalkey.New(logger, cfg)
|
||||
// launcher.Register(vk) // lifecycle: OnInit → OnStart → OnStop
|
||||
// health.Register(vk) // health: PING-based, LevelDegraded
|
||||
// lc.Append(vk) // lifecycle: OnInit → OnStart → OnStop
|
||||
// // vk satisfies observability.Checkable (PING-based, LevelDegraded) — wire a health endpoint:
|
||||
// srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
|
||||
//
|
||||
// # Adapters
|
||||
//
|
||||
|
||||
@@ -3,9 +3,9 @@ module code.nochebuena.dev/einherjar/cache-valkey
|
||||
go 1.26
|
||||
|
||||
require (
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.0
|
||||
code.nochebuena.dev/einherjar/core v1.1.0
|
||||
github.com/valkey-io/valkey-go v1.0.54
|
||||
code.nochebuena.dev/einherjar/contracts v1.4.0
|
||||
code.nochebuena.dev/einherjar/core v1.4.0
|
||||
github.com/valkey-io/valkey-go v1.0.76
|
||||
)
|
||||
|
||||
require golang.org/x/sys v0.39.0 // indirect
|
||||
require golang.org/x/sys v0.47.0 // indirect
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.0 h1:GsGr6reyrd9qCc7D8CqbT1LWPTeeK9lT4r4EdsNA5Ro=
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
||||
code.nochebuena.dev/einherjar/core v1.1.0 h1:zxj9bFPthEEFRnvWV/vgNZqWa2y/kAo3p5pODWablyk=
|
||||
code.nochebuena.dev/einherjar/core v1.1.0/go.mod h1:Ot2JbjsnZ33Ed5C9Ev1kSn2PW+F4dLz/LRwIUh+fYt0=
|
||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
|
||||
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
|
||||
github.com/valkey-io/valkey-go v1.0.54 h1:pmFRGcMRJW8mHvsWLd/2MSgY6i3WNygpUl904KUaxao=
|
||||
github.com/valkey-io/valkey-go v1.0.54/go.mod h1:NE+C8cjb3+XvLazNhiorcLJGhJa9MBAkFNoAW/48/fk=
|
||||
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
|
||||
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
|
||||
golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
|
||||
golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
|
||||
golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
code.nochebuena.dev/einherjar/contracts v1.4.0 h1:rv/93dGXmXvO90G0uxCu8y3+5+EobkVvcoxh/BywIFk=
|
||||
code.nochebuena.dev/einherjar/contracts v1.4.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
||||
code.nochebuena.dev/einherjar/core v1.4.0 h1:YBRFzgeWNh8BCHueNYGo+V754BjzvJvq2CddJcc5ZjQ=
|
||||
code.nochebuena.dev/einherjar/core v1.4.0/go.mod h1:dILfAATF++TBeLOwUTQsYci+Ft7yK5ivt00iRYctfGk=
|
||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||
github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28=
|
||||
github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg=
|
||||
github.com/valkey-io/valkey-go v1.0.76 h1:Rcown7FFseVhG9b0+4MWfMs4xWu8otPzHjrsK044ET4=
|
||||
github.com/valkey-io/valkey-go v1.0.76/go.mod h1:6X581PhgfeMkJmyfjIsa2eFdq6dy3Qkkg9zwjM1p42M=
|
||||
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
|
||||
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
|
||||
golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA=
|
||||
golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs=
|
||||
golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
|
||||
golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
||||
golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8=
|
||||
golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M=
|
||||
|
||||
Reference in New Issue
Block a user