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

v1 roadmap #1

Open
9 tasks
nrvnrvn opened this issue Jun 15, 2022 · 0 comments
Open
9 tasks

v1 roadmap #1

nrvnrvn opened this issue Jun 15, 2022 · 0 comments

Comments

@nrvnrvn
Copy link
Owner

nrvnrvn commented Jun 15, 2022

From amaizfinance/redis-operator#12:
This is an umbrella issue to hold a checklist of tasks for a v1 release.

  • refactor pkg/redis. It works fine and it was written with Redis Sentinel in mind but it is worth reviewing the implementation in order to make it less coupled internally and more testable and transparent.
  • loose control over created resources, especially StatefulSet. Current approach cherry picks bits from the StatefulSet spec and it makes sense to turn Redis CRD into a thin StatefulSet wrapper to give end users more control over the generated StatefulSet hence Pods and containers (Support for initialDelaySeconds and init containers amaizfinance/redis-operator#9 is an example feature request and it is clear that it is not the last. Other kubernetes operators dealing with the same problem end up with a messed API. Feel free to look at the most popular operators, their type definitions and requests to add missing container and Pod Spec fields and you will understand what I mean).
  • remove redis exporter container. There are different scenarios of gathering metrics, and side-container pattern is just one of them. Provide a short instruction on how to connect an exporter.
  • upgrade to kubebuilder v3 #8. operator-sdk is built on top of kubebuilder adding very little in exchange (see What is the difference between kubebuilder and operator-sdk operator-framework/operator-sdk#1758)
  • allow concurrent reconciliation (see any plans to change : current implementation is limited to reconfiguring one Redis replication at a time #2)
  • replace Drone CI with github actions AND gitlab CI.
  • synchronize main branch between gitlab and github.
  • replace Docker Hub with Gitlab Container Registry and Github container registry.
  • replace bazel with kaniko for building container images and native go build command. Reason: bazel configuration does not seem to "age" well providing an extra layer of maintenance. Reproducability of builds stays as a requirement.

This list is subject to be extended. Discussion is open. Any feedback is welcome!

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

1 participant