This is an automated email from the ASF dual-hosted git repository.

bzp2010 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git


The following commit(s) were added to refs/heads/master by this push:
     new 960ccca61 feat: basic support Apache APISIX 2.15.0 (#2680)
960ccca61 is described below

commit 960ccca612776f3a6f455d49e883cc049a5ab48c
Author: Zeping Bai <bzp2...@apache.org>
AuthorDate: Wed Dec 7 10:45:47 2022 +0800

    feat: basic support Apache APISIX 2.15.0 (#2680)
---
 api/conf/conf.yaml                 |   42 +-
 api/conf/schema.json               | 2643 ++++++++++++++++++++++++++++++++----
 api/test/e2e/schema/schema_test.go |   22 +-
 web/src/components/Plugin/data.tsx |  256 ++--
 4 files changed, 2531 insertions(+), 432 deletions(-)

diff --git a/api/conf/conf.yaml b/api/conf/conf.yaml
index 13ce71b14..01d404882 100644
--- a/api/conf/conf.yaml
+++ b/api/conf/conf.yaml
@@ -91,49 +91,79 @@ oidc:
   redirect_url: http://127.0.0.1:9000/apisix/admin/oidc/callback
   scope: openid
 
-plugins:                          # plugin list (sorted in alphabetical order)
+plugins:
   - api-breaker
+  - authz-casbin
+  - authz-casdoor
   - authz-keycloak
+  - aws-lambda
+  - azure-functions
   - basic-auth
-  - batch-requests
+  # - batch-requests
+  - clickhouse-logger
+  - client-control
   - consumer-restriction
   - cors
+  - csrf
+  - datadog
   # - dubbo-proxy
   - echo
-  # - error-log-logger
+  - error-log-logger
   # - example-plugin
+  - ext-plugin-post-req
+  - ext-plugin-post-resp
+  - ext-plugin-pre-req
   - fault-injection
+  - file-logger
+  - forward-auth
+  - google-cloud-logging
   - grpc-transcode
+  - grpc-web
+  - gzip
   - hmac-auth
   - http-logger
   - ip-restriction
   - jwt-auth
   - kafka-logger
+  - kafka-proxy
   - key-auth
+  - ldap-auth
   - limit-conn
   - limit-count
   - limit-req
+  - loggly
   # - log-rotate
+  - mocking
   # - node-status
+  - opa
   - openid-connect
+  - opentelemetry
+  - openwhisk
   - prometheus
   - proxy-cache
+  - proxy-control
   - proxy-mirror
   - proxy-rewrite
+  - public-api
+  - real-ip
   - redirect
   - referer-restriction
   - request-id
   - request-validation
   - response-rewrite
+  - rocketmq-logger
+  - server-info
   - serverless-post-function
   - serverless-pre-function
-  # - skywalking
+  - skywalking
+  - skywalking-logger
   - sls-logger
+  - splunk-hec-logging
   - syslog
   - tcp-logger
+  - traffic-split
+  - ua-restriction
   - udp-logger
   - uri-blocker
   - wolf-rbac
   - zipkin
-  - server-info
-  - traffic-split
diff --git a/api/conf/schema.json b/api/conf/schema.json
index 08a3b2eeb..db680cd5f 100644
--- a/api/conf/schema.json
+++ b/api/conf/schema.json
@@ -721,43 +721,6 @@
                                                                        "type": 
"object"
                                                                },
                                                                "passive": {
-                                                                       
"default": {
-                                                                               
"healthy": {
-                                                                               
        "http_statuses": [
-                                                                               
                200,
-                                                                               
                201,
-                                                                               
                202,
-                                                                               
                203,
-                                                                               
                204,
-                                                                               
                205,
-                                                                               
                206,
-                                                                               
                207,
-                                                                               
                208,
-                                                                               
                226,
-                                                                               
                300,
-                                                                               
                301,
-                                                                               
                302,
-                                                                               
                303,
-                                                                               
                304,
-                                                                               
                305,
-                                                                               
                306,
-                                                                               
                307,
-                                                                               
                308
-                                                                               
        ],
-                                                                               
        "successes": 0
-                                                                               
},
-                                                                               
"type": "http",
-                                                                               
"unhealthy": {
-                                                                               
        "http_failures": 0,
-                                                                               
        "http_statuses": [
-                                                                               
                429,
-                                                                               
                500,
-                                                                               
                503
-                                                                               
        ],
-                                                                               
        "tcp_failures": 0,
-                                                                               
        "timeouts": 0
-                                                                               
}
-                                                                       },
                                                                        
"properties": {
                                                                                
"healthy": {
                                                                                
        "properties": {
@@ -1055,22 +1018,67 @@
                                                        "type": "object"
                                                },
                                                "tls": {
+                                                       "dependencies": {
+                                                               "client_cert": {
+                                                                       "not": {
+                                                                               
"required": [
+                                                                               
        "client_cert_id"
+                                                                               
]
+                                                                       },
+                                                                       
"required": [
+                                                                               
"client_key"
+                                                                       ]
+                                                               },
+                                                               
"client_cert_id": {
+                                                                       "not": {
+                                                                               
"required": [
+                                                                               
        "client_client",
+                                                                               
        "client_key"
+                                                                               
]
+                                                                       }
+                                                               },
+                                                               "client_key": {
+                                                                       "not": {
+                                                                               
"required": [
+                                                                               
        "client_cert_id"
+                                                                               
]
+                                                                       },
+                                                                       
"required": [
+                                                                               
"client_cert"
+                                                                       ]
+                                                               }
+                                                       },
                                                        "properties": {
                                                                "client_cert": {
                                                                        
"maxLength": 65536,
                                                                        
"minLength": 128,
                                                                        "type": 
"string"
                                                                },
+                                                               
"client_cert_id": {
+                                                                       
"anyOf": [
+                                                                               
{
+                                                                               
        "maxLength": 64,
+                                                                               
        "minLength": 1,
+                                                                               
        "pattern": "^[a-zA-Z0-9-_.]+$",
+                                                                               
        "type": "string"
+                                                                               
},
+                                                                               
{
+                                                                               
        "minimum": 1,
+                                                                               
        "type": "integer"
+                                                                               
}
+                                                                       ]
+                                                               },
                                                                "client_key": {
                                                                        
"maxLength": 65536,
                                                                        
"minLength": 128,
                                                                        "type": 
"string"
+                                                               },
+                                                               "verify": {
+                                                                       
"default": false,
+                                                                       
"description": "Turn on server certificate verification, currently only kafka 
upstream is supported",
+                                                                       "type": 
"boolean"
                                                                }
                                                        },
-                                                       "required": [
-                                                               "client_cert",
-                                                               "client_key"
-                                                       ],
                                                        "type": "object"
                                                },
                                                "type": {
@@ -1344,43 +1352,6 @@
                                                                        "type": 
"object"
                                                                },
                                                                "passive": {
-                                                                       
"default": {
-                                                                               
"healthy": {
-                                                                               
        "http_statuses": [
-                                                                               
                200,
-                                                                               
                201,
-                                                                               
                202,
-                                                                               
                203,
-                                                                               
                204,
-                                                                               
                205,
-                                                                               
                206,
-                                                                               
                207,
-                                                                               
                208,
-                                                                               
                226,
-                                                                               
                300,
-                                                                               
                301,
-                                                                               
                302,
-                                                                               
                303,
-                                                                               
                304,
-                                                                               
                305,
-                                                                               
                306,
-                                                                               
                307,
-                                                                               
                308
-                                                                               
        ],
-                                                                               
        "successes": 0
-                                                                               
},
-                                                                               
"type": "http",
-                                                                               
"unhealthy": {
-                                                                               
        "http_failures": 0,
-                                                                               
        "http_statuses": [
-                                                                               
                429,
-                                                                               
                500,
-                                                                               
                503
-                                                                               
        ],
-                                                                               
        "tcp_failures": 0,
-                                                                               
        "timeouts": 0
-                                                                               
}
-                                                                       },
                                                                        
"properties": {
                                                                                
"healthy": {
                                                                                
        "properties": {
@@ -1678,22 +1649,67 @@
                                                        "type": "object"
                                                },
                                                "tls": {
+                                                       "dependencies": {
+                                                               "client_cert": {
+                                                                       "not": {
+                                                                               
"required": [
+                                                                               
        "client_cert_id"
+                                                                               
]
+                                                                       },
+                                                                       
"required": [
+                                                                               
"client_key"
+                                                                       ]
+                                                               },
+                                                               
"client_cert_id": {
+                                                                       "not": {
+                                                                               
"required": [
+                                                                               
        "client_client",
+                                                                               
        "client_key"
+                                                                               
]
+                                                                       }
+                                                               },
+                                                               "client_key": {
+                                                                       "not": {
+                                                                               
"required": [
+                                                                               
        "client_cert_id"
+                                                                               
]
+                                                                       },
+                                                                       
"required": [
+                                                                               
"client_cert"
+                                                                       ]
+                                                               }
+                                                       },
                                                        "properties": {
                                                                "client_cert": {
                                                                        
"maxLength": 65536,
                                                                        
"minLength": 128,
                                                                        "type": 
"string"
                                                                },
+                                                               
"client_cert_id": {
+                                                                       
"anyOf": [
+                                                                               
{
+                                                                               
        "maxLength": 64,
+                                                                               
        "minLength": 1,
+                                                                               
        "pattern": "^[a-zA-Z0-9-_.]+$",
+                                                                               
        "type": "string"
+                                                                               
},
+                                                                               
{
+                                                                               
        "minimum": 1,
+                                                                               
        "type": "integer"
+                                                                               
}
+                                                                       ]
+                                                               },
                                                                "client_key": {
                                                                        
"maxLength": 65536,
                                                                        
"minLength": 128,
                                                                        "type": 
"string"
+                                                               },
+                                                               "verify": {
+                                                                       
"default": false,
+                                                                       
"description": "Turn on server certificate verification, currently only kafka 
upstream is supported",
+                                                                       "type": 
"boolean"
                                                                }
                                                        },
-                                                       "required": [
-                                                               "client_cert",
-                                                               "client_key"
-                                                       ],
                                                        "type": "object"
                                                },
                                                "type": {
@@ -1728,22 +1744,6 @@
                        "type": "object"
                },
                "ssl": {
-                       "oneOf": [
-                               {
-                                       "required": [
-                                               "cert",
-                                               "key",
-                                               "sni"
-                                       ]
-                               },
-                               {
-                                       "required": [
-                                               "cert",
-                                               "key",
-                                               "snis"
-                                       ]
-                               }
-                       ],
                        "properties": {
                                "cert": {
                                        "maxLength": 65536,
@@ -1844,6 +1844,15 @@
                                        ],
                                        "type": "integer"
                                },
+                               "type": {
+                                       "default": "server",
+                                       "description": "ssl certificate type, 
server to server certificate, client to client certificate for upstream",
+                                       "enum": [
+                                               "client",
+                                               "server"
+                                       ],
+                                       "type": "string"
+                               },
                                "update_time": {
                                        "type": "integer"
                                },
@@ -1854,6 +1863,39 @@
                                        "type": "integer"
                                }
                        },
+                       "if": {
+                               "properties": {
+                                       "type": {
+                                               "enum": [
+                                                       "server"
+                                               ]
+                                       }
+                               }
+                       },
+                       "else": {
+                               "required": [
+                                       "cert",
+                                       "key"
+                               ]
+                       },
+                       "then": {
+                               "oneOf": [
+                                       {
+                                               "required": [
+                                                       "cert",
+                                                       "key",
+                                                       "sni"
+                                               ]
+                                       },
+                                       {
+                                               "required": [
+                                                       "cert",
+                                                       "key",
+                                                       "snis"
+                                               ]
+                                       }
+                               ]
+                       },
                        "type": "object"
                },
                "stream_route": {
@@ -2156,43 +2198,6 @@
                                                                        "type": 
"object"
                                                                },
                                                                "passive": {
-                                                                       
"default": {
-                                                                               
"healthy": {
-                                                                               
        "http_statuses": [
-                                                                               
                200,
-                                                                               
                201,
-                                                                               
                202,
-                                                                               
                203,
-                                                                               
                204,
-                                                                               
                205,
-                                                                               
                206,
-                                                                               
                207,
-                                                                               
                208,
-                                                                               
                226,
-                                                                               
                300,
-                                                                               
                301,
-                                                                               
                302,
-                                                                               
                303,
-                                                                               
                304,
-                                                                               
                305,
-                                                                               
                306,
-                                                                               
                307,
-                                                                               
                308
-                                                                               
        ],
-                                                                               
        "successes": 0
-                                                                               
},
-                                                                               
"type": "http",
-                                                                               
"unhealthy": {
-                                                                               
        "http_failures": 0,
-                                                                               
        "http_statuses": [
-                                                                               
                429,
-                                                                               
                500,
-                                                                               
                503
-                                                                               
        ],
-                                                                               
        "tcp_failures": 0,
-                                                                               
        "timeouts": 0
-                                                                               
}
-                                                                       },
                                                                        
"properties": {
                                                                                
"healthy": {
                                                                                
        "properties": {
@@ -2490,22 +2495,67 @@
                                                        "type": "object"
                                                },
                                                "tls": {
+                                                       "dependencies": {
+                                                               "client_cert": {
+                                                                       "not": {
+                                                                               
"required": [
+                                                                               
        "client_cert_id"
+                                                                               
]
+                                                                       },
+                                                                       
"required": [
+                                                                               
"client_key"
+                                                                       ]
+                                                               },
+                                                               
"client_cert_id": {
+                                                                       "not": {
+                                                                               
"required": [
+                                                                               
        "client_client",
+                                                                               
        "client_key"
+                                                                               
]
+                                                                       }
+                                                               },
+                                                               "client_key": {
+                                                                       "not": {
+                                                                               
"required": [
+                                                                               
        "client_cert_id"
+                                                                               
]
+                                                                       },
+                                                                       
"required": [
+                                                                               
"client_cert"
+                                                                       ]
+                                                               }
+                                                       },
                                                        "properties": {
                                                                "client_cert": {
                                                                        
"maxLength": 65536,
                                                                        
"minLength": 128,
                                                                        "type": 
"string"
                                                                },
+                                                               
"client_cert_id": {
+                                                                       
"anyOf": [
+                                                                               
{
+                                                                               
        "maxLength": 64,
+                                                                               
        "minLength": 1,
+                                                                               
        "pattern": "^[a-zA-Z0-9-_.]+$",
+                                                                               
        "type": "string"
+                                                                               
},
+                                                                               
{
+                                                                               
        "minimum": 1,
+                                                                               
        "type": "integer"
+                                                                               
}
+                                                                       ]
+                                                               },
                                                                "client_key": {
                                                                        
"maxLength": 65536,
                                                                        
"minLength": 128,
                                                                        "type": 
"string"
+                                                               },
+                                                               "verify": {
+                                                                       
"default": false,
+                                                                       
"description": "Turn on server certificate verification, currently only kafka 
upstream is supported",
+                                                                       "type": 
"boolean"
                                                                }
                                                        },
-                                                       "required": [
-                                                               "client_cert",
-                                                               "client_key"
-                                                       ],
                                                        "type": "object"
                                                },
                                                "type": {
@@ -2697,43 +2747,6 @@
                                                        "type": "object"
                                                },
                                                "passive": {
-                                                       "default": {
-                                                               "healthy": {
-                                                                       
"http_statuses": [
-                                                                               
200,
-                                                                               
201,
-                                                                               
202,
-                                                                               
203,
-                                                                               
204,
-                                                                               
205,
-                                                                               
206,
-                                                                               
207,
-                                                                               
208,
-                                                                               
226,
-                                                                               
300,
-                                                                               
301,
-                                                                               
302,
-                                                                               
303,
-                                                                               
304,
-                                                                               
305,
-                                                                               
306,
-                                                                               
307,
-                                                                               
308
-                                                                       ],
-                                                                       
"successes": 0
-                                                               },
-                                                               "type": "http",
-                                                               "unhealthy": {
-                                                                       
"http_failures": 0,
-                                                                       
"http_statuses": [
-                                                                               
429,
-                                                                               
500,
-                                                                               
503
-                                                                       ],
-                                                                       
"tcp_failures": 0,
-                                                                       
"timeouts": 0
-                                                               }
-                                                       },
                                                        "properties": {
                                                                "healthy": {
                                                                        
"properties": {
@@ -3031,22 +3044,67 @@
                                        "type": "object"
                                },
                                "tls": {
-                                       "properties": {
+                                       "dependencies": {
                                                "client_cert": {
-                                                       "maxLength": 65536,
-                                                       "minLength": 128,
-                                                       "type": "string"
+                                                       "not": {
+                                                               "required": [
+                                                                       
"client_cert_id"
+                                                               ]
+                                                       },
+                                                       "required": [
+                                                               "client_key"
+                                                       ]
+                                               },
+                                               "client_cert_id": {
+                                                       "not": {
+                                                               "required": [
+                                                                       
"client_client",
+                                                                       
"client_key"
+                                                               ]
+                                                       }
                                                },
                                                "client_key": {
+                                                       "not": {
+                                                               "required": [
+                                                                       
"client_cert_id"
+                                                               ]
+                                                       },
+                                                       "required": [
+                                                               "client_cert"
+                                                       ]
+                                               }
+                                       },
+                                       "properties": {
+                                               "client_cert": {
                                                        "maxLength": 65536,
                                                        "minLength": 128,
                                                        "type": "string"
+                                               },
+                                               "client_cert_id": {
+                                                       "anyOf": [
+                                                               {
+                                                                       
"maxLength": 64,
+                                                                       
"minLength": 1,
+                                                                       
"pattern": "^[a-zA-Z0-9-_.]+$",
+                                                                       "type": 
"string"
+                                                               },
+                                                               {
+                                                                       
"minimum": 1,
+                                                                       "type": 
"integer"
+                                                               }
+                                                       ]
+                                               },
+                                               "client_key": {
+                                                       "maxLength": 65536,
+                                                       "minLength": 128,
+                                                       "type": "string"
+                                               },
+                                               "verify": {
+                                                       "default": false,
+                                                       "description": "Turn on 
server certificate verification, currently only kafka upstream is supported",
+                                                       "type": "boolean"
                                                }
                                        },
-                                       "required": [
-                                               "client_cert",
-                                               "client_key"
-                                       ],
                                        "type": "object"
                                },
                                "type": {
@@ -3078,6 +3136,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "break_response_body": {
                                                "type": "string"
                                        },
@@ -3098,6 +3183,10 @@
                                                                        "type": 
"string"
                                                                }
                                                        },
+                                                       "required": [
+                                                               "key",
+                                                               "value"
+                                                       ],
                                                        "type": "object"
                                                },
                                                "type": "array"
@@ -3212,6 +3301,33 @@
                                        }
                                ],
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -3240,6 +3356,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "callback_url": {
                                                "pattern": "^[^%?]+[^/]$",
                                                "type": "string"
@@ -3337,6 +3480,33 @@
                                        }
                                ],
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "access_denied_redirect_uri": {
                                                "maxLength": 2048,
                                                "minLength": 1,
@@ -3474,6 +3644,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "authorization": {
                                                "properties": {
                                                        "apikey": {
@@ -3564,6 +3761,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "authorization": {
                                                "properties": {
                                                        "apikey": {
@@ -3633,6 +3857,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -3647,31 +3898,6 @@
                        "type": "auth",
                        "version": 0.1
                },
-               "batch-requests": {
-                       "metadata_schema": {
-                               "properties": {
-                                       "max_body_size": {
-                                               "default": 1048576,
-                                               "description": "max pipeline 
body size in bytes",
-                                               "exclusiveMinimum": 0,
-                                               "type": "integer"
-                                       }
-                               },
-                               "type": "object"
-                       },
-                       "priority": 4010,
-                       "schema": {
-                               "$comment": "this is a mark for our injected 
plugin schema",
-                               "properties": {
-                                       "disable": {
-                                               "type": "boolean"
-                                       }
-                               },
-                               "type": "object"
-                       },
-                       "scope": "global",
-                       "version": 0.1
-               },
                "clickhouse-logger": {
                        "metadata_schema": {
                                "properties": {
@@ -3690,6 +3916,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "batch_max_size": {
                                                "default": 1000,
                                                "minimum": 1,
@@ -3768,6 +4021,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -3802,6 +4082,33 @@
                                        }
                                ],
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "allowed_by_methods": {
                                                "items": {
                                                        "properties": {
@@ -3889,16 +4196,43 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
-                                       "allow_credential": {
-                                               "default": false,
-                                               "description": "allow client 
append credential. according to CORS specification,if you set this option to 
'true', you can not use '*' for other options.",
-                                               "type": "boolean"
-                                       },
-                                       "allow_headers": {
-                                               "default": "*",
-                                               "description": "you can use '*' 
to allow all header when no credentials,'**' to allow forcefully(it will bring 
some security risks, be carefully),multiple header use ',' to split. default: 
*.",
-                                               "type": "string"
-                                       },
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
+                                       "allow_credential": {
+                                               "default": false,
+                                               "description": "allow client 
append credential. according to CORS specification,if you set this option to 
'true', you can not use '*' for other options.",
+                                               "type": "boolean"
+                                       },
+                                       "allow_headers": {
+                                               "default": "*",
+                                               "description": "you can use '*' 
to allow all header when no credentials,'**' to allow forcefully(it will bring 
some security risks, be carefully),multiple header use ',' to split. default: 
*.",
+                                               "type": "string"
+                                       },
                                        "allow_methods": {
                                                "default": "*",
                                                "description": "you can use '*' 
to allow all methods when no credentials,'**' to allow forcefully(it will bring 
some security risks, be carefully),multiple method use ',' to split. default: 
*.",
@@ -3955,6 +4289,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -4012,6 +4373,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "batch_max_size": {
                                                "default": 1000,
                                                "minimum": 1,
@@ -4105,6 +4493,33 @@
                                ],
                                "minProperties": 1,
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "after_body": {
                                                "description": "body after the 
modification of filter phase.",
                                                "type": "string"
@@ -4344,6 +4759,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -4377,6 +4819,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "allow_degradation": {
                                                "default": false,
                                                "type": "boolean"
@@ -4415,6 +4884,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "allow_degradation": {
                                                "default": false,
                                                "type": "boolean"
@@ -4453,6 +4949,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "allow_degradation": {
                                                "default": false,
                                                "type": "boolean"
@@ -4492,6 +5015,33 @@
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "minProperties": 1,
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "abort": {
                                                "properties": {
                                                        "body": {
@@ -4570,6 +5120,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -4589,6 +5166,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "client_headers": {
                                                "default": {},
                                                "description": "authorization 
response header that will be sent tothe client when authorizing failed",
@@ -4678,6 +5282,33 @@
                                        }
                                ],
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "auth_config": {
                                                "properties": {
                                                        "entries_uri": {
@@ -4788,12 +5419,39 @@
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "additionalProperties": true,
                                "properties": {
-                                       "deadline": {
-                                               "default": 0,
-                                               "description": "deadline for 
grpc, millisecond",
-                                               "type": "number"
-                                       },
-                                       "disable": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
+                                       "deadline": {
+                                               "default": 0,
+                                               "description": "deadline for 
grpc, millisecond",
+                                               "type": "number"
+                                       },
+                                       "disable": {
                                                "type": "boolean"
                                        },
                                        "method": {
@@ -4801,6 +5459,12 @@
                                                "type": "string"
                                        },
                                        "pb_option": {
+                                               "default": [
+                                                       "auto_default_values",
+                                                       "disable_hooks",
+                                                       "enum_as_name",
+                                                       "int64_as_number"
+                                               ],
                                                "items": {
                                                        "anyOf": [
                                                                {
@@ -4877,6 +5541,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        }
@@ -4890,6 +5581,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "buffers": {
                                                "default": {
                                                        "number": 32,
@@ -5024,6 +5742,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        }
@@ -5052,8 +5797,34 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "auth_header": {
-                                               "default": "",
                                                "type": "string"
                                        },
                                        "batch_max_size": {
@@ -5149,6 +5920,33 @@
                                        }
                                ],
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "blacklist": {
                                                "items": {
                                                        "anyOf": [
@@ -5312,6 +6110,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "cookie": {
                                                "default": "jwt",
                                                "type": "string"
@@ -5351,6 +6176,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "batch_max_size": {
                                                "default": 1000,
                                                "minimum": 1,
@@ -5431,6 +6283,26 @@
                                                "default": "kafka logger",
                                                "type": "string"
                                        },
+                                       "producer_batch_num": {
+                                               "default": 200,
+                                               "minimum": 1,
+                                               "type": "integer"
+                                       },
+                                       "producer_batch_size": {
+                                               "default": 1048576,
+                                               "minimum": 0,
+                                               "type": "integer"
+                                       },
+                                       "producer_max_buffering": {
+                                               "default": 50000,
+                                               "minimum": 1,
+                                               "type": "integer"
+                                       },
+                                       "producer_time_linger": {
+                                               "default": 1,
+                                               "minimum": 1,
+                                               "type": "integer"
+                                       },
                                        "producer_type": {
                                                "default": "async",
                                                "enum": [
@@ -5467,6 +6339,61 @@
                        },
                        "version": 0.1
                },
+               "kafka-proxy": {
+                       "priority": 508,
+                       "schema": {
+                               "$comment": "this is a mark for our injected 
plugin schema",
+                               "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
+                                       "disable": {
+                                               "type": "boolean"
+                                       },
+                                       "sasl": {
+                                               "properties": {
+                                                       "password": {
+                                                               "type": "string"
+                                                       },
+                                                       "username": {
+                                                               "type": "string"
+                                                       }
+                                               },
+                                               "required": [
+                                                       "password",
+                                                       "username"
+                                               ],
+                                               "type": "object"
+                                       }
+                               },
+                               "type": "object"
+                       },
+                       "version": 0.1
+               },
                "key-auth": {
                        "consumer_schema": {
                                "properties": {
@@ -5483,6 +6410,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -5521,14 +6475,41 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
-                                       "base_dn": {
-                                               "type": "string"
-                                       },
-                                       "disable": {
-                                               "type": "boolean"
-                                       },
-                                       "ldap_uri": {
-                                               "type": "string"
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
+                                       "base_dn": {
+                                               "type": "string"
+                                       },
+                                       "disable": {
+                                               "type": "boolean"
+                                       },
+                                       "ldap_uri": {
+                                               "type": "string"
                                        },
                                        "uid": {
                                                "type": "string"
@@ -5552,6 +6533,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "allow_degradation": {
                                                "default": false,
                                                "type": "boolean"
@@ -5651,16 +6659,34 @@
                                                ]
                                        }
                                },
-                               "if": {
-                                       "properties": {
-                                               "policy": {
-                                                       "enum": [
-                                                               "redis"
-                                                       ]
-                                               }
-                                       }
-                               },
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "allow_degradation": {
                                                "default": false,
                                                "type": "boolean"
@@ -5720,6 +6746,15 @@
                                        "count",
                                        "time_window"
                                ],
+                               "if": {
+                                       "properties": {
+                                               "policy": {
+                                                       "enum": [
+                                                               "redis"
+                                                       ]
+                                               }
+                                       }
+                               },
                                "then": {
                                        "properties": {
                                                "redis_database": {
@@ -5759,6 +6794,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "allow_degradation": {
                                                "default": false,
                                                "type": "boolean"
@@ -5858,6 +6920,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "batch_max_size": {
                                                "default": 1000,
                                                "minimum": 1,
@@ -6000,6 +7089,33 @@
                                        }
                                ],
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "content_type": {
                                                "default": 
"application/json;charset=utf8",
                                                "type": "string"
@@ -6050,6 +7166,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -6110,6 +7253,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "access_token_in_authorization_header": 
{
                                                "default": false,
                                                "description": "Whether the 
access token should be added in the Authorization header as opposed to the 
X-Access-Token header.",
@@ -6171,6 +7341,11 @@
                                                "description": "Whether the ID 
token should be added in the X-ID-Token header to the request for downstream.",
                                                "type": "boolean"
                                        },
+                                       "set_refresh_token_header": {
+                                               "default": false,
+                                               "description": "Whether the 
refresh token should be added in the X-Refresh-Token header to the request for 
downstream.",
+                                               "type": "boolean"
+                                       },
                                        "set_userinfo_header": {
                                                "default": true,
                                                "description": "Whether the 
user info token should be added in the X-Userinfo header to the request for 
downstream.",
@@ -6188,6 +7363,11 @@
                                        },
                                        "token_signing_alg_values_expected": {
                                                "type": "string"
+                                       },
+                                       "use_pkce": {
+                                               "default": false,
+                                               "description": "when set to 
true the PKEC(Proof Key for Code Exchange) will be used.",
+                                               "type": "boolean"
                                        }
                                },
                                "required": [
@@ -6300,6 +7480,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "action": {
                                                "maxLength": 256,
                                                "pattern": 
"\\A([\\w]|[\\w][\\w@ .-]*[\\w@.-]+)\\z",
@@ -6369,6 +7576,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -6386,6 +7620,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "cache_bypass": {
                                                "items": {
                                                        "pattern": 
"(^[^\\$].+$|^\\$[0-9a-zA-Z_]+$)",
@@ -6489,10 +7750,37 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
-                                       "disable": {
-                                               "type": "boolean"
-                                       },
-                                       "request_buffering": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
+                                       "disable": {
+                                               "type": "boolean"
+                                       },
+                                       "request_buffering": {
                                                "default": true,
                                                "type": "boolean"
                                        }
@@ -6506,6 +7794,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -6537,6 +7852,33 @@
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "minProperties": 1,
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -6594,6 +7936,11 @@
                                                "minLength": 1,
                                                "pattern": "^\\/.*",
                                                "type": "string"
+                                       },
+                                       "use_real_request_uri_unsafe": {
+                                               "default": false,
+                                               "description": "use 
real_request_uri instead, THIS IS VERY UNSAFE.",
+                                               "type": "boolean"
                                        }
                                },
                                "type": "object"
@@ -6605,6 +7952,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -6621,6 +7995,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -6684,14 +8085,45 @@
                                                ]
                                        },
                                        {
+                                               "not": {
+                                                       "required": [
+                                                               
"append_query_string"
+                                                       ]
+                                               },
                                                "required": [
                                                        "http_to_https"
                                                ]
                                        }
                                ],
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "append_query_string": {
-                                               "default": false,
                                                "type": "boolean"
                                        },
                                        "disable": {
@@ -6746,6 +8178,33 @@
                                        }
                                ],
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "blacklist": {
                                                "items": {
                                                        "pattern": 
"^\\*?[0-9a-zA-Z-._\\[\\]:]+$",
@@ -6781,10 +8240,37 @@
                        "version": 0.1
                },
                "request-id": {
-                       "priority": 11010,
+                       "priority": 12015,
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "algorithm": {
                                                "default": "uuid",
                                                "enum": [
@@ -6827,6 +8313,33 @@
                                        }
                                ],
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "body_schema": {
                                                "type": "object"
                                        },
@@ -6874,6 +8387,33 @@
                     }
                 },
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "body": {
                                                "description": "new body for 
response",
                                                "type": "string"
@@ -6961,6 +8501,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "access_key": {
                                                "default": "",
                                                "type": "string"
@@ -7070,6 +8637,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        }
@@ -7084,6 +8678,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -7119,6 +8740,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -7186,6 +8834,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "batch_max_size": {
                                                "default": 1000,
                                                "minimum": 1,
@@ -7252,6 +8927,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "access_key_id": {
                                                "type": "string"
                                        },
@@ -7329,6 +9031,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "batch_max_size": {
                                                "default": 1000,
                                                "minimum": 1,
@@ -7402,6 +9131,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "batch_max_size": {
                                                "default": 1000,
                                                "minimum": 1,
@@ -7497,6 +9253,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "batch_max_size": {
                                                "default": 1000,
                                                "minimum": 1,
@@ -7566,6 +9349,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -7749,43 +9559,6 @@
                                                                                
                                                "type": "object"
                                                                                
                                        },
                                                                                
                                        "passive": {
-                                                                               
                                                "default": {
-                                                                               
                                                        "healthy": {
-                                                                               
                                                                
"http_statuses": [
-                                                                               
                                                                        200,
-                                                                               
                                                                        201,
-                                                                               
                                                                        202,
-                                                                               
                                                                        203,
-                                                                               
                                                                        204,
-                                                                               
                                                                        205,
-                                                                               
                                                                        206,
-                                                                               
                                                                        207,
-                                                                               
                                                                        208,
-                                                                               
                                                                        226,
-                                                                               
                                                                        300,
-                                                                               
                                                                        301,
-                                                                               
                                                                        302,
-                                                                               
                                                                        303,
-                                                                               
                                                                        304,
-                                                                               
                                                                        305,
-                                                                               
                                                                        306,
-                                                                               
                                                                        307,
-                                                                               
                                                                        308
-                                                                               
                                                                ],
-                                                                               
                                                                "successes": 0
-                                                                               
                                                        },
-                                                                               
                                                        "type": "http",
-                                                                               
                                                        "unhealthy": {
-                                                                               
                                                                
"http_failures": 0,
-                                                                               
                                                                
"http_statuses": [
-                                                                               
                                                                        429,
-                                                                               
                                                                        500,
-                                                                               
                                                                        503
-                                                                               
                                                                ],
-                                                                               
                                                                "tcp_failures": 
0,
-                                                                               
                                                                "timeouts": 0
-                                                                               
                                                        }
-                                                                               
                                                },
                                                                                
                                                "properties": {
                                                                                
                                                        "healthy": {
                                                                                
                                                                "properties": {
@@ -8083,22 +9856,67 @@
                                                                                
                                "type": "object"
                                                                                
                        },
                                                                                
                        "tls": {
+                                                                               
                                "dependencies": {
+                                                                               
                                        "client_cert": {
+                                                                               
                                                "not": {
+                                                                               
                                                        "required": [
+                                                                               
                                                                "client_cert_id"
+                                                                               
                                                        ]
+                                                                               
                                                },
+                                                                               
                                                "required": [
+                                                                               
                                                        "client_key"
+                                                                               
                                                ]
+                                                                               
                                        },
+                                                                               
                                        "client_cert_id": {
+                                                                               
                                                "not": {
+                                                                               
                                                        "required": [
+                                                                               
                                                                "client_client",
+                                                                               
                                                                "client_key"
+                                                                               
                                                        ]
+                                                                               
                                                }
+                                                                               
                                        },
+                                                                               
                                        "client_key": {
+                                                                               
                                                "not": {
+                                                                               
                                                        "required": [
+                                                                               
                                                                "client_cert_id"
+                                                                               
                                                        ]
+                                                                               
                                                },
+                                                                               
                                                "required": [
+                                                                               
                                                        "client_cert"
+                                                                               
                                                ]
+                                                                               
                                        }
+                                                                               
                                },
                                                                                
                                "properties": {
                                                                                
                                        "client_cert": {
                                                                                
                                                "maxLength": 65536,
                                                                                
                                                "minLength": 128,
                                                                                
                                                "type": "string"
                                                                                
                                        },
+                                                                               
                                        "client_cert_id": {
+                                                                               
                                                "anyOf": [
+                                                                               
                                                        {
+                                                                               
                                                                "maxLength": 64,
+                                                                               
                                                                "minLength": 1,
+                                                                               
                                                                "pattern": 
"^[a-zA-Z0-9-_.]+$",
+                                                                               
                                                                "type": "string"
+                                                                               
                                                        },
+                                                                               
                                                        {
+                                                                               
                                                                "minimum": 1,
+                                                                               
                                                                "type": 
"integer"
+                                                                               
                                                        }
+                                                                               
                                                ]
+                                                                               
                                        },
                                                                                
                                        "client_key": {
                                                                                
                                                "maxLength": 65536,
                                                                                
                                                "minLength": 128,
                                                                                
                                                "type": "string"
+                                                                               
                                        },
+                                                                               
                                        "verify": {
+                                                                               
                                                "default": false,
+                                                                               
                                                "description": "Turn on server 
certificate verification, currently only kafka upstream is supported",
+                                                                               
                                                "type": "boolean"
                                                                                
                                        }
                                                                                
                                },
-                                                                               
                                "required": [
-                                                                               
                                        "client_cert",
-                                                                               
                                        "client_key"
-                                                                               
                                ],
                                                                                
                                "type": "object"
                                                                                
                        },
                                                                                
                        "type": {
@@ -8157,6 +9975,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "allowlist": {
                                                "items": {
                                                        "minLength": 1,
@@ -8196,6 +10041,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "batch_max_size": {
                                                "default": 1000,
                                                "minimum": 1,
@@ -8258,6 +10130,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "block_rules": {
                                                "items": {
                                                        "maxLength": 4096,
@@ -8296,6 +10195,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "appid": {
                                                "default": "unset",
                                                "type": "string"
@@ -8322,6 +10248,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -8378,6 +10331,33 @@
                                        }
                                ],
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "blacklist": {
                                                "items": {
                                                        "anyOf": [
@@ -8453,6 +10433,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "burst": {
                                                "minimum": 0,
                                                "type": "integer"
@@ -8499,6 +10506,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "disable": {
                                                "type": "boolean"
                                        },
@@ -8564,6 +10598,33 @@
                        "schema": {
                                "$comment": "this is a mark for our injected 
plugin schema",
                                "properties": {
+                                       "_meta": {
+                                               "properties": {
+                                                       "error_response": {
+                                                               "oneOf": [
+                                                                       {
+                                                                               
"type": "string"
+                                                                       },
+                                                                       {
+                                                                               
"type": "object"
+                                                                       }
+                                                               ]
+                                                       },
+                                                       "filter": {
+                                                               "description": 
"filter determines whether the plugin needs to be executed at runtime",
+                                                               "items": {
+                                                                       "type": 
"array"
+                                                               },
+                                                               "maxItems": 20,
+                                                               "type": "array"
+                                                       },
+                                                       "priority": {
+                                                               "description": 
"priority of plugins by customized order",
+                                                               "type": 
"integer"
+                                                       }
+                                               },
+                                               "type": "object"
+                                       },
                                        "batch_max_size": {
                                                "default": 1000,
                                                "minimum": 1,
@@ -8643,4 +10704,4 @@
                        "version": 0.1
                }
        }
-}
+}
\ No newline at end of file
diff --git a/api/test/e2e/schema/schema_test.go 
b/api/test/e2e/schema/schema_test.go
index 8dacca872..1ff105f0c 100644
--- a/api/test/e2e/schema/schema_test.go
+++ b/api/test/e2e/schema/schema_test.go
@@ -19,36 +19,36 @@ package schema
 import (
        "net/http"
 
-       "github.com/onsi/ginkgo"
-       "github.com/onsi/ginkgo/extensions/table"
+       . "github.com/onsi/ginkgo"
+       . "github.com/onsi/ginkgo/extensions/table"
 
        "github.com/apisix/manager-api/test/e2e/base"
 )
 
-var _ = ginkgo.Describe("Schema Test", func() {
-       table.DescribeTable("test schema basic", func(testCase 
base.HttpTestCase) {
+var _ = Describe("Schema Test", func() {
+       DescribeTable("test schema basic", func(testCase base.HttpTestCase) {
                base.RunTestCase(testCase)
        },
-               table.Entry("get consumer schema of plugin", base.HttpTestCase{
+               Entry("get consumer schema of plugin", base.HttpTestCase{
                        Object:       base.ManagerApiExpect(),
                        Method:       http.MethodGet,
                        Path:         "/apisix/admin/schema/plugins/jwt-auth",
                        Query:        "schema_type=consumer",
                        Headers:      map[string]string{"Authorization": 
base.GetToken()},
                        ExpectStatus: http.StatusOK,
-                       ExpectBody:   
"{\"dependencies\":{\"algorithm\":{\"oneOf\":[{\"properties\":{\"algorithm\":{\"default\":\"HS256\",\"enum\":[\"HS256\",\"HS512\"]}}},{\"properties\":{\"algorithm\":{\"enum\":[\"RS256\"]},\"private_key\":{\"type\":\"string\"},\"public_key\":{\"type\":\"string\"}},\"required\":[\"private_key\",\"public_key\"]},{\"properties\":{\"algorithm\":{\"enum\":[\"RS256\"]},\"vault\":{\"properties\":{},\"type\":\"object\"}},\"required\":[\"vault\"]}]}},\"properties\":{\"algorithm\":
 [...]
+                       ExpectBody:   
`{"dependencies":{"algorithm":{"oneOf":[{"properties":{"algorithm":{"default":"HS256","enum":["HS256","HS512"]}}},{"properties":{"algorithm":{"enum":["RS256"]},"private_key":{"type":"string"},"public_key":{"type":"string"}},"required":["private_key","public_key"]},{"properties":{"algorithm":{"enum":["RS256"]},"vault":{"properties":{},"type":"object"}},"required":["vault"]}]}},"properties":{"algorithm":{"default":"HS256","enum":["HS256","HS512","RS256"],"type":"string"},"
 [...]
                        Sleep:        base.SleepTime,
                }),
-               table.Entry("get schema of plugin `require-id`", 
base.HttpTestCase{
+               Entry("get route schema of plugin", base.HttpTestCase{
                        Object:       base.ManagerApiExpect(),
                        Method:       http.MethodGet,
                        Path:         "/apisix/admin/schema/plugins/jwt-auth",
                        Headers:      map[string]string{"Authorization": 
base.GetToken()},
                        ExpectStatus: http.StatusOK,
-                       ExpectBody:   `{"$comment":"this is a mark for our 
injected plugin 
schema","properties":{"cookie":{"default":"jwt","type":"string"},"disable":{"type":"boolean"},"header":{"default":"authorization","type":"string"},"query":{"default":"jwt","type":"string"}}`,
+                       ExpectBody:   `{"$comment":"this is a mark for our 
injected plugin 
schema","properties":{"_meta":{"properties":{"error_response":{"oneOf":[{"type":"string"},{"type":"object"}]},"filter":{"description":"filter
 determines whether the plugin needs to be executed at 
runtime","items":{"type":"array"},"maxItems":20,"type":"array"},"priority":{"description":"priority
 of plugins by customized 
order","type":"integer"}},"type":"object"},"cookie":{"default":"jwt","type":"string"},"disable":{"typ
 [...]
                        Sleep:        base.SleepTime,
                }),
-               table.Entry("get schema of non-existent plugin", 
base.HttpTestCase{
+               Entry("get schema of non-existent plugin", base.HttpTestCase{
                        Object:       base.ManagerApiExpect(),
                        Method:       http.MethodGet,
                        Path:         
"/apisix/admin/schema/plugins/non-existent",
@@ -57,7 +57,7 @@ var _ = ginkgo.Describe("Schema Test", func() {
                        ExpectBody:   `schema of plugins non-existent not 
found`,
                        Sleep:        base.SleepTime,
                }),
-               table.Entry("get schema of consumer", base.HttpTestCase{
+               Entry("get schema of consumer", base.HttpTestCase{
                        Object:       base.ManagerApiExpect(),
                        Method:       http.MethodGet,
                        Path:         "/apisix/admin/schemas/consumer",
@@ -66,7 +66,7 @@ var _ = ginkgo.Describe("Schema Test", func() {
                        ExpectBody:   
`"properties":{"create_time":{"type":"integer"},"desc":{"maxLength":256,"type":"string"},"labels":{"description":"key/value
 pairs to specify attributes","patternProperties":{".*":{"description":"value 
of 
label","maxLength":64,"minLength":1,"pattern":"^\\S+$","type":"string"}},"type":"object"},"plugins":{"type":"object"},"update_time":{"type":"integer"},"username":{"maxLength":100,"minLength":1,"pattern":"^[a-zA-Z0-9_]+$","type":"string"}}`,
                        Sleep:        base.SleepTime,
                }),
-               table.Entry("get schema of non-existent resources", 
base.HttpTestCase{
+               Entry("get schema of non-existent resources", base.HttpTestCase{
                        Object:       base.ManagerApiExpect(),
                        Method:       http.MethodGet,
                        Path:         "/apisix/admin/schemas/non-existent",
diff --git a/web/src/components/Plugin/data.tsx 
b/web/src/components/Plugin/data.tsx
index 7b1d49970..cd0adf40f 100644
--- a/web/src/components/Plugin/data.tsx
+++ b/web/src/components/Plugin/data.tsx
@@ -78,234 +78,242 @@ export enum PluginType {
  * Plugin List that contains type field
  */
 export const PLUGIN_LIST = {
-  'hmac-auth': {
-    type: PluginType.authentication,
-  },
-  'serverless-post-function': {
-    type: PluginType.serverless,
-  },
-  'mqtt-proxy': {
-    type: PluginType.other,
-    hidden: true,
+  'api-breaker': {
+    type: PluginType.security,
   },
-  'response-rewrite': {
-    type: PluginType.other,
+  'authz-casbin': {
+    type: PluginType.authentication,
   },
-  'basic-auth': {
+  'authz-casdoor': {
     type: PluginType.authentication,
   },
-  'error-log-logger': {
-    type: PluginType.observability,
+  'authz-keycloak': {
+    type: PluginType.authentication,
   },
-  'fault-injection': {
-    type: PluginType.security,
+  'aws-lambda': {
+    type: PluginType.serverless,
   },
-  'limit-count': {
-    type: PluginType.traffic,
+  'azure-functions': {
+    type: PluginType.serverless,
   },
-  prometheus: {
-    type: PluginType.observability,
+  'basic-auth': {
+    type: PluginType.authentication,
   },
-  'proxy-rewrite': {
+  'batch-requests': {
     type: PluginType.other,
+    hidden: true,
   },
-  syslog: {
+  'clickhouse-logger': {
     type: PluginType.observability,
   },
-  'traffic-split': {
+  'client-control': {
     type: PluginType.traffic,
   },
-  'jwt-auth': {
-    type: PluginType.authentication,
+  'consumer-restriction': {
+    type: PluginType.security,
   },
-  'kafka-logger': {
-    type: PluginType.observability,
+  cors: {
+    type: PluginType.security,
   },
-  'limit-conn': {
-    type: PluginType.traffic,
+  csrf: {
+    type: PluginType.security,
   },
-  'udp-logger': {
+  datadog: {
     type: PluginType.observability,
   },
-  zipkin: {
-    type: PluginType.observability,
+  'dubbo-proxy': {
+    type: PluginType.other,
+    hidden: true,
   },
   echo: {
     type: PluginType.other,
     hidden: true,
   },
-  'log-rotate': {
+  'error-log-logger': {
     type: PluginType.observability,
     hidden: true,
   },
-  'serverless-pre-function': {
-    type: PluginType.serverless,
-  },
-  'dubbo-proxy': {
+  'example-plugin': {
     type: PluginType.other,
     hidden: true,
   },
-  'node-status': {
+  'ext-plugin-post-req': {
     type: PluginType.other,
-    hidden: true,
   },
-  'referer-restriction': {
-    type: PluginType.security,
+  'ext-plugin-post-resp': {
+    type: PluginType.other,
   },
-  'api-breaker': {
-    type: PluginType.security,
+  'ext-plugin-pre-req': {
+    type: PluginType.other,
   },
-  'consumer-restriction': {
+  'fault-injection': {
     type: PluginType.security,
   },
-  cors: {
-    type: PluginType.security,
+  'file-logger': {
+    type: PluginType.observability,
   },
-  'limit-req': {
-    type: PluginType.traffic,
+  'forward-auth': {
+    type: PluginType.authentication,
   },
-  'proxy-mirror': {
+  'google-cloud-logging': {
+    type: PluginType.observability,
+  },
+  'grpc-transcode': {
     type: PluginType.other,
   },
-  'request-validation': {
-    type: PluginType.security,
+  'grpc-web': {
+    type: PluginType.other,
   },
-  'example-plugin': {
+  gzip: {
     type: PluginType.other,
-    hidden: true,
+  },
+  'hmac-auth': {
+    type: PluginType.authentication,
+  },
+  'http-logger': {
+    type: PluginType.observability,
   },
   'ip-restriction': {
     type: PluginType.security,
   },
-  'key-auth': {
+  'jwt-auth': {
     type: PluginType.authentication,
   },
-  'proxy-cache': {
-    type: PluginType.other,
+  'kafka-logger': {
+    type: PluginType.observability,
   },
-  redirect: {
+  'kafka-proxy': {
     type: PluginType.other,
-    hidden: true,
   },
-  'request-id': {
+  'key-auth': {
+    type: PluginType.authentication,
+  },
+  'ldap-auth': {
+    type: PluginType.authentication,
+  },
+  'limit-conn': {
+    type: PluginType.traffic,
+  },
+  'limit-count': {
+    type: PluginType.traffic,
+  },
+  'limit-req': {
+    type: PluginType.traffic,
+  },
+  loggly: {
     type: PluginType.observability,
   },
-  skywalking: {
+  'log-rotate': {
     type: PluginType.observability,
+    hidden: true,
   },
-  'batch-requests': {
+  mocking: {
     type: PluginType.other,
   },
-  'http-logger': {
-    type: PluginType.observability,
+  'node-status': {
+    type: PluginType.other,
+    hidden: true,
+  },
+  opa: {
+    type: PluginType.authentication,
   },
   'openid-connect': {
     type: PluginType.authentication,
   },
-  'sls-logger': {
+  opentelemetry: {
     type: PluginType.observability,
   },
-  'tcp-logger': {
-    type: PluginType.observability,
+  openwhisk: {
+    type: PluginType.serverless,
   },
-  'uri-blocker': {
-    type: PluginType.security,
+  prometheus: {
+    type: PluginType.observability,
   },
-  'wolf-rbac': {
-    type: PluginType.authentication,
+  'proxy-cache': {
+    type: PluginType.other,
   },
-  'authz-keycloak': {
-    type: PluginType.authentication,
+  'proxy-control': {
+    type: PluginType.other,
   },
-  'grpc-transcode': {
+  'proxy-mirror': {
     type: PluginType.other,
   },
-  'server-info': {
+  'proxy-rewrite': {
     type: PluginType.other,
-    hidden: true,
   },
-  'authz-casbin': {
-    type: PluginType.authentication,
+  'public-api': {
+    type: PluginType.security,
   },
-  'ldap-auth': {
-    type: PluginType.authentication,
+  'real-ip': {
+    type: PluginType.other,
   },
-  datadog: {
-    type: PluginType.observability,
+  redirect: {
+    type: PluginType.other,
+    hidden: true,
   },
-  'skywalking-logger': {
-    type: PluginType.observability,
+  'referer-restriction': {
+    type: PluginType.security,
   },
-  'azure-functions': {
-    type: PluginType.serverless,
+  'request-id': {
+    type: PluginType.observability,
   },
-  'ua-restriction': {
+  'request-validation': {
     type: PluginType.security,
   },
-  'splunk-hec-logging': {
-    type: PluginType.observability,
+  'response-rewrite': {
+    type: PluginType.other,
   },
   'rocketmq-logger': {
     type: PluginType.observability,
   },
-  'proxy-control': {
+  'server-info': {
     type: PluginType.other,
+    hidden: true,
   },
-  openwhisk: {
+  'serverless-post-function': {
     type: PluginType.serverless,
   },
-  opa: {
-    type: PluginType.authentication,
+  'serverless-pre-function': {
+    type: PluginType.serverless,
   },
-  'grpc-web': {
-    type: PluginType.other,
+  skywalking: {
+    type: PluginType.observability,
   },
-  'google-cloud-logging': {
+  'skywalking-logger': {
     type: PluginType.observability,
   },
-  'forward-auth': {
-    type: PluginType.authentication,
+  'sls-logger': {
+    type: PluginType.observability,
   },
-  'aws-lambda': {
-    type: PluginType.serverless,
+  'splunk-hec-logging': {
+    type: PluginType.observability,
   },
-  'clickhouse-logger': {
+  syslog: {
     type: PluginType.observability,
   },
-  'client-control': {
+  'tcp-logger': {
+    type: PluginType.observability,
+  },
+  'traffic-split': {
     type: PluginType.traffic,
   },
-  csrf: {
+  'ua-restriction': {
     type: PluginType.security,
   },
-  'ext-plugin-post-req': {
-    type: PluginType.other,
-  },
-  'ext-plugin-pre-req': {
-    type: PluginType.other,
-  },
-  'file-logger': {
-    type: PluginType.observability,
-  },
-  gzip: {
-    type: PluginType.other,
-  },
-  loggly: {
+  'udp-logger': {
     type: PluginType.observability,
   },
-  'public-api': {
+  'uri-blocker': {
     type: PluginType.security,
   },
-  'real-ip': {
-    type: PluginType.other,
-  },
-  'authz-casdoor': {
+  'wolf-rbac': {
     type: PluginType.authentication,
   },
-  mocking: {
-    type: PluginType.other,
-  },
-  opentelemetry: {
+  zipkin: {
     type: PluginType.observability,
   },
+  'mqtt-proxy': {
+    type: PluginType.other,
+    hidden: true,
+  },
 };


Reply via email to