Skip to content

v1.7.0 — derive the Redis image

Choose a tag to compare

@pianomansam pianomansam released this 18 Sep 17:26
· 16 commits to master since this release
d9cca5c

Derive the Redis image from .platform/services.yaml

ddev rdg-sync now also writes .ddev/.env.redis, pinning REDIS_DOCKER_IMAGE to the
version the hosted service declares — when the app relates a Redis service and the
ddev-redis add-on is installed.

services.yaml was already an input to this command (read for the database, hashed into
the staleness guard), so the version was sitting there unused.

Why pin. The ddev-redis default is a floating redis:7, and an unpinned major
floats: redis:8 resolves to 8.10 today while the hosted service runs 8.0.6. Two Redis
minors apart is not a difference worth meeting in production.

Notes

  • A valkey: service type derives to the Valkey image.
  • Relationship-driven: a Redis service the app doesn't relate to is ignored.
  • Written only when ddev-redis is installed; removed again only when the file carries
    the generated marker — ddev redis-backend writes the same path without one.
  • Changing the version needs the cache volume dropped, at least downwards
    (Can't handle RDB format version N). It's a cache:
    ddev stop && docker volume rm ddev-<project>_redis && ddev start.

Upgrading from v1.5.1 also brings v1.6.0's .ddev/rdg-native opt-out.

148 tests pass.