- 27 Feb 2025
-
DarkLight
-
PDF
Platform Installation
- Updated on 27 Feb 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 Startup Enhancements Guide.
- Itential assumes target machines are connected to the Internet.
- Offline instructions for machines without an internet connection have also been provided.
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
For illustrative purposes, 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/9 and Rocky 8/9.
sudo dnf module enable nodejs:20
sudo dnf install nodejs
Install Node.js on Amazon Linux 2023 from the official package repository.
sudo dnf install nodejs20
Python 3.11
Install Python 3.11 on RHEL 8/9, Rocky 8/9, and Amazon Linux 2023
sudo dnf install python3.11 python3.11-pip
Python Packages
Method 1: Installing Template Builder’s Python Dependencies to the Host System
After making sure that the correct version of Python is installed to the host system, use the following commands to install Template Builder’s Python dependencies:
python3 -m pip install jinja2==3.1.2 markupsafe==2.1.4 textfsm==1.1.3
This may be run before or after installing the Platform, since it is not tied to the outputs of the RPM.
The following command verifies the versions of the packages after installation:
python3 -m pip list
Method 2: Installing Template Builder’s Python Dependencies to the Itential User
Only AFTER installing the Platform via the RPM, run the following command to install Template Builder’s Python dependencies for the itential
user only.
The customer cannot run this command before the RPM, because the RPM creates the itential user.
su itential python3 -m pip install --user jinja2==3.1.2 markupsafe==2.1.4 textfsm==1.1.3
You may check that the correct version of each package is installed to the itential user by running the following command.
su itential python3 -m pip list --user
This final command shows the Python packages installed to the host system. This may be used to verify that they are installed only for the itential user.
python3 -m pip list
Installation of Mongo & 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: Mongo and Redis.
Supported versions of Mongo and Redis are provided here: Itential Dependencies
For illustrative purposes, 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 it is not required, and generally should be run on a dedicated machine.
MongoDB
The official MongoDB documentation can be used for RHEL 8/9, Rocky 8/9, and Amazon Linux 2023:
Install MongoDB Community Edition on Red Hat or CentOS
-
Some aspects of the documentation are specific to OS major version number, but only describes RHEL.
-
For Rocky Linux, match the OS major version number with that of RHEL.
-
For Amazon Linux 2023, use the documentation as if you were installing to RHEL 9.
Redis
Install Redis 7.2 on RHEL 9 and Rocky 9.
sudo dnf module enable redis:7
sudo dnf install redis
Install Redis 7.2 from source on RHEL 8, Rocky 8, and Amazon Linux 2023.
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>
# Must install from source, as no official repository
# provides Redis 7.2 on these releases
# Official documentation: https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-from-source/
# Official source FTP server: https://download.redis.io/releases/
# Ensure you have the required build tools and libraries installed
sudo dnf install gcc make
# For systemd support, add the systemd development package
sudo dnf install systemd-devel
# For TLS support, add the OpenSSL development package
sudo dnf install openssl-devel
# Obtain Redis source code
wget https://download.redis.io/releases/redis-7.2.4.tar.gz
tar -xzvf redis-7.2.4.tar.gz
# Compile
cd redis-stable
make
# For systemd support, add USE_SYSTEMD=yes
# For TLS support, add BUILD_TLS=yes
# Full example: make BUILD_TLS=yes USE_SYSTEMD=yes
# Install the resulting binaries
sudo make install
# Configure Redis
mkdir -p /etc/redis
cp ./redis.conf /etc/redis/redis.conf
vi /etc/redis.conf # Customize configuration for your use case
# Create a Systemd service file
# Customize the service template
# - If you created a configuration file above, reference it in 'ExecStart'
# - Recommended: Create and apply a dedicated 'redis' user for use with this service
vi ./utils/systemd-redis_server.service
# Add the service file to your Systemd service directory
sudo cp ./utils/systemd-redis_server.service /usr/lib/systemd/system/redis.service
sudo systemctl daemon-reload
sudo systemctl start redis
Installation of Platform 6
Once the installation of dependencies are completed, Platform 6 may be installed from the Artifact Repository.
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 root:
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.
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 Environmental Variables for Platform 6 to function.
Run the Platform with the following command:
sudo systemctl start itential-platform
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 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
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
Defining Properties
Beginning with Platform 6, Itential is no longer defining system and platform properties within a properies.json
file.
The platform is now fully configurable via:
- On-disk
platform.properties
file - Environmental Variables
Platform 6 continues to support database profiles and the legacy properties.json
file, but recommends that the user transitions to Environmental Variables or the platform.properties
file.
Using platform.properties
A template platform.properties
file is supplied within the following directory:
/opt/itential/platform/server/utils
Users may continue to utilize a properties.json
file by placing the file within the following directory:
/opt/itential/platform/server
Offline Installation
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
and yum
package managers both support a download plugin for placing RPM into a local directory instead of installing them to the system: DNF download Plugin
The yum
plugin may be installed using:
yum install yum-plugin-downloadonly
Follow the plugin documentation to obtain copies of the required RPM in your filesystem, copy them to the target machine, and use dnf
or rpm
to install them directly on the offline system.
Related Reading
Platform 6