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

☂️ Re-write etcd-backup-restore as etcd-steward, with EtcdMember updation capabilities #1

Open
1 of 34 tasks
Tracked by #702
shreyas-s-rao opened this issue Oct 10, 2023 · 0 comments
Open
1 of 34 tasks
Tracked by #702
Assignees
Labels
kind/enhancement Enhancement, improvement, extension
Milestone

Comments

@shreyas-s-rao
Copy link
Collaborator

shreyas-s-rao commented Oct 10, 2023

How to categorize this issue?

/area quality robustness usability open-source
/kind enhancement cleanup api-change task

What would you like to be added:
I would like etcd-backup-restore to be refactored, ie, re-written, with components that can be individually turned on/off and provide well-defined interfaces and channels that can be easily consumed by other components within and outside the system. I would like this new replacement of etcd-backup-restore to be lean, modular, well-tested and extensible. I would like the etcd bootstrapping process to be simplified and more maintainable. I would the memory footprint for etcd DB restoration to be reduced. I would like garbage collection of snapshots to be simple and easy to understand.

Why is this needed:
The issues mentioned above cannot be solved within the old repository, sue to various reasons such as testability, backward compatibility concerns, component-wise changes to the code, which require changes in every other component anyway. The only way to roll out a new version of etcd-backup-restore is to fully re-write its components from scratch, possibly re-using existing code snippets from the old code. The name "etcd-backup-restore" is no longer relevant since the code does much more than just backups and restorations - it takes care of maintenance of the etcd DB, along with updation of k8s resources such as member leases and EtcdMember resources that are used by druid for computing etcd cluster status and performing other actions such as compaction or remediations, as specified in the EtcdMember proposal. Accordingly, the name "etcd-backup-restore" needs to be evolved into something that correctly depicts what the code does, which is to manage or look after the etcd, like a steward.

Task List:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Enhancement, improvement, extension
Projects
None yet
Development

No branches or pull requests

3 participants