Skip to content

This is an ansible deployment and updates for XO Server

Notifications You must be signed in to change notification settings

bellhop/ansible-xo-server

Repository files navigation

XO Server Ansible Playbooks

Overview

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.

Playbooks

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

Requirements

You will need VM or server with the following requirements:

  • 2 CPU cores or more

  • 4 GB of RAM or more

This playbook has been tested on the following Linux distributions and versions:

  • fedora 40 server

install Playbook Usage

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.

Variables

These variables are preset in the install role by default values and can be overridden as needed.

Variable Name Description Default Value

install_nvm_version

What version of nvm to install.

v0.40.1

install_nvm_script_location

Where to download the nvm script and run it on the target XO Server.

/tmp

install_xo_location

Location to install the XO Server code.

/opt/xen-orchestra

install_cert_file

Location of the TLS certificate file.

/etc/pki/xo-server/cert.pem

install_key_file

Location of the TLS key file. [3]

/etc/pki/xo-server/key.pem

TLS Certificates

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.


1. It will also open the firewall to allow port 80 and redirect to port 443.
2. NVM has to be installed for the root user as that is the user that will building and running the XO server.
3. The key file should be owned by the root user and have the permissions set to 600.

About

This is an ansible deployment and updates for XO Server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages