Issue 553 - add : Add schemav2validator plugin documentation and configuration examples
This commit is contained in:
41
CONFIG.md
41
CONFIG.md
@@ -479,7 +479,38 @@ schemaValidator:
|
||||
|
||||
---
|
||||
|
||||
#### 5. Sign Validator Plugin
|
||||
#### 5. Schema2Validator Plugin
|
||||
|
||||
**Purpose**: Validate requests against OpenAPI 3.x specifications with action-based matching.
|
||||
|
||||
```yaml
|
||||
schemaValidator:
|
||||
id: schemav2validator
|
||||
config:
|
||||
type: url
|
||||
location: https://raw.githubusercontent.com/beckn/protocol-specifications-new/refs/heads/draft/api-specs/beckn-protocol-api.yaml
|
||||
cacheTTL: "3600"
|
||||
```
|
||||
|
||||
**Or for local files:**
|
||||
|
||||
```yaml
|
||||
schemaValidator:
|
||||
id: schemav2validator
|
||||
config:
|
||||
type: file
|
||||
location: ./validation-scripts/l2-config/mobility_1.1.0_openapi_3.1.yaml
|
||||
cacheTTL: "3600"
|
||||
```
|
||||
|
||||
**Parameters**:
|
||||
- `type`: Source type - `"url"` for remote specs, `"file"` for local files
|
||||
- `location`: URL or file path to OpenAPI 3.1 specification
|
||||
- `cacheTTL`: Cache TTL in seconds before reloading spec (default: `"3600"`)
|
||||
|
||||
---
|
||||
|
||||
#### 6. Sign Validator Plugin
|
||||
|
||||
**Purpose**: Validate Ed25519 digital signatures on incoming requests.
|
||||
|
||||
@@ -492,7 +523,7 @@ signValidator:
|
||||
|
||||
---
|
||||
|
||||
#### 6. Router Plugin
|
||||
#### 7. Router Plugin
|
||||
|
||||
**Purpose**: Determine routing destination based on rules.
|
||||
|
||||
@@ -517,7 +548,7 @@ router:
|
||||
|
||||
---
|
||||
|
||||
#### 7. Signer Plugin
|
||||
#### 8. Signer Plugin
|
||||
|
||||
**Purpose**: Sign outgoing requests with Ed25519 signature.
|
||||
|
||||
@@ -530,7 +561,7 @@ signer:
|
||||
|
||||
---
|
||||
|
||||
#### 8. Publisher Plugin
|
||||
#### 9. Publisher Plugin
|
||||
|
||||
**Purpose**: Publish messages to RabbitMQ or Pub/Sub for asynchronous processing.
|
||||
|
||||
@@ -548,7 +579,7 @@ publisher:
|
||||
|
||||
---
|
||||
|
||||
#### 9. Middleware Plugin
|
||||
#### 10. Middleware Plugin
|
||||
|
||||
**Purpose**: Request preprocessing like UUID generation and header manipulation.
|
||||
|
||||
|
||||
@@ -121,7 +121,8 @@ The **Beckn Protocol** is an open protocol that enables location-aware, local co
|
||||
- **Router**: YAML-based routing rules engine for request forwarding
|
||||
- **Signer**: Ed25519 digital signature creation for outgoing requests
|
||||
- **SignValidator**: Ed25519 signature validation for incoming requests
|
||||
- **SchemaValidator**: JSON schema validation
|
||||
- **SchemaValidator**: JSON schema validation
|
||||
- **Schemav2Validator**: OpenAPI 3.x schema validation with action-based matching
|
||||
- **KeyManager**: HashiCorp Vault integration for production key management
|
||||
- **SimpleKeyManager**: Embedded key management for local development (no external dependencies)
|
||||
- **Publisher**: RabbitMQ message publishing for asynchronous processing
|
||||
@@ -305,9 +306,11 @@ modules:
|
||||
config:
|
||||
routingConfig: ./config/routing.yaml
|
||||
schemaValidator:
|
||||
id: schemavalidator
|
||||
id: schemavalidator # or schemav2validator
|
||||
config:
|
||||
schemaDir: ./schemas
|
||||
schemaDir: ./schemas # for schemavalidator
|
||||
# type: url # for schemav2validator
|
||||
# location: https://example.com/spec.yaml
|
||||
steps:
|
||||
- validateSign
|
||||
- addRoute
|
||||
|
||||
22
SETUP.md
22
SETUP.md
@@ -830,6 +830,28 @@ schemaValidator:
|
||||
schemaURL: https://schemas.beckn.org
|
||||
```
|
||||
|
||||
#### Schema2Validator Plugin
|
||||
|
||||
**Remote URL Configuration:**
|
||||
```yaml
|
||||
schemaValidator:
|
||||
id: schemav2validator
|
||||
config:
|
||||
type: url
|
||||
location: https://raw.githubusercontent.com/beckn/protocol-specifications-new/refs/heads/draft/api-specs/beckn-protocol-api.yaml
|
||||
cacheTTL: "3600"
|
||||
```
|
||||
|
||||
**Local File Configuration:**
|
||||
```yaml
|
||||
schemaValidator:
|
||||
id: schemav2validator
|
||||
config:
|
||||
type: file
|
||||
location: ./schemas/beckn-protocol-api.yaml
|
||||
cacheTTL: "3600"
|
||||
```
|
||||
|
||||
#### Router Plugin
|
||||
```yaml
|
||||
router:
|
||||
|
||||
Reference in New Issue
Block a user