metadata.json
This file is used by Obsrv while registering and running your connector. Here are the details of the file
type
Type: string
Allowed Values: "connector"
Specifies the type of the configuration. Must always be "connector".
metadata
Type: object
Contains detailed metadata for the connector, including attributes such as id, version, tenant, and others.
id
Type: string
A unique identifier for the connector.
name
Type: string
The name of the connector.
version
Type: string
The version of the connector.
tenant
Type: string
Allowed Values: "single", "multiple"
Indicates whether the connector is for a single or multiple tenants.
type
Type: string
Allowed Values: "source"
Specifies the type of connector, currently restricted to "source".
category
Type: string
Allowed Values: "batch", "stream"
The processing category of the connector.
description
Type: string
A textual description of the connector.
technology
Type: string
Allowed Values: "java", "scala", "python"
The primary technology used by the connector.
runtime
Type: string
Allowed Values: "spark", "flink"
The runtime environment for the connector.
If category is batch, runtime should be spark; if stream it should be flink
licence
Type: string
Specifies the licence type of the connector.
owner
Type: string
The owner or maintainer of the connector.
main_class
Type: string
Specifies the main class of the program. Required for java or scala technologies, optional for python.
main_program
Type: string
Path to the main program of the connector.
icon
Type: string or null
Path or URL for the icon representing the connector. Can be null if no icon is provided.
connectors
Type: array
A list of connectors associated with the configuration. Each item includes attributes like id, name, description, and icon.
Here is a sample metadata.json file for your reference
{
"type": "connector",
"metadata": {
"id": "example-connector",
"name": "Example Connector",
"description": "Pull data from a Source",
"type": "source",
"tenant": "single",
"version": "1.0.0",
"category": "stream",
"technology": "scala",
"runtime": "flink",
"licence": "MIT",
"owner": "Sunbird",
"main_class": "org.sunbird.obsrv.connector.ExampleConnector",
"main_program": "example-connector-1.0.0.jar",
"icon": "icon.svg"
}
}Here is the JSON Schema to validate your metadata.json
