bzp2010 opened a new issue #2148: URL: https://github.com/apache/apisix-dashboard/issues/2148
# Feature request ## Background At present, some plugins in Apache APISIX have metadata configuration items. The current dashboard project cannot support setting these contents. We need to support it. This requires adding APIs at the backend and pages at the frontend. ### About metadata Metadata is a mechanism provided by Apache APISIX to store some global configuration content for plugins. It is different from plugin configuration on route or other entities. It is globally effective for plugins and takes plugins as dimensions. (for example, after configuring the metadata of `authz-caspin` plugin, the plugin on any route or service can obtain the content stored in the metadata) ### A plugin can support metadata? We can easily distinguish whether a plugin needs metadata configuration. Plugins with the following structure in the plugin list of the built-in schema.json file in dashboard can support metadata configuration. <img src="https://user-images.githubusercontent.com/8078418/134772532-e20aaec2-4655-4642-99a9-ea56910625db.png"/> ## Proposal ### Backend 1. Plugin List API Read the metadata in the plugin information by traversing schema.json‘s schema property to generate a list of plugins that need metadata configuration and the property rules of plugins. - URI: `/apisix/admin/plugin_metadata` - Method: `GET` 2. Plugin Metadata Update API According to the characteristics of plugin metadata, I think we only need to obtain and update APIs, rather than create API. When users want to create metadata, they can directly update the data JSON and store it in etcd - URI: `/apisix/admin/plugin_metadata/{plugin_name}` - Method: `PUT` 3. Plugin Metadata Delete API Provides the function of clearing metadata data of plugin - URI: `/apisix/admin/plugin_metadata/{plugin_name}` - Method: `DELETE` ### Frontend 1. Plugin List page Obtain plugins and their data from the plugin list API (the effect is shown below, but only the plugins that need to configure metadata are displayed)  2. Plugin Metadata Setting page Provide an input box that supports JSON and YAML, run users to input metadata data, and support input prompts. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
