Redis Deployment Guide - Self-Managed Repository Integrations

This guide provides the recommended Redis deployment instructions provided by Mend.io Professional Services Architects for Remediate/Renovate(R/R) which is a part of the Self-Hosted Repo Integration.

10,000 repositories or greater

For large deployments, a 3-node Redis cluster (single shard, cluster mode disabled) using 2 core X 8GB hosts is recommended.  All R/R workers and the server will read/write as required to the primary Redis node.  For multi-region support for disaster recovery or active/active, stand-up independent Redis clusters in each region.  Replication is not required or recommended.  Cache is in-memory only.  No need to persist the cache to disk. 

1,000-10,000 repositories

For smaller deployments or when fault tolerance and/or disaster recovery are not required, a single-node Redis server/container can be deployed using a 2 core x 4GB host/pod.


We recommend deploying Redis external to the Self-Hosted Repo Integration cluster to maintain cache integrity if/when the cluster is redeployed.  The Self-Hosted Repo Integration is fully compatible with AWS ElastiCache managed Redis service, there are instructions on how to set up a Self-Hosted Integration with AWS Elasticache here.

To enable Redis for the R/R containers, simply add the Redis cluster URL as an environment variable to the Remediate-server and Remediate-Workers K8s (or Docker Compose) services.  See Renovate On-Prem docs.  If you require authentication (recommended), you add the password to the url, e.g. 

RENOVATE_REDIS_URL=redis://[:PASSWORD@]HOST[:PORT][/DATABASE]

For TLS protocol (recommended), use rediss:// url scheme instead.

As always, these are general guidelines only.  Monitor Redis utilization after changes to determine your actual best sizing and host specifications.