MCPcopy Index your code
hub / github.com/rudderlabs/rudder-server

github.com/rudderlabs/rudder-server @v1.79.2 sqlite

repository ↗ · DeepWiki ↗ · release v1.79.2 ↗
9,779 symbols 54,196 edges 1,150 files 2,982 documented · 30%
README

🚀 Just launched RudderAI - the agentic layer for the entire customer data lifecycle

The Customer Data Platform for Developers

Website · Documentation · Changelog · Blog · Slack · Twitter


As the leading open source Customer Data Platform (CDP), RudderStack provides data pipelines that make it easy to collect data from every application, website and SaaS platform, then activate it in your warehouse and business tools.

With RudderStack, you can build customer data pipelines that connect your whole customer data stack and then make them smarter by triggering enrichment and activation in customer tools based on analysis in your data warehouse. It's easy-to-use SDKs and event source integrations, Cloud Extract integrations, transformations, and expansive library of destination and warehouse integrations makes building customer data pipelines for both event streaming and cloud-to-warehouse ELT simple.

RudderStack

Try RudderStack Cloud Free - a free tier of RudderStack Cloud. Click here to start building a smarter customer data pipeline today, with RudderStack Cloud.

Key features

  • Warehouse-first: RudderStack treats your data warehouse as a first class citizen among destinations, with advanced features and configurable, near real-time sync.

  • Developer-focused: RudderStack is built API-first. It integrates seamlessly with the tools that the developers already use and love.

  • High Availability: RudderStack comes with at least 99.99% uptime. We have built a sophisticated error handling and retry system that ensures that your data will be delivered even in the event of network partitions or destinations downtime.

  • Privacy and Security: You can collect and store your customer data without sending everything to a third-party vendor. With RudderStack, you get fine-grained control over what data to forward to which analytical tool.

  • Unlimited Events: Event volume-based pricing of most of the commercial systems is broken. With RudderStack Open Source, you can collect as much data as possible without worrying about overrunning your event budgets.

  • Segment API-compatible: RudderStack is fully compatible with the Segment API. So you don't need to change your app if you are using Segment; just integrate the RudderStack SDKs into your app and your events will keep flowing to the destinations (including data warehouses) as before.

  • Production-ready: Companies like Mattermost, IFTTT, Torpedo, Grofers, 1mg, Nana, OnceHub, and dozens of large companies use RudderStack for collecting their events.

  • Seamless Integration: RudderStack currently supports integration with over 90 popular tool and warehouse destinations.

  • User-specified Transformation: RudderStack offers a powerful JavaScript-based event transformation framework which lets you enhance or transform your event data by combining it with your other internal data. Furthermore, as RudderStack runs inside your cloud or on-premise environment, you can easily access your production data to join with the event data.

Get started

The easiest way to experience RudderStack is to sign up for RudderStack Cloud Free - a completely free tier of RudderStack Cloud.

You can also set up RudderStack on your platform of choice with these two easy steps:

Step 1: Set up RudderStack

Note: If you are planning to use RudderStack in production, we STRONGLY recommend using our Kubernetes Helm charts. We update our Docker images with bug fixes much more frequently than our GitHub repo.

Step 2: Verify the installation

Once you have installed RudderStack, send test events to verify the setup.

Architecture

RudderStack is an independent, stand-alone system with a dependency only on the database (PostgreSQL). Its backend is written in Go with a rich UI written in React.js.

A high-level view of RudderStack’s architecture is shown below:

Architecture

For more details on the various architectural components, refer to our documentation.

Contribute

We would love to see you contribute to RudderStack. Get more information on how to contribute here.

License

RudderStack server is released under the Elastic License 2.0.

Extension points exported contracts — how you extend this code

Reporting (Interface)
Reporting is interface to report metrics [8 implementers]
utils/types/types.go
HTTPClientI (Interface)
HTTPClient interface [11 implementers]
utils/sysUtils/httpclient.go
Worker (Interface)
Worker is a worker that can be pinged for work and stopped by the worker pool when it is idle [7 implementers]
utils/workerpool/worker_pool.go
EventReader (Interface)
EventReader is an interface for reading events from a load file [7 implementers]
warehouse/encoding/encoding.go
Authorizer (Interface)
Authorizer abstracts how data-plane can be authorized by the control-plane. [9 implementers]
services/controlplane/identity/identity.go
StatsPublisher (Interface)
StatsPublisher publishes stats [9 implementers]
services/rsources/stats_collector.go
SuppressUserFeature (Interface)
SuppressUserFeature handles webhook event requests [40 implementers]
app/features.go
Forwarder (Interface)
go:generate mockgen -destination=../mocks/jobs-forwarder/mock_jobs_forwarder.go -package=mock_jobs_forwarder github.com/ [24 …
schema-forwarder/setup.go

Core symbols most depended-on inside this repo

Equal
called by 4665
processor/types/types.go
Run
called by 2799
jobsdb/bench/bench.go
Errorf
called by 2250
jobsdb/jobsdb_test.go
New
called by 1808
router/factory.go
Set
called by 1442
services/dedup/types/types.go
Error
called by 1290
controlplane/manager.go
String
called by 928
warehouse/internal/model/source.go
Now
called by 854
router/batchrouter/asyncdestinationmanager/snowpipestreaming/snowpipestreaming.go

Shape

Method 4,742
Function 3,125
Struct 1,524
Interface 250
TypeAlias 82
FuncType 56

Languages

Go100%
Python1%

Modules by API surface

proto/warehouse/warehouse.pb.go275 symbols
processor/processor.go100 symbols
proto/warehouse/warehouse_grpc.pb.go85 symbols
utils/misc/misc.go76 symbols
mocks/jobsdb/mock_jobsdb.go72 symbols
warehouse/utils/utils.go69 symbols
jobsdb/jobsdb.go64 symbols
proto/cluster/cluster.pb.go62 symbols
proto/common/dpauth.pb.go58 symbols
warehouse/integrations/clickhouse/clickhouse.go52 symbols
warehouse/integrations/deltalake/deltalake.go51 symbols
warehouse/integrations/redshift/redshift.go49 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/bigqueryv1.74.0 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/monitoringv1.24.3 · 1×
cloud.google.com/go/storagev1.62.1 · 1×
dario.cat/mergov1.0.2 · 1×
filippo.io/edwards25519v1.1.1 · 1×

Datastores touched

dbDatabase · 1 repos
jobsdbDatabase · 1 repos

For agents

$ claude mcp add rudder-server \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact