vertexclique / degauss

Avro schema compatibility checker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Degauss

DeGauss

Your friendly neighborhood Avro schema compatibility checker.


cicd Crates.io Docs.rs codecov


Install

Grab a binary from releases

Using cargo

cargo install degauss

Example

  • Check the compatibility of your schemas

    $ degauss validate -s tests/data/movies-raw-reader.avsc tests/data/movies-raw-writer.avsc -c full-transitive
    
  • Check the compatibility and set the exit status in case of a failure.

    $ degauss validate -s tests/data/movies-raw-reader.avsc tests/data/movies-raw-writer.avsc -c full-transitive --exit-status
    
  • Register a schema to schema-registry

    • create a file with env variables
    $ cat env
    export DEGAUSS_SCHEMA_REGISTRY_URL=https://some-url
    export DEGAUSS_SCHEMA_REGISTRY_USER=some-user
    export DEGAUSS_SCHEMA_REGISTRY_PASS=some-pass
    
    $ source env
    
    $ degauss schema-registry register --subject-type value --topic test2 --schema-path ./tests/data/movies-raw-reader.avsc
    
  • Get the compatibility for a subject:

    $ degauss schema-registry compatibility get --subject-type value --topic test
    
  • Set the compatibility for a subject:

    $ degauss schema-registry compatibility set --subject-type value --topic test --compatibility forward
    

Development

Apart from integration tests, to run compatibility tests please use:

cargo test _compat

About

Avro schema compatibility checker


Languages

Language:Rust 100.0%