System requirements

This topic describes XL Deploy server and client requirements as well as minimal requirements for workers, database, and middleware servers.

Server requirements

To install the XL Deploy server, your system must meet the following requirements:

  • Operating system: Any commercially supported version of 32-bit or 64-bit Microsoft Windows (under Mainstream Support), or a commercially supported Linux/Unix-based operating system.

  • Oracle, IBM, Apple Java Development Kit (JDK), and OpenJDK: JDK 1.8.0_161 or later, or JDK 11.

    Important: XL Deploy is not supported on non-LTS Java Development Kits (JDKs). See the Java SE support roadmap for details on which Java versions are LTS and non-LTS.

  • CPU: Modern multi-core CPU with x64 architecture.

  • RAM: At least 2 GB of RAM must be available for XL Deploy. See Memory requirements for more details.

  • Hard disk space: See the Hard disk space requirements for more details.

Depending on the environment, the following may also be required:

  • Database: The default XL Deploy setting is to use the internal database that stores the data on the file system. This is intended for temporary use and is not recommended for production use. For production use, it is strongly recommended to use an industrial-grade external database server such as PostgreSQL, MySQL, Oracle, Microsoft SQL Server or DB2. For more information, see Configure the XL Deploy SQL repository.

  • LDAP: To enable group-based security, an LDAP x.509 compliant registry is needed. For more information, see Connect XL Deploy to LDAP or Active Directory.

Networking requirements

Before installing XL Deploy, ensure that the network connection to the XL Deploy host name is functional. You should be able to successfully execute ping xl_deploy_hostname.

By default, the XL Deploy server uses port 4516. If, during installation, you choose to enable secure communication (SSL) between the server and the XL Deploy GUI, the server uses port 4517.

External worker setup requires 4516 or 4517 ports to be open to clients and worker machines and, additionally, port 8180 for master-worker communication on all masters and workers.

To enable secure communication and/or to change the port number during installation, choose the manual setup option when installing XL Deploy.

Memory requirements

Depending on your configuration, memory requirements are:

  • 3 GB for a single machine internal worker setup
  • 2 GB for master instance and 2 GB per worker on one machine with local worker setup
  • 2 GB for master machine and 2 GB for each worker machine in external worker setup

Hard disk space requirements

The default installation of XLD requires approximately 250 MB of disk space (excluding Java and other tools), but it is recommended to have at least 100 GB of disk space on each master or worker node. Faster hard drives are preferred.

The main hard disk space usage comes from the artifacts and log files in the XL Deploy system. The required file system size of the artifacts will vary from installation to installation, but depends mainly on the:

  • Size and storage mechanism used for artifacts
  • Number of packages in the system
  • Number of deployments performed (specifically, the amount of logging information stored)

XL Deploy supports three ways of storing artifacts:

  • In an external file storage such as Maven or some HTTP(S) location, as described here. This is the preferred way.
  • Directly in the database
  • On a file system that is shared between all of the masters and workers. In this case, there must be enough space on the shared file system to hold all artifacts for all versions of all applications.

XL Deploy always requires that the disk space for the server be persistent. This is important for several reasons:

  • Configuration files such as deployit.conf, xl-deploy.conf, and deployit-defaults.properties are updated by the running system
  • Log files are also updated by the running system (unless configured otherwise)

Estimating required disk space

To estimate the total required disk space:

  1. Install and configure XL Deploy for your environment as described in this document. Make sure you correctly set up the database- or file-based repository.
  2. Estimate the number of packages to be imported, either the total number or the number per unit of time (NumPackages).
  3. Estimate the number of deployments to be performed, either the total number or the number per unit of time (NumDeployments).
  4. Record the amount of disk space used by XL Deploy (InitialSize).
  5. Import a small number of packages using the GUI or CLI.
  6. Record the amount of disk space used by XL Deploy (SizeAfterImport).
  7. Perform a small number of deployments.
  8. Record the amount of disk space used by XL Deploy (SizeAfterDeployments).

The needed amount of disk space in total is equal to:

Space Needed = ((SizeAfterImport - InitialSize) * NumPackages) +
    ((SizeAfterDeployments - SizeAfterImport) * NumDeployments)

If NumPackages and NumDeployments are expressed per time unit (the number of packages to be imported per month), the end result represents the space needed per time unit as well.

Minimal reference configuration

For both internal and external workers, having an external database instance is preferred.

Internal worker configuration

  • Modern multi-core CPU with x64 architecture
  • RAM: 3 GB
  • Hard drive: 100 GB
  • Faster network connection between database and master/worker instances is preferred

External worker configuration

Master:

  • Modern multi-core CPU with x64 architecture
  • RAM: 2 GB
  • Hard drive: 100 GB
  • Faster network connection between database and master/worker instances is preferred

Worker:

  • Modern multi-core CPU with x64 architecture
  • RAM: 2 GB
  • Hard drive: 100 GB
  • Faster network connection between database and master/worker instances is preferred

Database server configuration

Minimal requirements:

  • Modern multi-core CPU with x64 architecture
  • RAM: 2 GB
  • Hard drive: 100 GB
  • Faster network connection between database and master/worker instances is preferred

For additional information check database vendor requirements pages:

Client requirements

GUI clients

To use the XL Deploy GUI, your system must meet the following requirements:

  • Web browser:

    • Firefox: the latest 2 versions
    • Chrome: the latest 2 versions
    • Internet Explorer 11 or later

Note: Internet Explorer Compatibility View is not supported.

CLI clients

To use the XL Deploy CLI, your system must meet the following requirements:

  • Operating system: Microsoft Windows or Unix-based operating system running Java.

  • Java Runtime Environment: The same Java Development Kit (JDK) version as your version of XL Deploy.

Middleware server requirements

Unix middleware server requirements

Unix-based middleware servers that XL Deploy interacts with must meet the following requirements:

  • Credentials: XL Deploy must be able to log in to the target systems using a user name and password combination to perform at least the following Unix commands: cp, ls, mv, rm, mkdir, and rmdir. If the login user cannot perform these actions, XL Deploy can also use a sudo user that can execute these commands.

  • SSH access: The target systems must be accessible by SSH from the XL Deploy server. They should run an SSH2 server. It is also possible to handle key-based authorization. Notes:

    • It is possible that the SSH daemon on AIX hangs with certain types of SSH traffic.
    • For security, the SSH account that is used to access a host should have limited rights.
    • A variety of Linux distributions have made SSH require a TTY by default. This setting is incompatible with XL Deploy and is controlled by the Defaults requiretty setting in the sudoers file.

Windows middleware server requirements

Microsoft Windows-based middleware servers that XL Deploy interacts with must meet the following requirements:

  • File system access: The target file system must be accessible via CIFS from the XL Deploy server.

  • Host access: The target host must be accessible from the XL Deploy server via WinRM or Windows Telnet server running in stream mode.

  • Directory shares: The account used to access a target system must have access to the host’s administrative shares such as C$.

  • Ports:

    • For CIFS connectivity, port 445 on the target system must be accessible from the XL Deploy server.
    • For Telnet connectivity, port 23 must be accessible from the XL Deploy server.
    • For WinRM connectivity, port 5985 (HTTP) or port 5986 (HTTPS) must be accessible from the XL Deploy server.

Extending middleware support

You can connect XL Deploy to middleware servers that do not support SSH, Telnet, or WinRM. This requires you to use the Overthere remote execution framework to create a custom access method that connects to the server.