metadata.json

This file is used by Obsrv while registering and running your connector. Here are the details of the file

Name
Description

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