No release in over 3 years
Low commit activity in last 3 years
Ruby client for confluent schema registry: https://github.com/confluentinc/schema-registry
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.17
~> 10.0
~> 3.0

Runtime

~> 0.2.6
 Project Readme

SchemaRegistryCli

Ruby Client for Confluent Schema registry (https://github.com/confluentinc/schema-registry)[https://github.com/confluentinc/schema-registry]

This gem is builded with (wrappi)[https://github.com/arturictus/wrappi] you can check more documentation of how to use it there.

TODO

  • Add cache

Installation

Add this line to your application's Gemfile:

gem 'schema_registry_cli'

And then execute:

$ bundle

Or install it yourself as:

$ gem install schema_registry_cli

Config

Setup is a Wrappi::Client check more documentation at:

SchemaRegistryCli.setup do |config|
  config.domain = "http://my-registry.com:8081"
end

Usage

Helpers

SchemaRegistryCli.register('kafka-key', 'string')# => {"id":1}
SchemaRegistryCli.lastest_version('not-registered') # => ERROR

methods:

  • register(subject, schema)
  • subjects
  • subject_versions(subject)
  • fetch_schema(id)
  • fetch_version(subject, version)
  • latest_version(subject)
  • delete_version(subject, version)
  • delete_subject(subject)
  • check_registered(subject, schema)
  • test_compatibility(subject, schema)
  • sr_config
  • update_config(value)
  • update_subject_compatibility(value)

Internal Classes

You can use the internal classes. They are Wrappi::Endpoints. (wrappi)[https://github.com/arturictus/wrappi#usage] Declarations and ruby docs (here)[lib/schema_registry_cli/endpoints.rb]

req = SchemaRegistryCli::Register.new(subject: "kafka-key", schema: "{\"type\": \"string\"}")
req.body #=> {"id":1}

classes available:

  • Register
  • Subjects
  • SubjectVersions
  • FetchSchema
  • FetchVersion
  • LatestVersion
  • DeleteVersion
  • DeleteSubject
  • CheckRegistered
  • TestCompatibility
  • SRConfig
  • UpdateConfig
  • UpdateSubjectCompatibility

Rake

rake -T

rake schema_registry_cli:delete_all_schemas  # [DESTRUCTIVE] this will delete all schemas
rake schema_registry_cli:show_latest         # show last version of all registered schemas

Development

run schema registry locally:

bin/run_registry

run tests:

bundle exec rspec

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/arturictus/schema_registry_cli. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

Code of Conduct

Everyone interacting in the SchemaRegistryCli project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.