vitess icon indicating copy to clipboard operation
vitess copied to clipboard

LFX: Enhance flag support across Vitess components (Tracking Issue)

Open rohit-nayak-ps opened this issue 10 months ago • 4 comments

Notes for Potential LFX Mentees:

This project is part of the LFX program. More information at https://github.com/cncf/mentoring/tree/main/programs/lfx-mentorship/README.md. For mentees, details on how to apply are at https://github.com/cncf/mentoring/tree/main/programs/lfx-mentorship#how-to-apply. For those thinking of applying, the contribution guide has information on learning both golang and Vitess concepts for someone new to Vitess.

:warning: If you're thinking about opening PRs to the project before the application period begins, please read the initial sections regarding contribution guidelines and advice from a previous gsoc project!

Please do not email or DM the mentors or other Vitess maintainers, on this issue, Slack or elsewhere in this regard: your LFX application should speak for itself. If you have any questions that you think are unanswered in the issue description, please ask them in the #lfx channel and we'll be happy to answer. 🙏🏽

Feature Description

As part of a major Vitess Flag Restructure Vitess v17 introduced viper, a library to provide unified configuration management, to the project.

This also supports dynamic flag configuration . While some parts of Vitess has been modified to take advantage of this feature, there are several components that are either yet to adopt it or have only partially adopted it.

In addition we have been deprecating flags with underscores in preference to ones with dashes. We will be completely removing the deprecated flags in v24 and hence need to make the required changes asap.

This is an umbrella issue for adding dynamic flag support and the flag renaming.

Previous PRs related to this:

  • https://github.com/vitessio/vitess/pull/11456
  • https://github.com/vitessio/vitess/pull/17218
  • https://github.com/vitessio/vitess/pull/17328
  • https://github.com/vitessio/vitess/pull/17419
  • https://github.com/vitessio/vitess/pull/17430

Action items

This is an initial set which will be updated before the project starts.

Dynamic Flags

  • [ ] Make required changes for vttablet
    • [ ] Re-work and complete https://github.com/vitessio/vitess/pull/14548
    • [ ] Replace existing yaml config support with standard viper implementation
    • [ ] Identify remaining config that can be made dynamic and implement
  • [ ] Make required changes for vtgate
  • [ ] Make required changes for vtctld
  • [ ] Review and update Documentation on vitess.io
  • [ ] Review and update Examples

Flag Renaming

  • [ ] Review codebase and make required changes. It is highly recommended to use scripting to make all the edits at once versus doing them by hand. #17880
  • [ ] Review and update Documentation on vitess.io
  • [ ] Review and update Examples

rohit-nayak-ps avatar Feb 03 '25 20:02 rohit-nayak-ps

Hi Maintainer, I’m really excited about this project! I’ve been exploring Vitess and have already set up the repository. My tech stack includes Go, Java, and python. I would love to contribute to Vitess. I'm planning to submit a project proposal for this issue in the LFX Term 1 2025. Looking forward to contributing!

harshal-rembhotkar avatar Feb 13 '25 07:02 harshal-rembhotkar

Hi @rohit-nayak-ps

I'm proficient in Go, Rust, and good enough in k8s; and have worked with configuration and testing during my GSoC. This project aligns with my experience, and would love to contribute to it.

As I understand, we are to fully incorporate Viper in the Vitess codebase, along with standardization of flags (preferring dashes over underscores).

What is the pretest for this ? Or should I start by contributing in the currently open issues in the repo ?

Thanks.

literalEval avatar Feb 13 '25 14:02 literalEval

@harshal-rembhotkar @literalEval Hey, not a Vitess developer or maintainer here, just strolling forth. I think your excitement as newcomers (at least @harshal-rembhotkar seems to be one) to a project as well as the LFX opportunity is understandable, but don't you think if you truly wish to be involved, you should read what's written at the very beginning of the issue description above:

Please do not email or DM the mentors or other Vitess maintainers, on this issue, Slack or elsewhere in this regard: your LFX application should speak for itself. If you have any questions that you think are unanswered in the issue description, please ask them in the #lfx channel and we'll be happy to answer.

And if you have been able to invest some time reading it, don't you think we should respect it? Again, I am not here to compete, nor am I interested in this issue or the project, but us Indians already have a not-so-good image in open source about being philosophically inclined with the initiative, or respecting guidelines. Let's try to do better.

subhramit avatar Feb 21 '25 02:02 subhramit

@harshal-rembhotkar @literalEval Hey, not a Vitess developer or maintainer here, just strolling forth. I think your excitement as newcomers (at least @harshal-rembhotkar seems to be one) to a project as well as the LFX opportunity is understandable, but don't you think if you truly wish to be involved, you should read what's written at the very beginning of the issue description above:

Please do not email or DM the mentors or other Vitess maintainers, on this issue, Slack or elsewhere in this regard: your LFX application should speak for itself. If you have any questions that you think are unanswered in the issue description, please ask them in the #lfx channel and we'll be happy to answer.

And if you have been able to invest some time reading it, don't you think we should respect it? Again, I am not here to compete, nor am I interested in this issue or the project, but us Indians already have a not-so-good image in open source about being philosophically inclined with the initiative, or respecting guidelines. Let's try to do better.

I appreciate you pointing this out. I genuinely respect the guidelines and the community's expectations.

harshal-rembhotkar avatar Feb 21 '25 05:02 harshal-rembhotkar