open-ve

module
v0.0.0-...-d510c65 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2025 License: MIT

README ΒΆ

Open-VE: Centralized and Consistent Data Validation Engine

GitHub Release GitHub License GitHub go.mod Go version GitHub Repo stars

A powerful solution that simplifies the management of validation rules, ensuring consistent validation across all layers, including frontend, BFF, and microservices, through a single, simple API.

Open-VE offers an HTTP API and a gRPC API. We currently provide a Go and TypeScript SDK.

Features

πŸ“• Centralized Validation Logic Management

Manage validation rules in one place using Common Expression Language (CEL), ensuring language-agnostic consistency of validation across your system.

πŸ”Œ API-Based Validation Management and Query

Register, update, retrieve, and query validation rules through a simple and consistent API, enabling seamless validation checks and eliminating the need for custom logic at various application layers.

🏭 Schema Auto Generation

Generate Open-VE Schame from OpenAPI and Protobuf definitions for ease of integration.

πŸ§ͺ Schema Unit Testing

Validate Open-VE schema correctness with built-in unit testing capabilities.

🌐 Distributed Validation Logic Management for Microservices

Supports master-slave architecture for distributed validation management. Improve scalability and compatibility with microservice environments.

Getting Started

brew
brew install shibukazu/tap/open-ve
open-ve run
Build From Source
go build -o open-ve go/cmd/open-ve/main.go
./open-ve run
Docker Compose
docker-compose up

Reference

Example
Documents

Limitation

CEL

We only support the basic types of CEL currently.

Type Support Future Support
int βœ…
uint βœ…
double βœ…
bool βœ…
string βœ…
bytes βœ…
list βœ…
map βœ…
null_type ❓
message names ❓
type ❓

Directories ΒΆ

Path Synopsis
go
proto/dsl/v1
Package v1 is a reverse proxy.
Package v1 is a reverse proxy.
proto/slave/v1
Package v1 is a reverse proxy.
Package v1 is a reverse proxy.
proto/validate/v1
Package v1 is a reverse proxy.
Package v1 is a reverse proxy.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL