Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flexible Configuration #20

Closed
adamresson opened this issue Jan 31, 2018 · 3 comments
Closed

Flexible Configuration #20

adamresson opened this issue Jan 31, 2018 · 3 comments

Comments

@adamresson
Copy link

I'm wondering if you guys have it in your backlog to make the operator a little more configurable, and/or if you accept public pull requests.

A couple pieces of configurability I think would could make this more flexible:

  • Allow specifying specific redis config properties in the CRD
  • Allow specifying a different redis image (for instance if you wanted to use redis 4 instead of 3.2)

I've investigated trying to use it, but run up against some hurdles that I've had to fork and hardcode some custom configuration in. Specifically, I want to be able to define maxmemory and maxmemory-policy.

I don't have much experience with Go, so I've just hacked those lines into generate-server-config like so:

echo "maxmemory 2056mb" >> ${config}
echo "maxmemory-policy allkeys-lru" >> ${config} 

Currently, in order to do this I have to:

  • Build and publish a docker image with a custom toolkit
  • Build, publish and deploy a docker image with a new operator that uses this new toolkit (and new redis image)

Thanks!

@ese
Copy link
Member

ese commented Jan 31, 2018

@adamresson For sure PRs are very welcome.

Currently we are working on a library to abstract common tasks in operators and controllers so we can reuse it in different projects we are working. We expect to release it soon as component of redis-operator also.
Allow custom redis image is pretty simple so it would be implemented once we have the library ready.
Use specific redis config is not in our priorities right now but we will keep it in mind.

@adamresson
Copy link
Author

Sounds good. Thanks @ese . I might wait until you have that common stuff refactored out since it sounds like that could affect things pretty significantly. Keep up the great work :)

@devlounge
Copy link

devlounge commented Feb 6, 2018

Great, I was about to ask the same questions:

  • we would want to be able to use Redis 4 instead of 3.2
  • be able to tweak some settings in the definition, you could leverage configmaps internally
  • be able to set a Redis password
  • have the ability to ask for persistence (you can leverage volumeClaimTemplates on the StatefulSet)
  • be able to customize the api and CRD @NAMEs

Amazing work, I just wish I knew Go so that I could contribute or add these features on a fork

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants