To start developing connectors, here are the prerequisites
Postgresql 16 or later
Kafka 3.7.1 or later
Postgresql
To set up a database for obsrv in PostgreSQL, follow these steps:
Start your PostgreSQL server.
Create a database named obsrv by executing the following command
CREATE DATABASE obsrv;
Proceed to create the required tables within the obsrv database as
CREATE TABLE public.datasets ( id text NOT NULL, dataset_id textNULL,"type"text NOT NULL,"name"textNULL, validation_config jsonNULL, extraction_config jsonNULL, dedup_config jsonNULL, data_schema jsonNULL, denorm_config jsonNULL, router_config jsonNULL, dataset_config jsonNULL, tags _text NULL, data_version int4 NULL,statustextNULL, created_by textNULL, updated_by textNULL, created_date timestamp DEFAULT now() NOT NULL, updated_date timestamp NOT NULL, published_date timestamp DEFAULT now() NOT NULL, api_version varchar(255) DEFAULT 'v1'::character varying NOT NULL,"version" int4 DEFAULT 1 NOT NULL, sample_data json DEFAULT '{}'::jsonNULL, entry_topic text DEFAULT 'dev.ingest'::text NOT NULL, CONSTRAINT datasets_pkey PRIMARY KEY (id));CREATE TABLE public.connector_registry ( id text NOT NULL, connector_id text NOT NULL,"name"text NOT NULL,"type"text NOT NULL, category text NOT NULL,"version"text NOT NULL,descriptiontextNULL, technology text NOT NULL, runtime text NOT NULL, licence text NOT NULL,"owner"text NOT NULL, iconurl textNULL,statustext NOT NULL, ui_spec json DEFAULT '{}'::json NOT NULL, source_url text NOT NULL,"source"json NOT NULL, created_by text NOT NULL, updated_by text NOT NULL, created_date timestamp NOT NULL, updated_date timestamp NOT NULL, live_date timestampNULL, CONSTRAINT connector_registry_connector_id_version_key UNIQUE (connector_id, version), CONSTRAINT connector_registry_pkey PRIMARY KEY (id));CREATE TABLE public.connector_instances ( id text NOT NULL, dataset_id text NOT NULL, connector_id text NOT NULL, connector_config text NOT NULL, operations_config json NOT NULL,statustext NOT NULL, connector_state json DEFAULT '{}'::json NOT NULL, connector_stats json DEFAULT '{}'::json NOT NULL, created_by text NOT NULL, updated_by text NOT NULL, created_date timestamp NOT NULL, updated_date timestamp NOT NULL, published_date timestamp NOT NULL,"name"textNULL, CONSTRAINT connector_instances_pkey PRIMARY KEY (id), CONSTRAINT connector_instances_connector_id_fkey FOREIGN KEY (connector_id) REFERENCES public.connector_registry(id), CONSTRAINT connector_instances_dataset_id_fkey FOREIGN KEY (dataset_id) REFERENCES public.datasets(id));
In case you already have a full version of Obsrv installed, the above steps can be skipped
Kafka
The Obsrv pipeline utilizes Kafka to efficiently process data in real-time. Connector SDKs ensure data is pushed to Kafka upon confirmation of successful connection, facilitating smooth data integration and quick responsiveness.