This playbook will deploy, configure, and update an XO Server to manage the xcp-ng servers. If you would like to know more about the XO Server and xcp-ng servers, please visit the Vates website.
The playbooks contains in this repository are:
-
install.yml
- Installs the XO Server as a service -
update.yml
- (IN DEVELOPMENT) Pulls the latest code from GitHub and updates the XO Server
The install
playbook will install the XO Server as a service.
It will do this by doing the following things:
-
Update the hostname of the server based on the value that is passed from the inventory file.
-
Install dependencies for the XO Server per the XO documentation and make sure that firewalld is installed.
-
Configure the firewall to allow the XO Server to be accessed on port 443. [1]
-
Install nvm and the latest LTS version of node. [2]
-
Copy the configuration file to the
/etc/xo-server
directory and update as needed. -
Create a service file for the XO Server and start the service.
These variables are preset in the install role by default values and can be overridden as needed.
Variable Name | Description | Default Value |
---|---|---|
|
What version of nvm to install. |
|
|
Where to download the nvm script and run it on the target XO Server. |
|
|
Location to install the XO Server code. |
|
|
Location of the TLS certificate file. |
|
|
Location of the TLS key file. [3] |
|
To secure the XO Server, you will need to have a TLS certificate and key file. The certificate and key files are not generated by this playbook and expected to be provided by the user. However, if you do not provide them when running the playbook, a self-signed certificate will be generated the first time the XO Server is started.