Build and run ODD Collectors
Developer guide on how to build and run ODD Collectors
For instructions on how to run the ODD Platform and ODD Collectors locally in a Docker environment, please follow Try locally article.
ODD Collectors tech stack
There are 3 main collectors at the moment:
****ODD Collector **** — covering databases, BI tools, data warehouses, etc
****ODD Collector AWS — covering AWS services
****ODD Collector GCP **** — covering GCP services
While ODD Collector AWS and ODD Collector GCP use boto3 and Google SDKs respectively, ODD Collector has a bunch dependencies for each data source.
General tech stack is:
Python
Poetry
asyncio
Prerequisites
Python 3.9.1
Poetry 1.2.0
preferably the latest docker-compose
Build ODD Collector into Docker container
Fork and clone a repository if you haven't done it already.
Go into the repository's root directory
Run the following command, replacing <tag>
with any tag name you'd like
Run ODD Collector locally
Run ODD Platform locally as a target for ODD Collector
In order to run ODD Platform locally please follow this guide.
Activate environment
Go into the repository's root directory
Run following commands to create local python environment and install dependencies
Change your python context to created one.
Configure ODD Collector to send request to target catalog
Create collector in the ODD Platform and copy created token using this guide.
Configure collector-config.yaml
using this as an example. Replace <COLLECTOR_TOKEN>
with token obtained in the previous step.
Run ODD Collector
Run ODD Collector locally using following command:
How to implement new integration
Create configuration entry for new integration
Add new integration plugin derived from BasePlugin
and register it in PluginFactory
Implement new integration
Each adapter module (i.e odd_collector.adapters.my_adapter
) must have adapter.py
python file. That file must have class derived from AbstractAdapter.
Make pull request to the origin repository
Please use this guide for making forks and pull requests
Troubleshooting
Running ODD Collector on M1
libraries pyodbc
, confluent-kafka
and grpcio
have problem during installing and building project on M1 Macbooks.
Possible solution:
The easiest way is to add all export statements to your .bashrc/.zshrc file
Last updated