- 14 Apr 2025
-
DarkLight
-
PDF
Platform Installation
- Updated on 14 Apr 2025
-
DarkLight
-
PDF
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
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.
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.
- 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.
Related Reading
Platform 6