data/ecosystem.ts (615 lines of code) (raw):
export const categories = [
'client_api',
'client_wrapper',
'database_integration',
'io',
'logging',
'observability',
'protocol_handlers',
'search_and_query',
'security_plugins',
'stream_processing',
'tools'
] as const;
export type Category = typeof categories[number];
export const categoryLabels: Record<Category, string> = {
client_api: 'Client API',
client_wrapper: 'Client Wrapper',
database_integration: 'Database Integration',
io: 'IO',
logging: 'Logging',
observability: 'Observability',
protocol_handlers: 'Protocol Handlers',
search_and_query: 'Search and Query',
security_plugins: 'Security Plugins',
stream_processing: 'Stream Processing',
tools: 'Tools'
};
export type Resource = {
name: string;
description: string;
link: string;
source_or_sink: string;
};
export const resources: Record<Category, Resource[]> = {
client_api: [
{
name: 'Starlight for JMS',
description: 'Implements the JMS 2.0 (Java Messaging Service ®) API over the Apache Pulsar® Java Client.',
link: 'https://github.com/datastax/pulsar-jms',
source_or_sink: 'N/A'
}
],
client_wrapper: [
{
name: 'Kafka Client Wrapper',
description: '',
link: 'https://github.com/apache/pulsar-adapters/tree/master/pulsar-client-kafka-compat',
source_or_sink: 'N/A'
}
],
database_integration: [
{
name: 'Azure Data Explorer (Kusto) Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/azure-kusto',
source_or_sink: 'Sink'
},
{
name: 'Azure DocumentDB Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/azure-documentdb',
source_or_sink: 'Source'
},
{
name: 'Cassandra Connector',
description: '',
link: 'https://github.com/datastax/cdc-apache-cassandra',
source_or_sink: 'Source'
},
{
name: 'Cassandra Sink Connector',
description: '',
link: 'https://github.com/datastax/pulsar-sink',
source_or_sink: 'Sink'
},
{
name: 'Couchbase Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/couchbase',
source_or_sink: 'Source and Sink'
},
{
name: 'Geode Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/geode',
source_or_sink: 'Source and Sink'
},
{
name: 'Google BigQuery Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/bigquery',
source_or_sink: 'Sink'
},
{
name: 'Kinetica Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/kinetica',
source_or_sink: 'Source and Sink'
},
{
name: 'Kudu Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/kudu',
source_or_sink: 'Sink'
},
{
name: 'MarkLogic Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/marklogic',
source_or_sink: 'Sink'
},
{
name: 'Neo4j Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/neo4j',
source_or_sink: 'Sink'
},
{
name: 'OrientDB Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/orientdb',
source_or_sink: 'Sink'
},
{
name: 'Phoenix Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/phoenix',
source_or_sink: 'Sink'
},
{
name: 'Redis Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/redis',
source_or_sink: 'Source and Sink'
},
{
name: 'SAP HANA Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/sap-hana',
source_or_sink: 'Source and Sink'
},
{
name: 'SingleStore Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/singlestore',
source_or_sink: 'Sink'
},
{
name: 'Snowflake Connector',
description: '',
link: 'https://github.com/datastax/snowflake-connector',
source_or_sink: 'Sink'
},
{
name: 'XTDB Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/xtdb',
source_or_sink: 'Sink'
},
{
name: 'Aerospike Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/aerospike',
source_or_sink: 'Sink'
},
{
name: 'Canal Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/canal',
source_or_sink: 'Source'
},
{
name: 'Cassandra Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/cassandra',
source_or_sink: 'Sink'
},
{
name: 'Debezium Connector (Microsoft SQL Server)',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/debezium/mssql',
source_or_sink: 'Source'
},
{
name: 'Debezium Connector (MongoDB)',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/debezium/mongodb',
source_or_sink: 'Source'
},
{
name: 'Debezium Connector (MySQL)',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/debezium/mysql',
source_or_sink: 'Source'
},
{
name: 'Debezium Connector (Oracle)',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/debezium/oracle',
source_or_sink: 'Source'
},
{
name: 'Debezium Connector (PostgreSQL)',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/debezium/postgres',
source_or_sink: 'Source'
},
{
name: 'DynamoDB Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/dynamodb',
source_or_sink: 'Source'
},
{
name: 'HBase Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/hbase',
source_or_sink: 'Sink'
},
{
name: 'HDFS2 Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/hdfs2',
source_or_sink: 'Sink'
},
{
name: 'HDFS3 Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/hdfs3',
source_or_sink: 'Sink'
},
{
name: 'InfluxDB Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/influxdb',
source_or_sink: 'Sink'
},
{
name: 'JDBC Connector (ClickHouse)',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/jdbc/clickhouse',
source_or_sink: 'Sink'
},
{
name: 'JDBC Connector (MariaDB)',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/jdbc/mariadb',
source_or_sink: 'Sink'
},
{
name: 'JDBC Connector (OpenMLDB)',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/jdbc/openmldb',
source_or_sink: 'Sink'
},
{
name: 'JDBC Connector (PostgreSQL)',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/jdbc/postgres',
source_or_sink: 'Sink'
},
{
name: 'JDBC Connector (SQLite)',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/jdbc/sqlite',
source_or_sink: 'Sink'
},
{
name: 'MongoDB Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/mongo',
source_or_sink: 'Sink'
},
{
name: 'Redis Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/redis',
source_or_sink: 'Sink'
}
],
io: [
{
name: 'AMQP1_0 Connector',
description: '',
link: 'https://github.com/streamnative/pulsar-io-amqp-1-0',
source_or_sink: 'Source and Sink'
},
{
name: 'AWS Lambda Connector',
description: '',
link: 'https://github.com/streamnative/pulsar-io-aws-lambda',
source_or_sink: 'Sink'
},
{
name: 'AWS SQS Connector',
description: '',
link: 'https://github.com/streamnative/pulsar-io-sqs',
source_or_sink: 'Source and Sink'
},
{
name: 'Cloud Storage Connector',
description: '',
link: 'https://github.com/streamnative/pulsar-io-cloud-storage',
source_or_sink: 'Sink'
},
{
name: 'CoAP Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/coap',
source_or_sink: 'Source and Sink'
},
{
name: 'Diffusion Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/diffusion',
source_or_sink: 'Source and Sink'
},
{
name: 'File Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/file',
source_or_sink: 'Source'
},
{
name: 'Humio HEC Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/humio',
source_or_sink: 'Sink'
},
{
name: 'JMS Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/jms',
source_or_sink: 'Source and Sink'
},
{
name: 'Kafka Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/kafka',
source_or_sink: 'Source and Sink'
},
{
name: 'Kinesis Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/kinesis',
source_or_sink: 'Source and Sink'
},
{
name: 'MQTT Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/mqtt',
source_or_sink: 'Source and Sink'
},
{
name: 'Netty Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/netty',
source_or_sink: 'Source'
},
{
name: 'NSQ Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/nsq',
source_or_sink: 'Source'
},
{
name: 'PLC4X Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/plc4x',
source_or_sink: 'Source and Sink'
},
{
name: 'RabbitMQ Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/rabbitmq',
source_or_sink: 'Source and Sink'
},
{
name: 'Twitter Firehose Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/twitter',
source_or_sink: 'Source'
},
],
logging: [
{
name: 'Datadog Logs Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/datadog',
source_or_sink: 'Sink'
},
{
name: 'Flume NG Connector',
description: '',
link: 'https://github.com/streamnative/pulsar-flume-ng-sink',
source_or_sink: 'Source'
},
{
name: 'Logstash Input',
description: '',
link: 'https://github.com/streamnative/logstash-input-pulsar',
source_or_sink: 'N/A'
},
{
name: 'Logstash Output',
description: '',
link: 'https://github.com/streamnative/logstash-output-pulsar',
source_or_sink: 'N/A'
},
{
name: 'New Relic Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/newrelic',
source_or_sink: 'Sink'
},
{
name: 'Pulsar Beat Output',
description: '',
link: 'https://hub.streamnative.io/logging/pulsar-beat-output/v0.1.0/',
source_or_sink: 'N/A'
},
{
name: 'Splunk Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/splunk',
source_or_sink: 'Sink'
},
{
name: 'Flume Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/flume',
source_or_sink: 'Source'
},
],
observability: [
{
name: 'Datadog',
description: '',
link: 'https://github.com/streamnative/pulsar-datadog',
source_or_sink: 'N/A'
},
{
name: 'Grafana Dashboard',
description: '',
link: 'https://github.com/streamnative/apache-pulsar-grafana-dashboard',
source_or_sink: 'N/A'
},
{
name: 'OpenTracing Pulsar Client',
description: '',
link: 'https://github.com/streamnative/pulsar-tracing',
source_or_sink: 'N/A'
},
],
protocol_handlers: [
{
name: 'AoP (AMQP on Pulsar)',
description: '',
link: 'https://github.com/streamnative/aop',
source_or_sink: 'N/A'
},
{
name: 'KoP (Kafka on Pulsar)',
description: '',
link: 'https://github.com/streamnative/kop',
source_or_sink: 'N/A'
},
{
name: 'MoP (MQTT on Pulsar)',
description: '',
link: 'https://github.com/streamnative/mop',
source_or_sink: 'N/A'
},
{
name: 'RoP (RocketMQ on Pulsar)',
description: '',
link: 'https://github.com/streamnative/rop',
source_or_sink: 'N/A'
},
{
name: 'Starlight for RabbitMQ',
description: 'Acts as a proxy between your RabbitMQ application and Apache Pulsar',
link: 'https://github.com/datastax/starlight-for-rabbitmq',
source_or_sink: 'N/A'
},
],
search_and_query: [
{
name: 'Presto Pulsar connector ',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-sql',
source_or_sink: 'N/A'
},
{
name: 'ElasticSearch Connector ',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/elastic-search',
source_or_sink: 'Sink'
},
{
name: 'Solr Connector',
description: '',
link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/solr',
source_or_sink: 'Sink'
},
],
security_plugins: [
{
name: 'OpenID Connect Authentication Plugin',
description: '',
link: 'https://github.com/datastax/pulsar-openid-connect-plugin',
source_or_sink: 'N/A'
}
],
stream_processing: [
{
name: 'Function Mesh',
description: '',
link: 'https://github.com/streamnative/function-mesh',
source_or_sink: 'N/A'
},
{
name: 'NiFi Processor',
description: '',
link: 'https://github.com/streamnative/pulsar-nifi-bundle',
source_or_sink: 'N/A'
},
{
name: 'Pulsar Flink Connector',
description: '',
link: 'https://hub.streamnative.io/data-processing/pulsar-flink/1.13/',
source_or_sink: 'Source and Sink'
},
{
name: 'Pulsar Spark Adaptor',
description: '',
link: 'https://github.com/apache/pulsar-adapters/tree/master/pulsar-spark',
source_or_sink: 'N/A'
},
{
name: 'Pulsar Spark Connector',
description: '',
link: 'https://hub.streamnative.io/data-processing/pulsar-spark/3.1.1/',
source_or_sink: 'Source and Sink'
},
{
name: 'Pulsar Storm Adaptor',
description: '',
link: 'https://github.com/apache/pulsar-adapters/tree/master/pulsar-storm',
source_or_sink: 'N/A'
},
{
name: 'Hazelcast Jet Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/hazelcast',
source_or_sink: 'Source'
},
{
name: 'Zeebe Connector',
description: '',
link: 'https://github.com/datastax/pulsar-3rdparty-connector/tree/master/pulsar-connectors/zeebe',
source_or_sink: 'Source and Sink'
},
],
tools: [
{
name: 'Helm Chart (DataStax)',
description: '',
link: 'https://github.com/datastax/pulsar-helm-chart',
source_or_sink: 'N/A'
},
{
name: 'Helm Chart (Pulsar)',
description: '',
link: 'https://github.com/apache/pulsar-helm-chart',
source_or_sink: 'N/A'
},
{
name: 'Helm Chart (StreamNative)',
description: '',
link: 'https://github.com/streamnative/charts/tree/master/charts/pulsar',
source_or_sink: 'N/A'
},
{
name: 'Log4j2 Appender',
description: '',
link: 'https://github.com/apache/pulsar-adapters/tree/master/pulsar-log4j2-appender',
source_or_sink: 'N/A'
},
{
name: 'Pulsar Admin Console',
description: '',
link: 'https://github.com/datastax/pulsar-admin-console',
source_or_sink: 'N/A'
},
{
name: 'Pulsar Manager',
description: '',
link: 'https://github.com/apache/pulsar-manager',
source_or_sink: 'N/A'
},
{
name: 'Pulsarctl',
description: '',
link: 'https://github.com/streamnative/pulsarctl',
source_or_sink: 'N/A'
},
{
name: 'Terraform Provider',
description: '',
link: 'https://github.com/streamnative/terraform-provider-pulsar',
source_or_sink: 'N/A'
},
]
}