# ibm/universal-connectors architecture

> Architecture diagram of the GitHub repository ibm/universal-connectors, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ibm/universal-connectors
- Repository: https://github.com/ibm/universal-connectors

## Overview

The repository provides Guardium Universal Connectors: configurable input and filter plug-ins that collect native activity logs, transform them into Guardium records, and deliver them to Guardium Data Protection or Guardium Insights. Its supported-source catalog spans databases and cloud services; the tree also includes Kafka/Pub/Sub-oriented connector code and shared record/parsing types. The sampled filters confirm event-to-record conversion, while the README documents the broader input/filter workflow. Individual plugin wiring and most implementations were not sampled, so edges show only the documented high-level flow or sampled calls.

Main entry points: [`common/src/main/java/com/ibm/guardium/universalconnector/commons/structures`](https://github.com/ibm/universal-connectors/tree/main/common/src/main/java/com/ibm/guardium/universalconnector/commons/structures) (Guardium record types), [`input-plugin`](https://github.com/ibm/universal-connectors/tree/main/input-plugin) (Input plugins), [`filter-plugin`](https://github.com/ibm/universal-connectors/tree/main/filter-plugin) (Database and cloud filters), [`filter-plugin/logstash-filter-pubsub-bigquery-guardium/src/main/java/com/ibm/guardium/bigquery/BigQueryGuardiumFilter.java`](https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-pubsub-bigquery-guardium/src/main/java/com/ibm/guardium/bigquery/BigQueryGuardiumFilter.java) (BigQuery filter)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_collection["Log collection"]
  node_input_plugins["Input plugins"]
  node_capella_input["Capella API input"]
  node_kafka_connectors["Kafka-based connectors"]
end

subgraph group_transforms["Event filters"]
  node_filter_plugins["Database and cloud filters"]
  node_mongodb_filter["MongoDB filter"]
  node_bigquery_filter["BigQuery filter"]
  node_cassandra_filter["Cassandra filter"]
  node_bigquery_parser["BigQuery record parser<br/>[Parser.java]"]
  node_cassandra_parser["Cassandra record parser<br/>[Parser.java]"]
  node_sql_parsers["SQL parsing"]
end

subgraph group_shared["Shared record model"]
  node_shared_parsing["Configurable parsers"]
  node_record_types["Guardium record types"]
end

subgraph group_consumers["Guardium platforms"]
  node_guardium(("Guardium Data Protection / Insights"))
end

node_sources(("Native activity logs"))
node_logstash["Logstash events"]

node_sources -->|"provide logs"| node_input_plugins
node_sources -->|"supply events"| node_filter_plugins
node_input_plugins -->|"emit events"| node_logstash
node_capella_input -->|"fetch audit logs"| node_sources
node_logstash -->|"dispatch events"| node_mongodb_filter
node_logstash -->|"dispatch events"| node_bigquery_filter
node_logstash -->|"dispatch events"| node_cassandra_filter
node_filter_plugins -->|"deliver records"| node_guardium
node_bigquery_filter -->|"parse event"| node_bigquery_parser
node_cassandra_filter -->|"parse event"| node_cassandra_parser
node_bigquery_parser -->|"build record"| node_record_types
node_cassandra_parser -->|"build record"| node_record_types
node_sql_parsers -->|"extract SQL details"| node_record_types
node_shared_parsing -.->|"support parsing"| node_record_types
node_kafka_connectors -.->|"integrate events"| node_logstash

click node_input_plugins "https://github.com/ibm/universal-connectors/tree/main/input-plugin"
click node_capella_input "https://github.com/ibm/universal-connectors/blob/main/input-plugin/logstash-input-couchbase-capella/src/main/java/com/ibm/guardium/couchbase/capella/CapellaAuditLogApiManager.java"
click node_filter_plugins "https://github.com/ibm/universal-connectors/tree/main/filter-plugin"
click node_mongodb_filter "https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/MongodbGuardiumFilter.java"
click node_bigquery_filter "https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-pubsub-bigquery-guardium/src/main/java/com/ibm/guardium/bigquery/BigQueryGuardiumFilter.java"
click node_cassandra_filter "https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-cassandra-guardium/src/main/java/com/ibm/guardium/cassandra/CassandraGuardiumPluginFilter.java"
click node_bigquery_parser "https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-pubsub-bigquery-guardium/src/main/java/com/ibm/guardium/bigquery/Parser.java"
click node_cassandra_parser "https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-cassandra-guardium/src/main/java/com/ibm/guardium/cassandra/Parser.java"
click node_sql_parsers "https://github.com/ibm/universal-connectors/tree/main/filter-plugin/logstash-filter-databricks-guardium/src/main/java/com/ibm/guardium/databricks/sql_parsing"
click node_shared_parsing "https://github.com/ibm/universal-connectors/tree/main/common/src/main/java/com/ibm/guardium/universalconnector/commons/custom_parsing"
click node_record_types "https://github.com/ibm/universal-connectors/tree/main/common/src/main/java/com/ibm/guardium/universalconnector/commons/structures"
click node_kafka_connectors "https://github.com/ibm/universal-connectors/tree/main/filter-plugin/logstash-filter-pubsub-spanner-guardium"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_input_plugins,node_capella_input,node_kafka_connectors toneBlue
class node_filter_plugins,node_mongodb_filter,node_bigquery_filter,node_cassandra_filter,node_bigquery_parser,node_cassandra_parser,node_sql_parsers toneAmber
class node_shared_parsing,node_record_types toneMint
class node_guardium toneRose
class node_sources,node_logstash toneIndigo
```

## Components

### Log collection

- [Input plugins](https://github.com/ibm/universal-connectors/tree/main/input-plugin): `input-plugin`
- [Capella API input](https://github.com/ibm/universal-connectors/blob/main/input-plugin/logstash-input-couchbase-capella/src/main/java/com/ibm/guardium/couchbase/capella/CapellaAuditLogApiManager.java): `input-plugin/logstash-input-couchbase-capella/src/main/java/com/ibm/guardium/couchbase/capella/CapellaAuditLogApiManager.java`
- [Kafka-based connectors](https://github.com/ibm/universal-connectors/tree/main/filter-plugin/logstash-filter-pubsub-spanner-guardium): `filter-plugin/logstash-filter-pubsub-spanner-guardium`

### Event filters

- [Database and cloud filters](https://github.com/ibm/universal-connectors/tree/main/filter-plugin): `filter-plugin`
- [MongoDB filter](https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/MongodbGuardiumFilter.java): `filter-plugin/logstash-filter-mongodb-guardium/src/main/java/com/ibm/guardium/mongodb/MongodbGuardiumFilter.java`
- [BigQuery filter](https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-pubsub-bigquery-guardium/src/main/java/com/ibm/guardium/bigquery/BigQueryGuardiumFilter.java): `filter-plugin/logstash-filter-pubsub-bigquery-guardium/src/main/java/com/ibm/guardium/bigquery/BigQueryGuardiumFilter.java`
- [Cassandra filter](https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-cassandra-guardium/src/main/java/com/ibm/guardium/cassandra/CassandraGuardiumPluginFilter.java): `filter-plugin/logstash-filter-cassandra-guardium/src/main/java/com/ibm/guardium/cassandra/CassandraGuardiumPluginFilter.java`
- [BigQuery record parser](https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-pubsub-bigquery-guardium/src/main/java/com/ibm/guardium/bigquery/Parser.java): `filter-plugin/logstash-filter-pubsub-bigquery-guardium/src/main/java/com/ibm/guardium/bigquery/Parser.java`
- [Cassandra record parser](https://github.com/ibm/universal-connectors/blob/main/filter-plugin/logstash-filter-cassandra-guardium/src/main/java/com/ibm/guardium/cassandra/Parser.java): `filter-plugin/logstash-filter-cassandra-guardium/src/main/java/com/ibm/guardium/cassandra/Parser.java`
- [SQL parsing](https://github.com/ibm/universal-connectors/tree/main/filter-plugin/logstash-filter-databricks-guardium/src/main/java/com/ibm/guardium/databricks/sql_parsing): `filter-plugin/logstash-filter-databricks-guardium/src/main/java/com/ibm/guardium/databricks/sql_parsing`

### Shared record model

- [Configurable parsers](https://github.com/ibm/universal-connectors/tree/main/common/src/main/java/com/ibm/guardium/universalconnector/commons/custom_parsing): `common/src/main/java/com/ibm/guardium/universalconnector/commons/custom_parsing`
- [Guardium record types](https://github.com/ibm/universal-connectors/tree/main/common/src/main/java/com/ibm/guardium/universalconnector/commons/structures): `common/src/main/java/com/ibm/guardium/universalconnector/commons/structures`

### Guardium platforms

- **Guardium Data Protection / Insights**

### Other components

- **Native activity logs**
- **Logstash events**

## Connections

- Native activity logs → Input plugins: provide logs
- Native activity logs → Database and cloud filters: supply events
- Input plugins → Logstash events: emit events
- Capella API input → Native activity logs: fetch audit logs
- Logstash events → MongoDB filter: dispatch events
- Logstash events → BigQuery filter: dispatch events
- Logstash events → Cassandra filter: dispatch events
- Database and cloud filters → Guardium Data Protection / Insights: deliver records
- BigQuery filter → BigQuery record parser: parse event
- Cassandra filter → Cassandra record parser: parse event
- BigQuery record parser → Guardium record types: build record
- Cassandra record parser → Guardium record types: build record
- SQL parsing → Guardium record types: extract SQL details
- Configurable parsers → Guardium record types: support parsing
- Kafka-based connectors → Logstash events: integrate events
