On-Prem Documentation
Warning
This on-prem target is experimental. Treat the docs and playbooks in this subtree as an emerging alternate installation path, not yet the same confidence level as the validated AWS-target flow.
Use these pages when you are building Calabi on an on-prem virt-01-like
host.
What you provide:
- you provide a RHEL hypervisor host
- you provide an LVM2 volume group for guest storage
- the on-prem subtree creates the guest logical volumes and publishes the same
/dev/ebs/*compatibility paths the stock guest and cluster roles already expect - you define both:
- how the operator workstation reaches the hypervisor
- how bastion reaches that same hypervisor on the lab network
- once that host contract is satisfied, the stock support-service, cluster, and day-2 orchestration is reused
These pages only cover the on-prem differences. After host bootstrap and bastion staging, return to AWS DOCS MAP.
Start Here
What Is Different On-Prem
- there is no AWS tenant or host stack
- there is no live AWS volume discovery
- the guest storage contract comes from the LVM volume group you provide
- you must validate CPU, RAM, NUMA, and storage headroom against the current guest footprint before bootstrap
Where The Normal Docs Take Over Again
For the manual path, the on-prem-specific work ends once the host is prepared, guest storage exists, and bastion staging is complete. Then continue in the stock runbook at:
- AWS MANUAL PROCESS: STEP 12 if you want the bastion build onward
- AWS MANUAL PROCESS: STEP 13A once the bastion is built and the project is staged
For automation, the on-prem operator entrypoints are:
./scripts/run_local_playbook.shplaybooks/site-bootstrap.yml./scripts/run_remote_bastion_playbook.shplaybooks/site-precluster.yml./scripts/run_remote_bastion_playbook.shplaybooks/site-lab.yml
The current cluster-capable external Ceph example override embeds the external cluster-details payload inline as base64, so it is portable across workstation to bastion handoff and does not depend on an operator-local cluster-details file path at runtime.
For the detailed override contract, including enable_* versus force_*
phase toggles, external ODF inputs, effective storage classes, resource sizing,
and mirror-registry parallelism, read: