Skip to content

Add Feature Management schema #871

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

Merged
merged 7 commits into from
Feb 21, 2024

Conversation

zhiyuanliang-ms
Copy link
Contributor

@zhiyuanliang-ms zhiyuanliang-ms commented Feb 6, 2024

This feature management schema will be provided by the Kubernetes provider and it would be recognized by client Feature Management libraries. It would be better to place the schema in the App Config repo instead of the Feature Management repo, as discussed here

"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://azconfig.io/schemas/FeatureManagement/v1.0.0/FeatureManagement.json",
"type": "object",
"title": "An Azure App Configuration Feature Management Configuration",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say this is Microsoft Feature Management schema.

The schema that describes individual flag is the Microsoft Feature Flag Schema.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the idea naming this schema as Microsoft Feature Management.
@zhenlan

As discussed in the email thread, snake_casing will be used:

"feature_management": {
  "feature_flags": [
     {
       // Microsoft feature flag schema
     }
  ]
}

"title": "Feature Flags",
"description": "Declares feature flags based on Microsoft Feature Flag schema.",
"items": {
"$ref": "http://azconfig.io/schemas/FeatureManagement/v1.1.0/FeatureFlag.json"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ref should be the uri of the file rather than the $id. I believe ./FeatureFlag.v1.1.0.schema.json would work, but to make it work without folder context- I think we should do: https://github.com/Azure/AppConfiguration/blob/main/docs/FeatureManagement/FeatureFlag.v1.1.0.schema.json

"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://azconfig.io/schemas/FeatureManagement/v1.0.0/FeatureManagement.json",
"type": "object",
"title": "A Microsoft Feature Management Configuration",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"title": "A Microsoft Feature Management Configuration",
"title": "The Microsoft Feature Management Schema",

@zhiyuanliang-ms zhiyuanliang-ms merged commit 5818eea into main Feb 21, 2024
@zhenlan zhenlan deleted the zhiyuanliang/add-feature-management-schema branch April 15, 2024 18:29
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

Successfully merging this pull request may close these issues.

5 participants