go-redis 9.19.0 to 9.23.0, mongo-driver 2.6.0 to 2.9.2, gocb 2.12.3 to
2.13.0, go-sql-driver/mysql 1.10.0 to 1.10.1, and their transitive modules.
The update raises the module's go directive to 1.26, so the builder image
moves from golang:1.25-alpine to the moving major tag golang:1-alpine.
- Each connect attempt, including initialization, times out after 1 minute,
and PostgreSQL DSNs without connect_timeout get connect_timeout=30, since
lib/pq honours the context only while dialing.
- A service increments right after connecting, so a restart writes even
when the interval outlasts the process.
- A config path that is a directory (Docker's stand-in for a missing
bind-mount source) fails with a clear message.
- Generated service names take the first free suffix, and suffixed names
are reserved so an explicit name cannot silently collide with them.
- counter_key inside a service's config map is rejected instead of being
overwritten.
- Unknown keys in the config file log a warning without blocking start.
- A .dockerignore keeps local configs and .env out of the build context.
A failed connect or tick now closes the connection and reconnects after one
minute, re-running initialization so a dropped table or row is recreated.
Before, a failing tick logged every interval forever and connect retries
logged every 10 seconds.
Connection URLs that fail to parse no longer appear in logs, since their
error repeats the password.
An unknown adapter or a missing required config key now stops keepalive at
startup instead of silently idling one service.
Increment read the counter and wrote it back, ignoring the tick context, and
treated any read error as a missing document, so a timeout reset the counter
to 1. A single binary increment is atomic, honours the context, and surfaces
real errors. The cluster is also assigned only after a successful connect so
a failed connect is not closed twice.
Valkey speaks the Redis protocol, so the redis adapter (go-redis) already
serves it. Dropping valkey-go removes a dependency and shrinks the stripped
binary by about 9 MB.
The redis adapter now also closes a client that failed to connect only once.
BREAKING CHANGE: `adapter: valkey` is no longer accepted. Use
`adapter: redis` with a redis:// or rediss:// URL instead of valkey:// or
valkeys://. The namespace option now applies to these services.
Drop container_name and the local image tag, which conflict with Coolify's own container and image naming, and expose the configured app port without publishing it. Document the Coolify file storage for config.yml.
Their full histories remain under redis/, valkey/, postgresql/, mysql/, mongodb/,
and couchbase/ in earlier commits; keepalive itself implements all of them.
Consolidates the *-keepalive family (redis, valkey, postgresql, mysql,
mongodb, couchbase) into a single binary with a runtime DB_TYPE dispatch
and an Adapter interface. Original repos archived with a pointer here.