Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Risingwavelabs Risingwave Risedev Configuration

From Leeroopedia


Knowledge Sources
Domains DeveloperTooling, Configuration, Infrastructure
Last Updated 2026-02-09 07:00 GMT

Overview

YAML configuration file (risedev.yml) that defines named service profiles and component templates for the risedev developer tool, controlling which RisingWave components and external services to start in local and CI environments.

Description

The risedev.yml file is the central configuration for the RiseDev developer tool. It contains two main sections: profile and template. The profile section defines named configurations (e.g., default, full, ci-1cn-1fe, ci-kafka) that specify a sequence of component steps to launch. The template section defines the default configuration parameters for each component type (meta-node, compute-node, frontend, compactor, minio, kafka, prometheus, grafana, etc.). Profiles can override template defaults, specify config files, and mark components as user-managed to indicate they are started externally (e.g., by Docker Compose in CI).

Usage

Profiles are selected when starting a RisingWave dev cluster via ./risedev d <profile-name>. The default profile starts a minimal cluster with one meta node, one compute node, and one frontend. CI profiles configure multi-node topologies with specific backends (SQLite, PostgreSQL, MySQL) and external services (Kafka, Redis, MinIO).

Code Reference

Source Location

  • Repository: risingwave
  • File: risedev.yml
  • Lines: L1-1611

Signature

profile:
  default:
    steps:
      - use: meta-node
      - use: compute-node
      - use: frontend

  full:
    steps:
      - use: minio
      - use: postgres
        port: 8432
      - use: meta-node
        meta-backend: postgres
      - use: compute-node
      - use: frontend
      - use: compactor
      - use: prometheus
      - use: grafana
      - use: kafka
      - use: lakekeeper

template:
  meta-node:
    address: "127.0.0.1"
    port: 5690
    # ...
  compute-node:
    address: "127.0.0.1"
    port: 5688
    # ...

Import

# Used implicitly by risedev
./risedev d              # Start with 'default' profile
./risedev d full         # Start with 'full' profile
./risedev d ci-kafka     # Start with CI Kafka profile

I/O Contract

Inputs

Name Type Required Description
Profile name CLI argument No Name of the profile to start (defaults to "default")
config-path Profile field No Path to a TOML config file to override RisingWave settings
env Profile field No Custom environment variables for the profile

Outputs

Name Type Description
Running services tmux sessions Each component runs in a named tmux window
risedev-env File Environment file at .risingwave/config/risedev-env with connection parameters
Log files Files Per-component log files in .risingwave/log/

Key Profile Categories

Developer Profiles:

  • default -- Minimal: meta + compute + frontend (in-memory backend)
  • full -- All components: minio, postgres, meta, compute, frontend, compactor, prometheus, grafana, kafka, lakekeeper
  • for-ctl -- Minimal with compactor for risectl usage
  • dev-compute-node / dev-frontend / dev-meta -- User-managed variants for debugging individual components
  • standalone-full-peripherals -- All peripherals running, all RW components user-managed

Storage Backend Profiles:

  • fs / hdfs / webhdfs -- OpenDAL file system backends
  • gcs / obs / oss / azblob -- Cloud storage backends

CI Profiles:

  • ci-1cn-1fe -- Single compute node, single frontend
  • ci-3cn-1fe -- Three compute nodes, single frontend
  • ci-3cn-3fe -- Three compute nodes, three frontends
  • ci-kafka -- With user-managed Kafka (from Docker Compose)
  • ci-inline-source-test -- With multiple user-managed external services
  • ci-backfill-* -- Backfill testing with various configurations

Component Templates

Component Default Port Key Options
meta-node 5690 meta-backend (memory/sqlite/postgres/mysql/env), dashboard-port
compute-node 5688 parallelism, total-memory-bytes, role (both/streaming/serving), enable-tiered-cache
frontend 4566 health-check-port, exporter-port
compactor 6660 compactor-mode (dedicated/dedicated-iceberg)
minio 9301 hummock-bucket, api-requests-max
kafka 29092 persist-data, node-id, image
prometheus 9500 remote-write, scrape-interval
grafana 3001 (provides dashboards)
postgres 8432 user, password, database, latency-ms
mysql 8306 user, password, database, application
lakekeeper 8181 catalog-backend, encryption-key

Usage Examples

Starting a Custom Profile

# Start the full profile with all services
./risedev d full

# Connect to the running instance
./risedev psql -c "CREATE TABLE t1 (id INT PRIMARY KEY, name VARCHAR);"

# View running services
./risedev ls

# Follow logs for a specific component
./risedev follow compute-node-5688.log

# Stop everything
./risedev k

Creating a Custom Profile

# In risedev-profiles.user.yml (auto-created by risedev):
my-custom-profile:
  config-path: src/config/my_config.toml
  steps:
    - use: minio
    - use: meta-node
      meta-backend: sqlite
    - use: compute-node
      parallelism: 8
    - use: frontend
    - use: compactor
    - use: kafka
      persist-data: true

Related Pages

Implements Principle

Related Implementations

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment