Showroom Deployer
The Showroom Deployer repository contains the Helm charts that power Showroom on OpenShift.
The ocp4_workload_showroom Ansible role renders and applies these charts — you typically do not interact with them directly, but understanding the charts helps with debugging and advanced customisation.
Helm Charts
The repository provides three charts:
| Chart | Description |
|---|---|
|
Recommended. All containers (content, proxy, terminal, noVNC) in a single pod. Simple, resource-efficient, and the default used by the Ansible role. |
|
Multi-pod layout (separate pods for home, content, terminal, proxy). Legacy — use |
|
Zero-touch lab deployment with setup automation, IronRDP, OCP console embedding, and embedded content. For advanced use cases. |
The Ansible role uses showroom-single-pod by default (ocp4_workload_showroom_deployer_chart_name).
Chart Repository
Charts are published to GitHub Pages at https://rhpds.github.io/showroom-deployer.
To use the charts directly with Helm:
helm repo add rhpds https://rhpds.github.io/showroom-deployer
helm repo update
showroom-single-pod Architecture
Init Containers
Run sequentially before the main containers start:
-
git-cloner — clones the content repository (URL, branch/tag from
content.repoUrlandcontent.repoRef) into a shared volume. -
antora-builder — runs Antora against the cloned content to produce static HTML in a shared volume.
Main Containers
Run concurrently after init containers complete:
-
nginx — reverse proxy that routes traffic to the content server, terminal, and noVNC containers.
-
showroom-content — serves the built HTML, handles attribute injection, and exposes the UI.
-
wetty (optional) — web terminal providing SSH access.
-
showroom-terminal (optional) — containerised terminal with CLI tools.
-
novnc (optional) — NoVNC client for VNC desktop access.
Key Values
These are the most important values.yaml parameters.
The Ansible role sets these automatically — this reference is for developers working directly with the chart.
| Parameter | Type | Description |
|---|---|---|
|
string |
User/session ID. Used in namespace and route names. |
|
string |
OpenShift apps domain (e.g. |
|
string |
Git URL of the Antora content repository. |
|
string |
Git branch, tag, or commit. |
|
string |
Antora playbook file to use (e.g. |
|
object |
YAML object of key-value pairs injected into Antora attributes. |
|
string |
Override for |
|
boolean |
Enable the showroom terminal container. |
|
boolean |
Enable the Wetty terminal container. |
|
boolean |
Enable the noVNC container. |
|
string |
VNC server |
|
string |
VNC password. |
Direct Deployment (Without Ansible)
For testing or development, you can deploy the chart directly:
helm template showroom rhpds/showroom-single-pod \
--set deployer.domain=apps.cluster.example.com \
--set general.guid=my-test \
--set content.repoUrl=https://github.com/rhpds/showroom_template_nookbag \
| oc apply -f -
Or with helm install:
helm install showroom rhpds/showroom-single-pod \
--create-namespace \
--set deployer.domain=apps.cluster.example.com \
--set general.guid=my-test \
--set content.repoUrl=https://github.com/rhpds/showroom_template_nookbag
Release Process
Charts are versioned and released via GitHub Actions:
-
PRs to
/chartsare automatically linted and tested. -
Merges to
maintrigger a release to the chart repository. -
Available versions: releases page.
Further Reading
-
Architecture — how the deployer fits into the overall system.
-
Showroom Images — the container images used by the chart.