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
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.
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.