Native RocketMQ desktop dashboard built with GPUI and gpui-component. This is a standalone Cargo workspace, using Rust 2024 and its checked-in toolchain. It is not a member of the repository's root Cargo workspace.
Run these commands from the repository root, then remain in the GPUI directory:
cd rocketmq-dashboard/rocketmq-dashboard-gpui
cargo run
# Optimized executable
cargo build --releaseA graphical desktop is required to run the application. Install the native build prerequisites for the target platform: Xcode command line tools on macOS, the MSVC C++ toolchain and Windows SDK on Windows, or the Linux GUI development libraries described in AGENTS.md. Build timings and memory usage depend on the platform and workload.
Logging uses RUST_LOG. For example, in PowerShell from this directory:
$env:RUST_LOG = "info,rocketmq_dashboard_gpui=debug"
cargo runsrc/main.rs initializes the GPUI component library and application root, installs logging, and composes the desktop services. The layers are:
GPUI views
-> application services
-> GpuiAdminProvider / configuration, history and monitor stores
-> rocketmq-admin-core client adapter
-> application-owned ClientRuntime
The shared dashboard models and admin facade come from rocketmq-dashboard-common. The desktop provider implements live cluster queries and administration; configuration, history and monitor persistence remain local to this application. See src/services and src/infrastructure for the implemented operations and their lifecycle owners.
Configuration defaults to rocketmq-dashboard/gpui/config.json beneath the OS
user configuration directory. Set ROCKETMQ_DASHBOARD_GPUI_CONFIG_PATH to
override the complete file path. NameServer selection and connection settings
are stored in this document.
Authentication has two separate settings in the configuration:
- When local login is enabled,
ROCKETMQ_DASHBOARD_USERNAMEandROCKETMQ_DASHBOARD_PASSWORDmust be present. Only the local session marker is retained after authentication. - When the Admin credential source is
environment,ROCKETMQ_ADMIN_ACCESS_KEYandROCKETMQ_ADMIN_SECRET_KEYare required;ROCKETMQ_ADMIN_SECURITY_TOKENis optional. These credentials authenticate outbound RocketMQ requests.
The auth owner resolves secrets for immediate use; the configuration file stores the credential-source choice. Background admin and persistence work uses injected child scopes from the desktop runtime. The application closes this runtime when the GPUI event loop exits.
From this directory, select the checks relevant to a change:
cargo fmt --all -- --check
cargo check --locked
cargo test --locked <test_name>See AGENTS.md for platform setup and graphical smoke checks.
Apache License, Version 2.0.