Connector Hub
Connector Hub
Section titled “Connector Hub”The Connector Hub is SilentPulse’s registry of connectors - pre-built integrations that know how to talk to external systems and extract asset visibility data.
Browse the catalog at hub.silentpulse.io.
Official Connectors
Section titled “Official Connectors”| Connector | Category | Modes | Image |
|---|---|---|---|
| Kafka | Message Streaming | batch, realtime | ghcr.io/silentpulse/connector-kafka |
| Splunk | SIEM / Log Management | batch | ghcr.io/silentpulse/connector-splunk |
| Elasticsearch | Search & Analytics | batch | ghcr.io/silentpulse/connector-elasticsearch |
| Syslog | System Logs | realtime | ghcr.io/silentpulse/connector-syslog |
| REST API | Custom Integration | batch | ghcr.io/silentpulse/connector-api |
Connector Universe
Section titled “Connector Universe”The Connector Universe is a Git-based package repository (inspired by DC/OS Universe) that serves as the single source of truth for connector definitions.
Each connector is a directory containing:
universe/packages/kafka/ manifest.json # v2 manifest with all metadata icon.svg # connector iconv2 Manifest
Section titled “v2 Manifest”Every connector ships a v2 manifest - a single JSON file with everything needed:
- Metadata: name, version, description, category, tags
- Fields: configuration fields organized by group (connection, query)
- Implementation: container image, resource requirements, scaling, health checks
- Documentation: readme, notes (requirements, configuration, limitations)
- Maintainer: name, email, URL
Catalog Index
Section titled “Catalog Index”The auto-generated catalog index is available at:
https://hub.silentpulse.io/universe/index.jsonIndividual manifests and icons are accessible at:
https://hub.silentpulse.io/universe/packages/{type}/manifest.jsonhttps://hub.silentpulse.io/universe/packages/{type}/icon.svgSelf-Hosting (Air-Gapped)
Section titled “Self-Hosting (Air-Gapped)”Companies in regulated or air-gapped environments can run their own Connector Hub.
1. Mirror the Universe
Section titled “1. Mirror the Universe”git clone https://hub.silentpulse.io/universe.git2. Override Docker Images
Section titled “2. Override Docker Images”Point connector images to your internal registry:
jq '.implementation.image = "registry.company.com/silentpulse/connector-kafka:1.0.0"' \ universe/packages/kafka/manifest.json > tmp.json && mv tmp.json universe/packages/kafka/manifest.json3. Build and Seed
Section titled “3. Build and Seed”# Validate manifests and generate index./universe/build.sh
# Seed the Hub databasenode db/seed.mjs4. Configure SilentPulse
Section titled “4. Configure SilentPulse”Point your SilentPulse instance to your internal Hub:
export CONNECTOR_HUB_URL=https://internal-hub.company.comThe backend syncs connector definitions every 6 hours. Icons are served from the Hub at /icons/{type}.svg.
5. No Hub? No Problem
Section titled “5. No Hub? No Problem”If no Hub is available, SilentPulse falls back to its built-in hardcoded connector catalog with all official connectors.
How It Works
Section titled “How It Works”Universe (Git) │ ▼Hub Service (Node.js + MySQL) │ serves /api/v1/connectors/sync ▼SilentPulse Backend (Go + PostgreSQL) │ syncs every 6h, constructs icon_url ▼Frontend (React/Next.js) │ renders SVG icons from Hub URL ▼Dashboard - Connectors page- Connector manifests live in
universe/packages/ build.shvalidates and generatesindex.jsonseed.mjsupserts connectors into the Hub database- The Go backend syncer pulls from the Hub API
- The API enriches each connector with a dynamic
icon_url - The frontend renders SVG icons with a Lucide fallback