Communityv1.0

Schema Validator

Validate a schema before publishing — in a single call. The Validator combines your registry's compatibility check, event7 governance rules evaluation, and a field-level diff preview into one unified report. No more “push and pray”.

The problem

Today, a developer who wants to publish a new schema version has to push it to the registry and find out after the fact whether it's compatible. There's no single place to check compatibility, governance rules, and the actual diff — all before publishing.

Confluent's UI shows the compatibility mode but offers no visual dry-run. Apicurio has no “test before publish” feature. Conduktor and Lenses focus on runtime ops, not pre-publish validation. And none of them evaluate governance rules (naming conventions, required fields, documentation standards) alongside technical compatibility.

event7's Schema Validator solves this by combining three checks in one report — so you know if your schema is ready before it touches the registry.

Three checks, one report

① Compatibility

Proxies your registry's compatibility API (Confluent, Apicurio via ccompat/v7, Karapace, Redpanda). Returns whether the schema is compatible with the current version, plus detailed error messages if not.

② Governance Rules

Evaluates all event7 governance rules applicable to the subject — naming conventions, required fields, documentation standards, field count limits, and regex patterns. Returns score, violations count, and details per rule.

③ Diff Preview

Field-level diff against the current version — fields added, removed, or modified. Uses the same LCS-based diff engine as the Visual Diff Viewer. Flags breaking changes independently of the SR.

Verdict logic

The three checks are combined into a single verdict. event7 applies a defense-in-depth strategy: even if the SR says “compatible”, event7 independently detects breaking changes by crossing the compatibility mode with the actual diff.

FAIL

SR reports incompatible

Governance violations with severity error or critical

Breaking changes detected + strict compatibility mode (BACKWARD, FORWARD, FULL, *_TRANSITIVE)

WARN

Breaking changes detected + non-strict mode (NONE, unknown)

Governance violations with severity warning or info only

PASS

SR compatible + no governance violations (error/critical) + no breaking changes in strict mode

Governance evaluators

The Validator runs five built-in evaluators against the candidate schema. Each evaluator maps to governance rule categories defined in event7. Only rules with scope declarative or audit are evaluated — runtime and control_plane rules are skipped (with a note in the report).

require_doc_fields

Checks that all fields have documentation (doc for Avro, description for JSON Schema).

Example: “Field "email" missing doc annotation

require_fields

Verifies that mandatory fields are present (via rule params.required_fields or heuristic detection).

Example: “Required field "id" not found in schema

naming_convention

Validates record name, namespace, and subject name against regex patterns defined in the rule.

Example: “Record name "user_event" does not match pattern "^[A-Z][a-zA-Z0-9]+$"

max_fields

Flags schemas with too many fields (default threshold: 30). Catches god-schemas.

Example: “Schema has 42 fields, exceeds maximum of 30

field_regex

Validates all field names against a regex pattern (e.g. camelCase, snake_case enforcement).

Example: “Field "ZIP_CODE" does not match pattern "^[a-z][a-zA-Z0-9]*$"

How to use

Dedicated page — /validate

Navigate to Validate in the sidebar (Explore group). The page is split in two:

Left — Input form

Select the target subject (autocomplete from cache), pick the format (Avro / JSON Schema / Protobuf), paste your schema JSON or upload a .avsc / .json file. Click Validate.

Right — Validation report

Verdict badge (PASS / WARN / FAIL), three collapsible sections: Compatibility (mode + result + SR messages), Governance Rules (score + violations), Diff Preview (fields +/−/~ with breaking indicator).

JSON syntax check

Before calling the API, the frontend validates that the input parses as valid JSON — saving a round-trip for syntax errors. The schema content area uses a monospace font with line numbers for readability.

Provider support

ProviderCompatibility checkGovernance rulesDiff preview
Confluent Cloud
Confluent Platform
Apicurio v3
Karapace (Aiven)
Redpanda SR
AWS Glue (future)N/A
Azure SR (future)N/A

Providers without a dry-run compatibility API (AWS Glue, Azure) will return governance rules + diff only — the compatibility section shows “not available for this provider”.

What's next

v1.1

Apicurio native dry-run

Use the X-Registry-DryRun header on Apicurio's native v3 API to validate all artifact rules — not just compatibility.

v1.2

Impact Analysis

After the diff, show which schemas reference this subject (via the References Graph) and estimate the downstream impact of the change.

v1.3

CI/CD integration

The endpoint is already REST-friendly. A CLI wrapper or GitHub Action that calls POST /schemas/validate and returns exit code 0 (PASS) or 1 (FAIL) for pipeline gates.

v1.4

Batch validation

Validate multiple schemas in a single call — useful for monorepos with N schemas that evolve together.

Resources