Skip to content

[Studio] Add configurable login protection - #533

Merged
lizhimins merged 46 commits into
apache:rocketmq-studiofrom
Aias00:fix/studio-login-protection
Jul 28, 2026
Merged

[Studio] Add configurable login protection#533
lizhimins merged 46 commits into
apache:rocketmq-studiofrom
Aias00:fix/studio-login-protection

Conversation

@Aias00

@Aias00 Aias00 commented Jul 24, 2026

Copy link
Copy Markdown

Summary

  • add configurable Studio login protection with token-backed API request checks
  • authenticate against configured admin credentials when provided while keeping local-dev compatibility by default
  • document Docker Compose login setup and pass auth/Prometheus env vars into deployment paths

Scope

Tests

  • JAVA_HOME=/Users/aias/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home mvn test
  • bash -n deploy/deploy.sh
  • docker compose -f deploy/docker-compose.yml --env-file deploy/.env.example config
  • git diff --check

btlqql and others added 30 commits July 14, 2026 21:11
…kill (apache#444)

- Add COPY style ./style to server/Dockerfile so Maven checkstyle can
  find style/rmq_checkstyle.xml during docker compose build
- Rewrite pr-review SKILL.md with an 8-stage pipeline checklist,
  Dockerfile pre-flight fix step, and [Studio] title format spec
Add a real Prometheus /api/v1/query_range adapter as the foundation for observability (apache#431): configurable base URL, timeouts, Basic/Bearer auth, error mapping, and tests.
…ent (apache#473)

Add login page with full auth workflow, Auth/AI API modules, Zustand state, and simplified theme management.
Add Ops management page for NameServer address management, VIP channel toggle, and TLS switch.
Add a page to query producer client connections by Topic and Producer Group.
Add alert rule management page: parse/render Prometheus AlertManager YAML rules with search, toggle, and CRUD.
…he#477)

Add SSL/TLS configuration page: SSL toggle, TLS version, KeyStore/TrustStore, client auth mode.
Add Broker Cluster overview page with tab-based NameServer/Broker/Proxy management and cluster stats.
Add consumer group management page.
Add lite topic management page.
Add Proxy management page (address list, status, TPS, memory, CPU, uptime).
Add LLM settings configuration page (provider, apiKey, model, temperature, etc.).
topicService topic API contract, authStore persisted session, vite env config.
Align frontend LoginResponse type with backend LoginVO contract: change flat username/role to nested user.username/admin structure.
Fix Nginx API proxy failure caused by hardcoded DNS resolver by switching to container runtime dynamic resolution.
Migrate hardcoded Chinese UI text to i18n labelKey pattern, add ~280 translation entries (zh+en), fix duplicate key compilation errors.
Fix test assertions to align with backend PageResult contract and current i18n labels.
Move logging/error helper initialization before config validation in deploy.sh to fix err() undefined when REMOTE_HOST is missing.
Add frontend Docker image build to CI workflow to validate Dockerfile/nginx deployment path.
Fix Producer page topic list to read from Studio API new format (data[].name) with backward compatibility for legacy topicList format.
wizcraft_kris and others added 13 commits July 24, 2026 13:43
Fix ConcurrentHashMap NPE when creating data sources with null key by auto-generating UUID in service layer.
Add producer connection query endpoint with topic/producerGroup filtering, returning backward-compatible connectionSet format.
Fix security issue where General Settings endpoint returned API key in plaintext. Replace with apiKeyConfigured boolean flag and support explicit key clearing.
Introduce versioned YAML tool catalog with JSON Schema validation, SHA-256 digest, deep immutability, and two read-only L1 tool handlers (rmq.cluster.list / rmq.capabilities).
Add backend stub endpoints for LiteTopic page: list, session details, TTL extension, quota, and capability check.
Add ops page backend endpoints: NameServer address management, VIP Channel, and TLS switches.
Add proxy address list and add-address endpoints supporting Studio frontend form submission.
Add LLM settings backend endpoints: config read/write, connectivity test, and model listing.
Add alert rules Prometheus YAML export endpoint with default RocketMQ alert template fallback.
Wire ACL management page to backend API, add update endpoints for ACL rules and users with proper validation.
Sort message query results by storeTime in descending order so latest messages appear first.
Add consumer thread stack diagnostics endpoint (GET /api/groups/{name}/instances/{clientId}/stack) with Provider/Stub/Service layering.
Copilot AI review requested due to automatic review settings July 24, 2026 07:49

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@lizhimins
lizhimins force-pushed the rocketmq-studio branch 5 times, most recently from b1f151b to 434c2ea Compare July 28, 2026 11:40
@lizhimins
lizhimins merged commit 6dc79f9 into apache:rocketmq-studio Jul 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants