Run Open-RMF demos (ROS 2 Jazzy + Gazebo) on OpenShift. Each world has its own folder, Helm chart, and deploy script.
Images: built and pushed from the separate
hummingbird-bootc-robotics-images repo
(bootc-os + RoboStack, hbr-* image family). This repo only deploys —
it does not build any images.
Deploy: Helm · Registry: Quay.io
common/
scripts/read-helm-image.sh # Deploy-time helper (reads image ref out of a values.yaml)
helm/openrmf-lib/ # Shared RMF Web + noVNC Helm library
openshift/ # Namespace/ServiceAccount/SCC (optional)
office/ # Office world (ready, hbr-* images)
helm/
Chart.yaml
values.yaml.example # Copy → values.yaml (gitignored)
templates/
scripts/ # Per-demo dispatch scripts
deploy-openshift.sh
port-forward.sh
airport/ # Airport terminal world (frozen — see below)
helm/
deploy-openshift.sh
hotel/ # Hotel world (frozen — see below)
helm/
deploy-openshift.sh
cp office/helm/values.yaml.example office/helm/values.yaml
# Edit office/helm/values.yaml — set image.fullRef, pullSecret.name, etc.
# Images come from quay.io/<org>/hbr-* — see values.yaml.example comments.chmod +x office/deploy-openshift.sh
./office/deploy-openshift.shThis runs helm upgrade --install rmf-office-demo-hbr office/helm ... — no
image build step, since images are pre-built in the
hummingbird-bootc-robotics-images repo.
Hotel and airport still deploy fine (their images already exist in Quay),
but their images are frozen — the old common/Dockerfile-based build
pipeline was removed once office migrated to hbr-* images, so these two
can no longer be rebuilt. See the image.fullRef comments in
hotel/helm/values.yaml.example and
airport/helm/values.yaml.example.
cp hotel/helm/values.yaml.example hotel/helm/values.yaml
./hotel/deploy-openshift.shcp airport/helm/values.yaml.example airport/helm/values.yaml
./airport/deploy-openshift.shMigrating either to hbr-* images is a fast-follow — see the
hummingbird-bootc-robotics-images repo's README for the image build layout.
- OpenShift 4.x cluster
ocand helm CLIs- Quay.io account (images already pushed by the image-building repo)
| File | Purpose |
|---|---|
office/helm/values.yaml |
Image ref, pull secrets, resources |
hotel/helm/values.yaml |
Same pattern |
airport/helm/values.yaml |
Same pattern |
.env, .env.local |
General secrets |
Committed templates: values.yaml.example in each demo's helm/ folder.
| Concern | Approach |
|---|---|
| Image build | Not in this repo — see hummingbird-bootc-robotics-images |
| Image registry | Quay.io (image.fullRef in values.yaml) |
| OpenShift deploy | Helm chart per demo |
| Pull secrets | pullSecret.name in values.yaml → ServiceAccount |
- Build/push its image from the hummingbird-bootc-robotics-images repo
- Create
<demo>/scripts/dispatch-task.sh - Copy
office/helm/→<demo>/helm/, updatevalues.yaml.example - Copy
office/deploy-openshift.sh→<demo>/deploy-openshift.sh
| Phase | Goal | Status |
|---|---|---|
| 1 | Headless sim + logs + fleet monitor + patrol | Done |
| 2 | RMF Web dashboard (2D map, robots, tasks) | Available — rmfWeb.enabled |
| 3 | noVNC (Gazebo/RViz in browser) | Available — novnc.enabled |
| 4 | Migrate office demo to hbr-* (bootc-os) images |
Done |
| 4a | Split office/world, robot, and utility runtime images | In progress |
| 5 | Migrate hotel/airport demos to hbr-* images |
Pending |
Both visualizations live in common/helm/openrmf-lib/ and are wired in the office chart. Enable either or both in values.yaml.
See office/README.md for browser URLs and verification.