A JVM-embedded repo is an Iglu repository embedded inside a Java or Scala application, typically alongside the Scala client.
A JVM-embedded repo is simply a set of schemas stored in an Iglu-compatible path inside the
resources folder of a Java or Scala application.
As an embedded repo, there is a no mechanism for updating the schemas stored in the repository following the release of the host application.
For an example of a JVM-embedded repo, check out the repository embedded in the Iglu Scala client itself:
This embedded repository is used to bootstrap the Iglu Scala client with JSON Schemas that it needs before it can access any remote repositories.
You need to create a file structure for your JSON Schemas. Please check out the template we provide here:
Make the following changes:
com.myvendorwith your company domain, reverse-ordered
myschemawith the name of your first JSON Schema
jsonschemaas-is (we only support JSON Schemas for now)
1-0-0with the schema specification of your first JSON Schema
Writing JSON Schemas is out of scope for this setup guide – see Self-describing-JSONs-and-JSON-Schemas for details.
Done? Now you are ready to embed your files.
You now need to embed your JSON Schema files into your Java or Scala application.
The Iglu Scala client will expect to find these JSON Schema files included in the application as resources. Therefore, you should store the files in a path something like this:
Finally, update your Iglu client configuration so that it can resolve your new repository.
For details on how to do this, check out the page on Iglu client configuration. In the case above, the
path you would specify for your embedded Iglu repository would be simply