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

[CLI]: Verb/Option for configuring "behavioral" feature flags (--enable-feature-123) #2000

Open
severussundar opened this issue Jan 31, 2024 · 5 comments
Labels
cli config changes related to config enhancement New feature or request
Milestone

Comments

@severussundar
Copy link
Contributor

          To track as a separate issue, I think we should add a different `dab` command that helps to enable or disable a feature, should not be only possible through the `init` command - which is the case today.

Originally posted by @Aniruddh25 in #1983 (comment)

Create a new command to create/update feature flags in the config file.

@seantleonard
Copy link
Contributor

@severussundar can you elaborate on how this is different from feature introduced in #1983?

@seantleonard
Copy link
Contributor

seantleonard commented Mar 12, 2024

Let's keep in mind our discussion of feature flags: there will exist both:

  1. global feature flag section that holds true flags (--enable-feature1)
    • This work-item applies to this bullet.
  2. a separate notion of new configuration properties exclusive to a feature (e.g. cache, nested-mutations). - This workitem is unrelated to nestedmutations/inserts becuase Feature Flag for Nested Mutations: CLI changes #1983 implements nested mutations as an exclusive property within the global GraphQL config property -> --graphql.nested-create.enabled.

@seantleonard seantleonard changed the title New Command for feature flags CLI Verb/Option for configuring "behavioral" feature flags (--enable-feature-123) Mar 12, 2024
@severussundar
Copy link
Contributor Author

Let's keep in mind our discussion of feature flags: there will exist both:

  1. global feature flag section that holds true flags (--enable-feature1)

    • This work-item applies to this bullet.
  2. a separate notion of new configuration properties exclusive to a feature (e.g. cache, nested-mutations). - This workitem is unrelated to nestedmutations/inserts becuase Feature Flag for Nested Mutations: CLI changes #1983 implements nested mutations as an exclusive property within the global GraphQL config property -> --graphql.nested-create.enabled.

Right now, the feature flag values (setting enabled:true/false, etc.) is possible only through init command. Also, this section of the config file cannot be updated using a CLI command as dab update is for updating fields under entities section only. This would mean that to update the feature flag values, users have to hand-edit the config file.

The goal is to come up with a new command that facilitates updating the feature flag related options. Having a global section in the config file will make it intuitive and also easy to implement.

Note: Although introducing a new Verb/Option will make the experience better, IMHO, shouldn't be a blocker for GA as users still have a way to enable/disable the feature (as well as configure feature specific properties).

@seantleonard seantleonard modified the milestones: 0.12rc, 1.1rc Mar 15, 2024
@seantleonard
Copy link
Contributor

Not nested mutation specific, but need to revisit in 1.1 to determine whether this is required immediately.

@seantleonard seantleonard modified the milestones: 1.1rc, 1.2rc Apr 30, 2024
@seantleonard seantleonard changed the title CLI Verb/Option for configuring "behavioral" feature flags (--enable-feature-123) [CLI]: Verb/Option for configuring "behavioral" feature flags (--enable-feature-123) May 14, 2024
@seantleonard seantleonard added the enhancement New feature or request label May 14, 2024
@seantleonard
Copy link
Contributor

we need task to add new config field here for behavioral feature flags before this is implemented

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cli config changes related to config enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants