All Projects → lensesio → Schema Registry

lensesio / Schema Registry

Licence: apache-2.0
A CLI and Go client for Kafka Schema Registry

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Schema Registry

Schema Registry
Confluent Schema Registry for Kafka
Stars: ✭ 1,647 (+1468.57%)
Mutual labels:  schema, kafka, avro, confluent
Examples
Demo applications and code examples for Confluent Platform and Apache Kafka
Stars: ✭ 571 (+443.81%)
Mutual labels:  kafka, avro, confluent
Kafkactl
Command Line Tool for managing Apache Kafka
Stars: ✭ 177 (+68.57%)
Mutual labels:  cli, kafka, avro
srclient
Golang Client for Schema Registry
Stars: ✭ 188 (+79.05%)
Mutual labels:  schema, avro, confluent
Kaufmann ex
Kafka backed service library.
Stars: ✭ 86 (-18.1%)
Mutual labels:  schema, kafka, avro
Open Bank Mark
A bank simulation application using mainly Clojure, which can be used to end-to-end test and show some graphs.
Stars: ✭ 81 (-22.86%)
Mutual labels:  kafka, avro, confluent
Compojure Api
Sweet web apis with Compojure & Swagger
Stars: ✭ 1,056 (+905.71%)
Mutual labels:  api, schema
Http Prompt
An interactive command-line HTTP and API testing client built on top of HTTPie featuring autocomplete, syntax highlighting, and more. https://twitter.com/httpie
Stars: ✭ 8,329 (+7832.38%)
Mutual labels:  api, cli
Mattersend
Library and CLI utility to send messages to mattermost's incoming webhooks
Stars: ✭ 68 (-35.24%)
Mutual labels:  api, cli
Mojo Weixin
使用Perl语言(不会没关系)编写的个人账号微信/weixin/wechat客户端框架(非GUI),可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
Stars: ✭ 1,181 (+1024.76%)
Mutual labels:  api, cli
Cli
GraphQL back-end framework with first-class Typescript support
Stars: ✭ 37 (-64.76%)
Mutual labels:  api, cli
Cross Platform Node Guide
📗 How to write cross-platform Node.js code
Stars: ✭ 1,161 (+1005.71%)
Mutual labels:  api, cli
Camus
Mirror of Linkedin's Camus
Stars: ✭ 81 (-22.86%)
Mutual labels:  kafka, confluent
Nodejs
Everything related to the Node.js ecosystem for the commercetools platform.
Stars: ✭ 47 (-55.24%)
Mutual labels:  api, cli
Cloudflare Cli
CLI utility managing CloudFlare services using CloudFlare API
Stars: ✭ 61 (-41.9%)
Mutual labels:  api, cli
Go Kafka Avro
A library provides consumer/producer to work with kafka, avro and schema registry
Stars: ✭ 39 (-62.86%)
Mutual labels:  kafka, avro
Hopp Doc Gen
📔 API documentation generator CLI for https://hoppscotch.io
Stars: ✭ 70 (-33.33%)
Mutual labels:  api, cli
Pypistats
Command-line interface to PyPI Stats API to get download stats for Python packages
Stars: ✭ 86 (-18.1%)
Mutual labels:  api, cli
Run
⚡The resource runtime
Stars: ✭ 90 (-14.29%)
Mutual labels:  api, cli
Oas Generator
NodeJS RESTful APIs scaffolding based OpenAPI 3.x specs using oas-tools and express.
Stars: ✭ 32 (-69.52%)
Mutual labels:  api, cli

Schema Registry CLI and client

This repository contains a Command Line Interface (CLI) and a Go client for the REST API of Confluent's Kafka Schema Registry.

Build Status GoDoc Chat

CLI

To install the CLI, assuming a properly setup Go installation, do:

go get -u github.com/landoop/schema-registry/schema-registry-cli

After that, the CLI is found in $GOPATH/bin/schema-registry-cli. Running schema-registry-cli without arguments gives:

A command line interface for the Confluent schema registry

Usage:
  schema-registry-cli [command]

Available Commands:
  add         registers the schema provided through stdin
  compatible  tests compatibility between a schema from stdin and a given subject
  exists      checks if the schema provided through stdin exists for the subject
  get         retrieves a schema specified by id or subject
  get-config  retrieves global or suject specific configuration
  subjects    lists all registered subjects
  versions    lists all available versions

Flags:
  -h, --help         help for schema-registry-cli
  -n, --no-color     dont color output
  -e, --url string   schema registry url, overrides SCHEMA_REGISTRY_URL (default "http://localhost:8081")
  -v, --verbose      be verbose

Use "schema-registry-cli [command] --help" for more information about a command.

The schema registry url can be configured through the SCHEMA_REGISTRY_URL environment variable, and overridden through --url. When none is provided, http://localhost:8081 is used as default.

Client

The client package provides a client to deal with the registry from code. It is used by the CLI internally. Usage looks like:

import "github.com/landoop/schema-registry"

client, _ := schemaregistry.NewClient(schemaregistry.DefaultUrl)
client.Subjects()

Or, to use with a Schema Registry endpoint listening on HTTPS:

import (
    "crypto/tls"
    "crypto/x509"
    "io/ioutil"

    "github.com/landoop/schema-registry"
)

// Create a TLS config to use to connect to Schema Registry. This config will permit TLS connections to an endpoint
// whose TLS cert is signed by the given caFile.
caCert, err := ioutil.ReadFile("/path/to/ca/file")
if err != nil {
    panic(err)
}

caCertPool := x509.NewCertPool()
caCertPool.AppendCertsFromPEM(caCert)

tlsConfig :=  &tls.Config{
    RootCAs:            caCertPool,
    InsecureSkipVerify: true,
}

httpsClientTransport := &http.Transport{
  TLSClientConfig: tlsConfig,
}

httpsClient := &http.Client{
  Transport: httpsClientTransport,
}

// Create the Schema Registry client
client, _ := schemaregistry.NewClient(baseurl, UsingClient(httpsClient))
client.Subjects()

The documentation of the package can be found here: GoDoc

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].