This file is used by Obsrv while registering and running your connector. Here are the details of the file
Name
Description
type
Type: stringAllowed 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: stringAllowed Values: "single", "multiple"
Indicates whether the connector is for a single or multiple tenants.
type
Type: stringAllowed Values: "source"
Specifies the type of connector, currently restricted to "source".
category
Type: stringAllowed Values: "batch", "stream"
The processing category of the connector.
description
Type: string
A textual description of the connector.
technology
Type: stringAllowed Values: "java", "scala", "python"
The primary technology used by the connector.
runtime
Type: stringAllowed 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