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

Generic way to toggle data.all features #473

Closed
blitzmohit opened this issue May 23, 2023 · 3 comments
Closed

Generic way to toggle data.all features #473

blitzmohit opened this issue May 23, 2023 · 3 comments
Labels
status: in-progress This issue has been picked and is being implemented type: modularization Code refactoring project

Comments

@blitzmohit
Copy link
Contributor

blitzmohit commented May 23, 2023

Is your feature request related to a problem? Please describe.
I'm trying to turn off certain features that are not needed in our instance of data.all

Describe the solution you'd like
Ability to turn off/disable features via a single configuration, with support for the following features:

  1. Pipelines
  2. ML Studio
  3. Notebooks
  4. Worksheets

For the implementation it should include the following:

  • Documented set of features that can be toggled
  • Ability to toggle stacks, i.e. if the feature is disabled the related stack is not created
  • Ability to toggle Backend APIs
  • Ability to toggle Frontend UI components
@dlpzx
Copy link
Contributor

dlpzx commented May 24, 2023

Hi @blitzmohit, this task is tackled in the modularization work that is on-going for the backend and frontend.

From your points:

  • Documented set of features that can be toggled --> not yet, we will finish the modularization and then we will document every module.
  • Ability to toggle stacks, i.e. if the feature is disabled the related stack is not created --> part of backend modularization
  • Ability to toggle Backend APIs --> part of backend modularization
  • Ability to toggle Frontend UI components --> part of frontend modularization

Here is a list of PRs where this work has been done or is in progress:

@blitzmohit
Copy link
Contributor Author

blitzmohit commented May 31, 2023

Thanks @dlpzx for sharing the detailed list. As discussed I am using the modularization-main branch now.

For toggling of features inside the backend modules, I have been testing with a decorator similar to ones defined in permission_checker, this would read the property specified from the global config (dataall.core.config) and can be added to specific resolvers we need to disable. Sample code: https://github.com/awslabs/aws-dataall/compare/modularization-main...blitzmohit:modularization_feature_toggle?expand=1#diff-1d8a290d70ece43c4e742c1abefdff15ea551fb035528e0c17347eb388141e1aR1-R21

@noah-paige @dlpzx Please share your thoughts on the approach & any other recommendations on how feature toggling would work inside the modules or even core if needed.

@anmolsgandhi anmolsgandhi added status: in-progress This issue has been picked and is being implemented type: modularization Code refactoring project and removed status: needs more info labels Sep 7, 2023
@noah-paige
Copy link
Contributor

The above issue is addressed in the following PRs:

Closing this issue as complete!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: in-progress This issue has been picked and is being implemented type: modularization Code refactoring project
Projects
None yet
Development

No branches or pull requests

4 participants