Skip to content

[rqd/cicd] Replace python/rqd by rust/rqd on docker stack#2227

Merged
DiegoTavares merged 14 commits intoAcademySoftwareFoundation:masterfrom
DiegoTavares:rust_rqd_docker
Apr 2, 2026
Merged

[rqd/cicd] Replace python/rqd by rust/rqd on docker stack#2227
DiegoTavares merged 14 commits intoAcademySoftwareFoundation:masterfrom
DiegoTavares:rust_rqd_docker

Conversation

@DiegoTavares
Copy link
Copy Markdown
Collaborator

@DiegoTavares DiegoTavares commented Mar 23, 2026

As previously communicated, python/rqd is now deprecated and it's being officially replaced by rust/rqd on docker-composed and on the release pipeline.

Summary by CodeRabbit

  • New Features

    • Rust-based RQD service implementation available for deployment
  • Documentation

    • Updated RQD deployment instructions with new configuration and setup options
    • Legacy Python RQD option marked as deprecated
  • Chores

    • Updated CI/CD pipeline and Docker build configuration for RQD

@DiegoTavares DiegoTavares marked this pull request as ready for review March 26, 2026 21:39
Signed-off-by: Diego Tavares <dtavares@imageworks.com>
@DiegoTavares DiegoTavares merged commit 487a92b into AcademySoftwareFoundation:master Apr 2, 2026
14 of 15 checks passed
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 2, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2967e27a-5634-41b8-a03f-da100ff14e3c

📥 Commits

Reviewing files that changed from the base of the PR and between ee9af69 and 64afb59.

📒 Files selected for processing (7)
  • .github/workflows/packaging-pipeline.yml
  • ci/run_integration_test.sh
  • docker-compose.yml
  • docs/_docs/getting-started/deploying-rqd.md
  • rust/Dockerfile.rqd
  • rust/crates/rqd/src/config/mod.rs
  • rust/crates/rqd/src/system/linux.rs

📝 Walkthrough

Walkthrough

The pull request migrates the RQD service from Python to a Rust-based OpenRQD implementation. Changes include updated CI/build pipelines, new Docker configuration, revised deployment documentation, and supporting Rust code for configuration handling and system utilities.

Changes

Cohort / File(s) Summary
CI & Build Pipeline
.github/workflows/packaging-pipeline.yml, ci/run_integration_test.sh
Updated Docker build matrix to reference rust/Dockerfile.rqd instead of deriving Dockerfile paths from component names. Removed Python-based pre-build steps (python -m build) and environment variable exports; added explicit error handling for RQD image build failures.
Docker & Runtime Configuration
docker-compose.yml, rust/Dockerfile.rqd
Switched RQD service to build from rust/Dockerfile.rqd with multi-stage Rust compilation. Updated environment variables from Python-centric (PYTHONUNBUFFERED, CUEBOT_HOSTNAME) to Rust/OpenRQD format (OPENRQD__GRPC__CUEBOT_ENDPOINTS, OPENRQD__MACHINE__USE_IP_AS_HOSTNAME).
Documentation
docs/_docs/getting-started/deploying-rqd.md
Updated deployment instructions to build Rust RQD from source as the primary option. Moved Python RQD image to a "legacy" path with deprecation notice. Changed environment variable configuration to align with OpenRQD settings.
Rust Configuration
rust/crates/rqd/src/config/mod.rs
Added custom Serde deserializer string_or_vec to accept cuebot_endpoints as either comma-separated string or sequence. Updated default cuebot_endpoints from localhost:4343 to localhost:8443. Modified environment variable parsing to use __ as key separator and , as list separator.
Rust System Utilities
rust/crates/rqd/src/system/linux.rs
Fixed hostname resolution in get_hostname to use addr.ip().to_string() instead of addr.to_string() when use_ip_as_hostname is enabled. Minor formatting adjustments.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 A Rust awakening, swift and bright,
Where Python once danced in the digital night,
RQD now compiled with systems so keen,
The fastest, most robust we've ever seen!
Configuration flows through the __ divide,
With confidence strong as the build pipeline's pride. 🚀

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

2 participants