Parameter Reference
Complete reference for all configurable parameters across the 5 wizard pages
in the Backstage Software Template.
Page 1: VM Identity
| Parameter |
Type |
Required |
Default |
Description |
vmName |
string |
Yes |
— |
DNS-compatible name for the virtual machine.
Pattern: ^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$
|
description |
string |
No |
RHEL virtual machine managed via GitOps and bootc |
Human-readable description for the VM. |
owner |
string |
Yes |
Current user entity name |
Workshop username (e.g., user1).
Pattern: ^user[0-9]+$
|
namespace |
string |
No |
<owner>-vms |
Kubernetes namespace for the VM resources.
Leave empty to use the auto-generated default.
|
Page 2: Compute Resources
| Parameter |
Type |
Default |
Allowed Values |
Description |
cpuCores |
integer |
2 |
1, 2, 4, 8, 16 |
Number of CPU cores per socket. |
cpuSockets |
integer |
1 |
1, 2 |
Number of CPU sockets. |
cpuThreads |
integer |
1 |
1, 2 |
Threads per CPU core (hyper-threading). |
memory |
string |
4Gi |
2Gi, 4Gi, 8Gi, 16Gi, 32Gi |
Guest memory allocation. |
runStrategy |
string |
Always |
Always, RerunOnFailure, Manual, Halted |
VM lifecycle strategy. Always auto-starts and restarts;
Halted creates but does not start.
|
Page 3: Storage & Boot Source
| Parameter |
Type |
Required |
Default |
Allowed Values |
Description |
rootDiskSize |
string |
No |
30Gi |
20Gi, 30Gi, 50Gi, 100Gi, 200Gi |
Size of the root disk PVC. |
storageClass |
string |
No |
(cluster default) |
Any valid StorageClass |
Kubernetes StorageClass name. Leave empty for cluster default. |
bootSource |
string |
Yes |
registry |
registry, bootc-image |
How the VM root disk is provisioned.
registry uses a traditional RHEL guest image;
bootc-image uses image-mode RHEL.
|
registryUrl |
string |
Conditional |
registry.redhat.io/rhel9/rhel-guest-image:latest |
Any OCI image URL |
OCI image containing the guest disk (qcow2 or raw).
Only shown when bootSource=registry.
|
bootcImageUrl |
string |
Conditional |
quay.io/centos-bootc/centos-bootc:stream9 |
Any bootc OCI image URL |
OCI bootc image for image-mode RHEL.
Only shown when bootSource=bootc-image.
|
Page 4: Network & Access
| Parameter |
Type |
Required |
Default |
Description |
vmPassword |
string |
Yes |
redhat123 |
Password for the cloud-user account (console/VNC login). |
sshPublicKey |
string |
Yes |
— |
SSH public key injected via cloud-init for the cloud-user account. |
installHttpd |
boolean |
No |
true |
Install and enable Apache HTTP Server with a default landing page on port 8080. |
extraPackages |
string |
No |
(empty) |
Space-separated list of additional packages to install via cloud-init (e.g., vim-enhanced git podman). |
hostname |
string |
No |
(same as VM name) |
Guest hostname. |
cloudInitExtra |
string |
No |
(empty) |
Additional cloud-init user-data in YAML format, appended to the generated config. |
enableConnectivityLink |
boolean |
No |
false |
Create Gateway, HTTPRoute, and policies to expose the VM service through the Istio mesh. |
Page 5: Connectivity Link Configuration
These parameters only apply when enableConnectivityLink is set to true
on the previous page.
| Parameter |
Type |
Default |
Allowed Values |
Description |
routePath |
string |
/ |
Any path prefix |
HTTP path prefix to match on the HTTPRoute. |
authModel |
string |
none |
none, oidc, apikey |
How clients authenticate to the exposed service.
none = open; oidc = Keycloak JWT;
apikey = X-API-Key header/cookie.
|
rateLimitPerMinute |
integer |
120 |
0 = unlimited |
Maximum requests per minute. Applied via RateLimitPolicy (non-apikey) or PlanPolicy (apikey). |
keycloakRealm |
string |
neuralbank |
Any realm name |
Keycloak realm for JWT validation. Only shown when authModel=oidc. |
keycloakClientId |
string |
vm-client |
Any client ID |
OIDC client ID. Only shown when authModel=oidc. |
Computed Values
These values are derived automatically during template execution:
| Value |
Formula |
Example |
uniqueName |
<owner>-<vmName> |
user1-my-webserver |
namespace (if empty) |
<owner>-vms |
user1-vms |
clusterDomain |
Read from workshop-config ConfigMap |
apps.cluster.example.com |
| Gitea repo URL |
gitea-gitea.<clusterDomain>/ws-<owner>/<vmName>-vm |
gitea-gitea.apps.../ws-user1/my-webserver-vm |
| ArgoCD app name |
<owner>-<vmName>-vm |
user1-my-webserver-vm |