OverviewArchitectureRecipeSourceProcessorSinkContext Graph for AI
OverviewArchitectureRecipeSourceProcessorSinkContext Graph for AI

Overview

Extractors are plugins that pull metadata from data sources. Each extractor connects to a source system, discovers resources, and emits records containing entities and edges.

To use an extractor, add a source block to your recipe:

source:
  name: bigquery
  scope: my-project
  config:
    project_id: my-gcp-project

Supported extractors

ExtractorEntity typesEdgesSource
application_yamlapplicationowned_by, derived_from, generatesYAML file
bigquerytablederived_fromBigQuery API
bigtabletable—Bigtable API
cassandratable—Cassandra
clickhousetable—ClickHouse
confluencedocument, spacebelongs_to, child_of, owned_by, documented_byConfluence REST API v2
couchdbtable—CouchDB
csvtable—Local CSV files
dbtmodel, sourcederived_from, owned_bydbt artifact files
elastictable—Elasticsearch API
gcsbucket—Google Cloud Storage API
githubuser, repository, team, documentmember_of, owned_by, belongs_to, has_access_toGitHub API
grafanadashboard, datasourcederived_fromGrafana HTTP API
gsuiteuser—Admin SDK Directory API
httpany (script-defined)—HTTP API with a Tengo script
kafkatopic, consumer_groupconsumed_byKafka broker
kubernetesnamespace, deployment, service, pod, jobbelongs_toKubernetes API
mariadbtablereferencesMariaDB
metabasedashboardderived_from, owned_byMetabase API
mongodbtable—MongoDB
mssqltablereferencesMicrosoft SQL Server
mysqltablereferencesMySQL
notiondocumentchild_of, belongs_to, owned_by, documented_byNotion API
openapiapi—OpenAPI and protobuf spec files
opsgenieservice, incidentowned_by, belongs_toOpsGenie REST API
optimusjobderived_from, generates, owned_byOptimus gRPC API
oracletablereferencesOracle
pagerdutyservice, incidentowned_by, belongs_toPagerDuty REST API v2
postgrestablereferencesPostgreSQL
prestotable—Presto
redashdashboardowned_byRedash REST API
redshifttable—Redshift Data API
snowflaketablereferencesSnowflake
supersetdashboardowned_bySuperset API
tableaudashboardderived_from, owned_byTableau REST and Metadata API

Entity types

The http extractor is not listed below. It emits entities of any type your script defines.

Entity typeDescriptionExtractors
apiAn API described by an OpenAPI or protobuf spec.openapi
applicationA deployed application or service described in a YAML file.application_yaml
bucketAn object storage bucket.gcs
consumer_groupA Kafka consumer group.kafka
dashboardA dashboard in a BI or visualization tool.grafana, metabase, redash, superset, tableau
datasourceA data connection that dashboards read from.grafana
deploymentA Kubernetes deployment.kubernetes
documentA page or file of documentation.confluence, github, notion
incidentAn incident tracked in an on-call tool.opsgenie, pagerduty
jobA batch job or a scheduled pipeline job.kubernetes, optimus
modelA dbt model.dbt
namespaceA Kubernetes namespace.kubernetes
podA Kubernetes pod.kubernetes
repositoryA code repository.github
serviceA running service, either in Kubernetes or in an on-call tool.kubernetes, opsgenie, pagerduty
sourceA dbt source table.dbt
spaceA Confluence space.confluence
tableA table, index, collection, or file that holds rows of data.bigquery, bigtable, cassandra, clickhouse, couchdb, csv, elastic, mariadb, mongodb, mssql, mysql, oracle, postgres, presto, redshift, snowflake
teamA team of users.github
topicA Kafka topic.kafka
userA person's account.github, gsuite

Edge types

Edge typeMeaningExtractors
belongs_toThe entity is part of a larger container, like a space, namespace, repository, database, or service.confluence, github, kubernetes, notion, opsgenie, pagerduty
child_ofThe entity is nested under a parent of the same kind, like a page under a page.confluence, notion
consumed_byA consumer group reads from a topic.kafka
derived_fromThe entity is built from or reads the target, like a view from a table or a dashboard from a datasource.application_yaml, bigquery, dbt, grafana, metabase, optimus, tableau
documented_byA document describes a data asset. Created when a page mentions the asset's URN.confluence, notion
generatesThe entity produces the target, like a job writing to a table.application_yaml, optimus
has_access_toA user has access to a repository, with a permission level.github
member_ofA user belongs to a team or organisation.github
owned_byThe entity is owned by a user or team.application_yaml, confluence, dbt, github, metabase, notion, opsgenie, optimus, pagerduty, redash, superset, tableau
referencesA table points to another table through a foreign key.mariadb, mssql, mysql, oracle, postgres, snowflake
ExamplesApplication YAML
On this page
Supported extractorsEntity typesEdge types