snowplow / iglu   0.9.0

Apache License 2.0 Website GitHub

Iglu is a machine-readable, open-source schema repository for JSON Schema from the team at Snowplow

Scala versions: 2.12 2.11 2.10

Snowplow Iglu

Latest release License Discourse posts

Snowplow logo

Overview

Iglu is a machine-readable, open-source schema repository for JSON Schema from the team at Snowplow. A schema repository (also called a registry) is like npm or Maven or git, but holds data schemas instead of software or code.

Iglu is used extensively in Snowplow. For a presentation on how we came to build Iglu, see this blog post.

Table of contents

Where to start?

The documentation is a great place to learn more, especially:

Would rather dive into the code? Then you are already in the right place!


Iglu technology 101

Iglu architecture

The repository structure outlines the interrelations among the architectural components of Iglu. To briefly explain these components:

  • Common: Common libraries and tools of the Iglu ecosystem.
  • Clients: Iglu clients are used for interacting with Iglu server repos and for resolving schemas in embedded and remote Iglu schema repositories.
  • Repositories: Iglu repositories act as stores of data schemas, that can be embedded or hosted over HTTP.
  • Infrastructure: Containers (e.g. terraform-modules) bundling infrastructure as code configuration for Iglu Server.

About this repository

This repository is an umbrella repository for all loosely-coupled Iglu components and is updated on each component release.

Since August 2022, all components have been extracted into their dedicated repositories and are still here as git submodules. This repository serves as an entry point and as a historical artifact.

Common

Clients

Repositories

Infrastructure

Copyright and license

Iglu is copyright 2014-2023 Snowplow Analytics Ltd.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.