Platform Installation
  • 14 Apr 2025
  • Dark
    Light
  • PDF

Platform Installation

  • Dark
    Light
  • PDF

Article summary

This guide will provide users instructions on how to do a fresh installation of Itential Platform 6.

Before starting, please review the Platform 6 Configuration Enhancements Guide.

RPM Distribution & Artifact Repository

Beginning with Platform 6, Itential’s platform product is distributed as an RPM. Bin and tar files are no longer supported by Itential nor are they offered as an artifact.

RPM distribution is offered as follows. Repository access is managed by licensed permission. These repositories are accessible only if the customer has the appropriate license.

Repository Description
PLATFORM This repository offers RPM of Itential’s base product and includes: Studio, Operations Manager, and Configuration Management.
CONFIG This repository offers RPM of Itential’s Enterprise Configuration Management software, and includes Golden Configuration.
LIFECYCLE This repository offers RPM of Itential’s Lifecycle Manager product.
SERVICE This repository offers RPMs of Itential’s NSO Service Manager product.

Figure 1: Itential Software Repository
RPM Repository

Installation of Dependencies

Itential Platform depends on several components and requires them to be installed alongside the software on the same machine.

Required dependencies are provided here: Itential Dependencies

This guide will reference the specific versions below:

  • Node.js version 20
  • Python 3.11
  • Pip for Python 3.11

If a user attempts to install the Itential Platform RPM on a system which does not have the dependencies installed, the installation will fail.

Node.js

Install Node.js on RHEL 8, RHEL 9, Rocky 8, and Rocky 9 from the official package repository.

dnf module enable nodejs:20
dnf install nodejs

Install Node.js on Amazon Linux 2023 from the official package repository. Note that Amazon Linux has added alternatives compatibility to the nodejs package, which installs major version 18, but not to the nodejs20 package required by Itential Platform. Please use the following command to set up an alternatives entry which points to the appropriate version of Node.js.

# Install Nodejs 20
dnf install nodejs20

# Use 'node-20' as provider for 'node' with priority 1000
alternatives --install /usr/bin/node node /usr/bin/node-20 1000 \
  --slave /usr/bin/npm npm /usr/bin/npm-20 \
  --slave /usr/bin/npx npx /usr/bin/npx-20

Python 3.11

Install Python 3.11 on RHEL 8, RHEL 9, Rocky 8, Rocky 9, and Amazon Linux 2023

dnf install python3.11 python3.11-pip

Python Packages

Method 1: Installing Template Builder’s Python Dependencies to the Host System
After installing the correct version of Python to the host system, install Template Builder's Python package dependencies with the following command. This may be run before or after installing the Platform.

python3.11 -m pip install jinja2==3.1.2 markupsafe==2.1.4 textfsm==1.1.3

The following command may be used to verify the versions of the packages after installation:

python3.11 -m pip list

Method 2: Installing Template Builder’s Python Dependencies to the Itential User
After installing the Platform, install Template Builder’s Python dependencies to the itential user using the following command. System-level packages will be unaffected.
This command cannot run before the Platform has been installed because the itential user is created by the Platform installer.

su itential -c 'python3.11 -m pip install --user jinja2==3.1.2 markupsafe==2.1.4 textfsm==1.1.3'

The following command may be used to verify the versions of the packages after installation:

su itential -c 'python3.11 -m pip list --user'

The following command shows the Python packages installed to the host system. This may be used to verify that Template Builder's dependencies are installed only for the itential user.

python3.11 -m pip list

Installation of MongoDB & Redis Service Dependencies

In addition to the onboard dependencies listed above, Itential Platform requires two services to be running and accessible in order to start: MongoDB and Redis.

Supported versions of MongoDB and Redis are provided here: Itential Dependencies

This guide references the versions below:

  • MongoDB 8.0
  • Redis 7.4

These services can be installed to the same machine as Itential Platform, but this is not required, and generally they should be run on dedicated machines.

MongoDB

The following MongoDB documentation can be used for RHEL 8, RHEL 9, Rocky 8, and Rocky 9:

Install MongoDB Community Edition on Red Hat or CentOS

  • The MongoDB documentation describes variations in procedure which are specific to OS major version number, but only provides instructions for RHEL.
  • For Rocky Linux, match the OS major version number with that of RHEL.

The following MongoDB documentation can be used for Amazon Linux 2023:

Install MongoDB Community Edition on Amazon Linux

Redis

Redis 7.4 must be installed from source on RHEL 8, RHEL 9, Rocky 8, Rocky 9, and Amazon Linux 2023, as no official repository provides version 7.4 as of the time of this writing.

The official source installation instructions may be found here: Install Redis from Source

The official source archive download server may be found here: https://download.redis.io/releases/

If you run into a build error and get an error message like the one below, use make distclean

zmalloc.h:29:10: fatal error: jemalloc/jemalloc.h: No such file or directory
 #include <jemalloc/jemalloc.h>

Ensure you have the required build tools and libraries installed:

dnf install gcc make
# For systemd support, add the systemd development package
dnf install systemd-devel
# For TLS support, add the OpenSSL development package
dnf install openssl-devel

Obtain Redis source code. This example uses wget, but another download utility, such as curl, may be substituted:

wget https://download.redis.io/releases/redis-7.4.2.tar.gz
tar -xzvf redis-7.4.2.tar.gz
cd redis-7.4.2

Compile the Redis source code. Ensure you use the appropriate build settings for your use case:

Base build with no optional features:

make

For systemd support, add USE_SYSTEMD=yes when building:

make USE_SYSTEMD=yes

For TLS support, add BUILD_TLS=yes when building. This may be combined with the systemd option:

make BUILD_TLS=yes USE_SYSTEMD=yes

After building, install the resulting binaries:

make install

Verify the installed version of Redis:

redis-server --version

Configure Redis:

mkdir -p /etc/redis
cp ./redis.conf /etc/redis/redis.conf
# Customize configuration for your use case
$EDITOR /etc/redis.conf

If you compiled with systemd support, create a service file from the template included in the source code, and customize it to your use case:

# Add the service file to your Systemd service directory
cp ./utils/systemd-redis_server.service /usr/lib/systemd/system/redis.service

# If you created a configuration file above, reference it in 'ExecStart'
# Recommended: Create and apply a dedicated 'redis' user for use with this service
$EDITOR /usr/lib/systemd/system/redis.service

Reload the systemd daemon and start the newly installed redis service:

systemctl daemon-reload
systemctl start redis

Installation of Platform 6

Once the installation of dependencies are completed, Platform 6 may be installed from the Artifact Repository.

There are several steps required to install and start the Itential Platform:

  • Install Itential Platform.
  • Install Lifecycle Manager, Enterprise Configuration Manager, or Service Manager if entitled to a license.
  • Create an encryption key.
  • Configure the Platform.

Install Platform 6 from Artifact

Verify the Platform artifact has been downloaded from the customer repository to the target machine.

Once the artifact has been downloaded from the repository, run the command to install the PLATFORM artifact:

rpm -Uh itential-platform-6.0.0-1.noarch.rpm

This command assumes an artifact name of itential-platform-6.0.0-1.noarch.rpm. Please replace this name with the downloaded artifact name.

The product will be installed to the following directory:

/opt/itential/platform/server

The installer creates the following directory. The customer is responsible for providing a platform.properties file in this location to define platform configuration.

/etc/itential/

The encryption key must be defined within the platform.properties file or Environment Variables for Platform 6 to function.

Installation of Lifecycle Manager, Enterprise Configuration Manager & Service Manager

Provided that customers are licensed to access Lifecycle Manager, Enterprise Configuration Manager, and Service Manager, the following will assist with installation of those applications.

Download the relevant Artifacts from the Itential repository:

  • LIFECYCLE
  • SERVICE
  • CONFIG

For artifact installation, an example showing Lifecycle Manager is shown below. This approach is practically identical for the Service Manager and Enterprise Configuration Manager applications. Once the artifacts are on the target system, installation may be accomplished by utilizing the following command:

rpm -Uh itential-lifecycle_manager-VERSION.noarch.rpm

The example above uses Lifecycle Manager for illustrative purposes. Please replace the artifact name with the relevant downloaded Lifecycle, Config Manager, or Service Manager artifact.

The assets will be installed to the following directory by default:

/opt/itential/platform/services

NSO Service Management

This task outlines the steps to support the build and installation of Itential Service Management RPM in Platform 6.

Architecture Specific Artifacts for NSO Service Manager

To establish secure Netconf connections to NSO via ssh2, architecture-specific libraries are required. Itential provides dedicated artifacts for both x86_64 and ARM64 architectures. Please ensure you select the artifact that corresponds to your target machine’s hardware architecture to guarantee full compatibility.

Download the itential-service_management-<version>.rpm build from the repository. An example showing version 6.0.1 is shown below.

itential-service_management-6.0.1-rc1.aarch64.rpm

Use the dnf install command to install the downloaded RPM:

sudo dnf install itential-service_management-6.0.1-rc1.aarch64.rpm
// Replace <version> with the actual version of the RPM file you downloaded.

After installation, navigate to the services directory:

cd /opt/itential/platform/services

Verify the following three NSO apps were installed:

  • adapter-nso
  • app-nso_manager
  • app-service_management

Next, move the NSO apps to the Itential Platform services directory:

mv /opt/itential/platform/services/* /opt/itential/platform/server/services

You will then verify the same three NSO apps are inside the IAP server services directory:

ls /opt/itential/platform/server/services

Last, start your Itential Platform server:

cd /opt/itential/platform/server
node server.js

Once the server is started, the NSO apps should be available and running within your Itential Platform instance.

Create the Encryption Key

Starting with Platform 6, users are required to supply an encryption key in their configuration. Platform 6 will not start if an encryption key is not provided.

The encryption key is used to secure secrets within the database. Itential does not manage the lifecycle of this encryption key. The Platform will only read this key from configuration, and will not back it up in any way. Customers are responsible for recording the encryption key, and loss of the key will result in loss of all encrypted data.

The key value must be formatted as a 64 character hexadecimal string. For example:

0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff

The following approaches may be followed for generating an encryption key:

  • Generating a randomized key value: openssl rand -hex 32
  • Generating a key value using an existing password value as a base: printf '%s' “$PASSWORD” | sha256sum | head -c 64

Whichever approach you use to generate the key, ensure the result is persisted in a secrets repository for safe keeping before applying it to your Itential Platform installation. Losing access to this key means losing access to secret values stored inside of Itential Platform.

Important
  • Encryption key MUST be defined via environment variables or the .properties file.
  • Encryption key CANNOT be set within profile. This is one of the few configuration parameters which is not configurable in all places.
  • Platform 6 WILL NOT start without an encryption key.

Configuration

Beginning with Platform 6, Itential is no longer defining system and platform properties within a properties.json file.

The platform is now fully configurable via:

  • On-disk platform.properties file
  • Environment Variables

Platform 6 continues to support database profiles and the legacy properties.json file, but recommends that the user transitions to Environment Variables or the platform.properties file.

Additional details on defining properties are available within the configuration section here:
Configuring Platform 6

Using platform.properties

A template platform.properties file is included with the Platform at the following location:

/opt/itential/platform/server/utils/template.properties

Users may continue to utilize a properties.json file by placing the file within the following directory:

/opt/itential/platform/server

Starting the Platform

The Itential Platform is installed as a systemd service, and may be started with the following command:

systemctl start itential-platform

Offline Installation of Dependencies from RPMs

If your installation policy requires that the target machine is kept offline, Itential Platform dependencies may be installed directly from a downloaded RPM.

The dnf package manager supports a download plugin for placing RPM into a local directory instead of installing them to the system: DNF download Plugin

Follow the plugin documentation to obtain copies of the required RPMs in your filesystem, copy them to the target machine, and use dnf or rpm to install them on the offline system.

Platform 6


Was this article helpful?

What's Next
Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.