Architecture

Moose Architecture

How Moose Works

When you run moose-cli dev, Moose creates a complete development environment that combines your code with pre-configured infrastructure:

Infrastructure Modules

Moose organizes your data pipeline into five distinct infrastructure modules:

ModuleMoose CodeInfrastructureDefault
IngestionData ModelsHTTP POST endpointsRust
StreamingData Models, Streaming FunctionsStreaming topics & consumersRedpanda
DatabaseData Models, BlocksOLAP tables & viewsClickHouse
OrchestrationWorkflowsTask queue & workersTemporal
ConsumptionAnalytics APIsHTTP GET endpointsRust

Customizing Your Infrastructure

Moose is designed to be highly customizable. You can control which modules are included in your deployment using moose.config.toml:

[features]
streaming_engine = true  # Include Redpanda for streaming
workflows = false        # Disable Temporal for orchestration
Warning:

By default, workflows are disabled. You must set workflows = true to enable the workflow engine.

Development Environment Details

ComponentPurposeAccess
Web ServerHandles HTTP requests for data ingestion and APIslocalhost:4000
ClickHouseAnalytical database for data storage and queryinglocalhost:18123
RedpandaKafka-compatible message broker for streaminglocalhost:19092
TemporalWorkflow orchestration enginelocalhost:7233 (Server) / localhost:8080 (UI)
RedisCaching and temporary storageInternal only

All these components are automatically configured to work together, creating a complete development environment that mirrors a production deployment.