Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e73972cbd5
|
||
|
|
f8334f08d1
|
||
|
|
f0d1724d06
|
||
|
|
0bef8ceb83
|
||
|
|
205b2c828d
|
||
|
|
b178b03289
|
||
|
|
6a6a951525
|
||
|
|
ad4cd5ec72
|
||
|
|
df462ca031
|
||
|
|
60226ecc01
|
||
|
|
8907fed474
|
@@ -4,6 +4,93 @@ All notable changes to this module are documented here.
|
|||||||
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
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).
|
This module adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [1.7.1] — 2026-08-14
|
||||||
|
|
||||||
|
Patch — coordinated framework release (lockstep versioning). No changes to this module's own API.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Bumped einherjar dependencies to v1.7.1. The change in this release is `spa-server`'s corrected
|
||||||
|
MIME type for the PWA web app manifest (`.webmanifest` → `application/manifest+json`).
|
||||||
|
|
||||||
|
## [1.7.0] — 2026-08-14
|
||||||
|
|
||||||
|
Minor — coordinated framework release (lockstep versioning). No changes to this module's own API.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Bumped einherjar dependencies to v1.7.0. The behavioural changes in this release are in `spa-server`
|
||||||
|
(per-file Cache-Control, a navigation-scoped SPA fallback, nosniff, and a non-root image).
|
||||||
|
|
||||||
|
## [1.6.0] — 2026-08-13
|
||||||
|
|
||||||
|
Minor — coordinated framework release (lockstep versioning). No changes to this module's own API.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Bumped einherjar dependencies to v1.6.0. The framework-wide change in this release is
|
||||||
|
`web`'s new `httputil.Bind` / `httputil.BindEmpty` request-binding adapters.
|
||||||
|
|
||||||
|
## [1.5.0] — 2026-08-09
|
||||||
|
|
||||||
|
Minor — coordinated framework version alignment. No code or API changes in this module.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Bumped `contracts`, `core` to v1.5.0.
|
||||||
|
|
||||||
|
## [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
|
## [1.1.0] — 2026-08-07
|
||||||
|
|
||||||
Coordinated framework version alignment — released in lockstep at v1.1.0.
|
Coordinated framework version alignment — released in lockstep at v1.1.0.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# einherjar/cache-valkey
|
# einherjar/cache-valkey
|
||||||
|
|
||||||
[](https://code.nochebuena.dev/einherjar/cache-valkey)
|
[](https://code.nochebuena.dev/einherjar/cache-valkey)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
[](https://go.dev)
|
[](https://go.dev)
|
||||||
[]()
|
[]()
|
||||||
@@ -17,8 +17,9 @@ import cachevalkey "code.nochebuena.dev/einherjar/cache-valkey"
|
|||||||
vk := cachevalkey.New(logger, cachevalkey.Config{
|
vk := cachevalkey.New(logger, cachevalkey.Config{
|
||||||
Addrs: []string{"localhost:6379"},
|
Addrs: []string{"localhost:6379"},
|
||||||
})
|
})
|
||||||
launcher.Register(vk) // OnInit → OnStart → OnStop
|
lc.Append(vk) // OnInit → OnStart → OnStop
|
||||||
health.Register(vk) // PING-based health check, LevelDegraded
|
// vk is observability.Checkable (PING-based, LevelDegraded):
|
||||||
|
srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Connecting to other modules
|
## Connecting to other modules
|
||||||
@@ -30,8 +31,8 @@ them directly to the consuming modules:
|
|||||||
```go
|
```go
|
||||||
// --- 1. Create the component (lifecycle + health + Provider) ---
|
// --- 1. Create the component (lifecycle + health + Provider) ---
|
||||||
vk := cachevalkey.New(logger, cfg)
|
vk := cachevalkey.New(logger, cfg)
|
||||||
launcher.Register(vk)
|
lc.Append(vk)
|
||||||
health.Register(vk)
|
srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
|
||||||
|
|
||||||
// --- 2. Create adapters (one per consumer interface) ---
|
// --- 2. Create adapters (one per consumer interface) ---
|
||||||
// Each adapter wraps vk (a Provider) and satisfies one interface in another module.
|
// 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,
|
// Component is the full cache-valkey capability: lifecycle management, health checks,
|
||||||
// and all Provider operations.
|
// 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)
|
// lc.Append(vk)
|
||||||
// health.Register(vk)
|
// srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
|
||||||
type Component interface {
|
type Component interface {
|
||||||
lifecycle.Component
|
lifecycle.Component
|
||||||
observability.Checkable
|
observability.Checkable
|
||||||
|
|||||||
@@ -4,8 +4,9 @@
|
|||||||
// # Quick start
|
// # Quick start
|
||||||
//
|
//
|
||||||
// vk := cachevalkey.New(logger, cfg)
|
// vk := cachevalkey.New(logger, cfg)
|
||||||
// launcher.Register(vk) // lifecycle: OnInit → OnStart → OnStop
|
// lc.Append(vk) // lifecycle: OnInit → OnStart → OnStop
|
||||||
// health.Register(vk) // health: PING-based, LevelDegraded
|
// // vk satisfies observability.Checkable (PING-based, LevelDegraded) — wire a health endpoint:
|
||||||
|
// srv.Get("/health", health.NewHandler(logger, vk).ServeHTTP)
|
||||||
//
|
//
|
||||||
// # Adapters
|
// # Adapters
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -3,9 +3,9 @@ module code.nochebuena.dev/einherjar/cache-valkey
|
|||||||
go 1.26
|
go 1.26
|
||||||
|
|
||||||
require (
|
require (
|
||||||
code.nochebuena.dev/einherjar/contracts v1.1.0
|
code.nochebuena.dev/einherjar/contracts v1.7.1
|
||||||
code.nochebuena.dev/einherjar/core v1.1.0
|
code.nochebuena.dev/einherjar/core v1.7.1
|
||||||
github.com/valkey-io/valkey-go v1.0.54
|
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.7.1 h1:9FEW1HP+osiZT1OQE4gE9QAafIkvLSja0pRmSWX8gyA=
|
||||||
code.nochebuena.dev/einherjar/contracts v1.1.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
code.nochebuena.dev/einherjar/contracts v1.7.1/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
||||||
code.nochebuena.dev/einherjar/core v1.1.0 h1:zxj9bFPthEEFRnvWV/vgNZqWa2y/kAo3p5pODWablyk=
|
code.nochebuena.dev/einherjar/core v1.7.1 h1:NJZSx6hBVFUGbvPZ2X/WSiwzI//e5zR4AhSqA2ufvsM=
|
||||||
code.nochebuena.dev/einherjar/core v1.1.0/go.mod h1:Ot2JbjsnZ33Ed5C9Ev1kSn2PW+F4dLz/LRwIUh+fYt0=
|
code.nochebuena.dev/einherjar/core v1.7.1/go.mod h1:hhCB05RXJ5z4yZbfupeil130lAFnEJM/xPdqhfudCVA=
|
||||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||||
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
|
github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28=
|
||||||
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
|
github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg=
|
||||||
github.com/valkey-io/valkey-go v1.0.54 h1:pmFRGcMRJW8mHvsWLd/2MSgY6i3WNygpUl904KUaxao=
|
github.com/valkey-io/valkey-go v1.0.76 h1:Rcown7FFseVhG9b0+4MWfMs4xWu8otPzHjrsK044ET4=
|
||||||
github.com/valkey-io/valkey-go v1.0.54/go.mod h1:NE+C8cjb3+XvLazNhiorcLJGhJa9MBAkFNoAW/48/fk=
|
github.com/valkey-io/valkey-go v1.0.76/go.mod h1:6X581PhgfeMkJmyfjIsa2eFdq6dy3Qkkg9zwjM1p42M=
|
||||||
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
|
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
|
||||||
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
|
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
|
||||||
golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
|
golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA=
|
||||||
golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs=
|
||||||
golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
|
golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
|
||||||
golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
|
golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8=
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M=
|
||||||
|
|||||||
Reference in New Issue
Block a user