redis+sentinel issues after upgrading to 2.13
Expected behavior and actual behavior: The docs say to to specify the redis+sentinel configuration like so.
addr for redis+sentinel: <host_sentinel1>:<port_sentinel1>,<host_sentinel2>:<port_sentinel2>,<host_sentinel3>:<port_sentinel3>Which worked fine in Harbor 2.11.
However after upgrading to 2.13.1 the registry POD throws this error all the time.
time="2025-09-04T16:14:24.466319955Z" level=error msg="error connecting to redis instance redis-sentinel-0.redis-sentinel-headless:26379,redis-sentinel-1.redis-sentinel-headless:26379,redis-sentinel-2.redis-sentinel-headless:26379: dial tcp: address redis-sentinel-0.redis-sentinel-headless:26379,redis-sentinel-1.redis-sentinel-headless:26379,redis-sentinel-2.redis-sentinel-headless:26379: too many colons in address" go.version=go1.24.4 instance.id=9f42333d-c19e-4786-b337-793ae0de7c7a service=registry version=v2.13.1The other PODs that use redis do not appear to have this error and are working fine.
If I specify a single redis sentinel the connection error goes away however I then get this error.
time="2025-09-04T17:01:27.124001955Z" level=error msg="redis: error connecting: ERR unknown command 'SELECT', with args beginning with: '2' " go.version=go1.24.4 instance.id=b9070f8e-909b-478a-b3ff-0c675231d934 redis.connect.duration=12.859449ms service=registry version=v2.13.1If I change the registryDatabaseIndex setting from the default of "2" to "0" the error goes away.
Steps to reproduce the problem: Deploy the harbor-helm chart pointing to an external redis+sentinel configuration.
redis:
type: external
external:
addr: redis-sentinel-0.redis-sentinel-headless:26379,redis-sentinel-1.redis-sentinel-headless:26379,redis-sentinel-2.redis-sentinel-headless:26379
# addr: redis-sentinel:26379
sentinelMasterSet: harbor
# registryDatabaseIndex: "0"Then pull an image and check the harbor registry POD logs for redis errors.
Versions: Please specify the versions of following systems.
- harbor version: 2.13.1
- docker engine version: N/A
- docker-compose version: N/A
Additional context:
Source: goharbor/harbor