Categorygithub.com/mollie/go-apicurio-registry
modulepackage
0.0.1
Repository: https://github.com/mollie/go-apicurio-registry.git
Documentation: pkg.go.dev

# README

Go-APICURIO-SDK

Go Reference Integration Tests

Go-APICURIO-SDK is an open-source Go SDK for interacting with Apicurio Schema Registry v3.0 APIs. This library provides an idiomatic Go interface to manage schemas, validate data, and handle schema evolution in Go applications. It is designed to make it easy for developers to integrate the Apicurio Schema Registry into their Go-based microservices or event-driven systems.

🚧 Work In Progress

This SDK is currently under active development. Key features and improvements are being added incrementally. While contributions and feedback are welcome, please note that some APIs and features may change as the project evolves.

Features

  • Schema Management: Create, update, delete, and retrieve schemas.
  • Validation: Validate payloads against registered schemas.
  • Schema Evolution: Tools for managing schema compatibility and evolution.
  • Integration: Works seamlessly with the Apicurio Schema Registry.

Getting Started

Prerequisites

  • Go 1.18+ installed on your system.
  • Access to an Apicurio Schema Registry instance.

Installation

To use the SDK, add it to your project using go get:

go get github.com/mollie/go-apicurio-registry

Development

Running Locally with Docker This project includes a docker-compose.yml file for setting up a local Apicurio Schema Registry instance. Run the following command to start the registry:

docker-compose up

Running Tests

The repository includes unit and integration tests. Use the following command to run all tests:

go test ./...

Contribution Guidelines

Contributions are welcome! Please see the CONTRIBUTING.md (to be added) for details on the process.

License

This project is licensed under the Apache License 2.0.

# Packages

Package apis provides multiple APIs to interact with the Apicurio Registry.
Package client provides the core client implementation for interacting with the Apicurio Registry.
Package models provides the data models used by the Apicurio Registry client.