containers
containers copied to clipboard
Load Redis module like RedisSearch
Name and Version
bitnami/redis:latest
What is the problem this feature will solve?
It will allow the bitnami Kubernetes Helm Redis chart to offer FT.SEARCH capabilities, in particular HNSW indexes query
What is the feature you are proposing to solve the problem?
Add modules in the image as well as cusomising entrypoint/cmd scripts to load such modules
What alternatives have you considered?
I was thinking to use redis-stack but there are no helm charts for that.
Thanks for the suggestion, I just created an internal task to evaluate this feature. Due to the team capacity and other priorities we are working on, I can't provide an ETA for this evaluation. Because of that, I'm moving this issue to On hold
and we'll update it once we have more news.
As usual, the Bitnami team will be happy to review any contribution via PRs and provide feedback. Here you can find the contributing guidelines.
Until an official response is provided, you can use a custom image. Example Dockerfile
:
FROM docker.io/redislabs/redisearch:latest as redisearch
FROM docker.io/bitnami/redis:6.2.10
COPY --from=redisearch /usr/lib/redis/modules/redisearch.so /usr/lib/redis/modules/redisearch.so
COPY --from=redisearch /usr/lib/redis/modules/rejson.so /usr/lib/redis/modules/rejson.so
CMD ["/run.sh", "--loadmodule", "/usr/lib/redis/modules/redisearch.so", "--loadmodule", "/usr/lib/redis/modules/rejson.so"]
If you have a redis.conf
file, you'll need to manually add loadmodule
in the config file.
For example, if you're using the Bitnami Helm chart for Kubernetes, you have to override the YAML parameter values, using one of 2 options:
- Option 1:
master:
extraFlags: ["--loadmodule", "/usr/lib/redis/modules/redisearch.so", "--loadmodule", "/usr/lib/redis/modules/rejson.so"]
- Option 2:
master:
configuration: |-
loadmodule /usr/lib/redis/modules/redisearch.so
loadmodule /usr/lib/redis/modules/rejson.so
@carrodher if you're happy with this approach, I can submit a PR to update the documentation.
If you're using Bitnami Helm chart for Redis to deploy on Kubernetes, you can bypass creating custom images, by utilizing an Init Container to copy the RediSearch module from the RedisSearch Docker image. For example:
master:
initContainers:
- name: copy-redisearch-module
image: docker.io/redislabs/redisearch:latest
command: ['sh', '-c', 'cp /usr/lib/redis/modules/redisearch.so /modules && cp /usr/lib/redis/modules/rejson.so /modules']
securityContext:
runAsUser: 0
volumeMounts:
- name: redis-modules
mountPath: /modules
extraVolumes:
- name: redis-modules
emptyDir: {}
extraVolumeMounts:
- name: redis-modules
mountPath: /usr/lib/redis/modules
extraFlags: ["--loadmodule", "/usr/lib/redis/modules/redisearch.so", "--loadmodule", "/usr/lib/redis/modules/rejson.so"]
# configuration: |-
# loadmodule /usr/lib/redis/modules/redisearch.so
# loadmodule /usr/lib/redis/modules/rejson.so
Hi, thanks for creating this issue. After analyzing internally our priorities and due to other issues/initiatives we are working on, we didn't find the bandwidth to implement this feature.
Being said that, would you like to contribute by creating a PR to solve the issue? The Bitnami team will be happy to review it and provide feedback. Here you can find the contributing guidelines.
Hello @carrodher. Would you like me to submit a PR for the Configuration sections of:
Please confirm. Thanks!
This Issue has been automatically marked as "stale" because it has not had recent activity (for 15 days). It will be closed if no further activity occurs. Thanks for the feedback.
Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Issue. Do not hesitate to reopen it later if necessary.