degauss

Crates.iodegauss
lib.rsdegauss
version0.1.8
sourcesrc
created_at2021-10-31 20:23:58.772729
updated_at2023-04-26 20:08:07.793485
descriptionYour friendly neighborhood Avro schema compatibility checker.
homepagehttps://github.com/vertexclique/degauss
repositoryhttps://github.com/vertexclique/degauss
max_upload_size
id474863
size220,498
Ankur Srivastava (ansrivas)

documentation

https://docs.rs/degauss

README

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
Commit count: 91

cargo fmt