Installing Smartfacts for Proof of Concepts
To test Smartfacts in your infrastructure, you can perform an internal PoC installation. These pages describe the procedure to perform such an internal PoC installation.
Restrictions of a PoC deployment
To simplify the installation process, the following restrictions apply to a PoC installation:
If you don't have a Kubernetes Cluster available, the installation can be performed on a single Linux server with a single-node Kubernetes cluster using k3s. If you do have a Kubernetes cluster, the installation can be performed on this cluster.
Smartfacts will not connect to any identity provider. In the PoC you will work with dummy users that are provisioned in advance.
Smartfacts will not send emails to users.
All other functionality will be usable as in a later production deployment.
General steps
For installing as Smartfacts PoC instance perform the following steps.
Prepare your infrastructure
Get access to container and chart registry
Install Smartfacts
Prepare your infrastructure
Provide compute resources
CPU Requirements for Mongodb Service
If you plan to run MongoDB in our deployment, the CPU of your nodes/HOST-VM must support the x86-64-v3 instruction set (Intel Haswell/AMD Ryzen or newer).
You can verify that by issuing: cat /proc/cpuinfo | grep flags | head -1 on the host. The output must contain avx2, bmi1, and bmi2.
Option A: Provide Nodes in a Kubernetes Cluster
The nodes should have the following resources:
2 Worker nodes, each with
CPU: 4
RAM: 16GB
HARD DISK: an external volume of 150GB on which the mongodb data is stored (or replication (e.g. with Longhorn) of the data across at least three nodes with a minimum of 150GB each)
The Nodes should have access to an internal Container repository which is configured as a proxy repository to our MID-Repository repo.mid.de
Persistent Storage for Kubernetes
Smartfacts requires a Kubernetes StorageClass for its bundled MongoDB database. Because these databases impose specific requirements on the underlying storage, the choice of StorageClass directly affects the stability of the installation.
The following storage backends have been tested and are supported:
local-path-provisioner(recommended for PoC, demo, and single-node setups)AWS EBS, Azure Disk, GCP Persistent Disk (managed cloud block storage)
External managed database services such as MongoDB Atlas (in this case the bundled databases are disabled in the Smartfacts configuration).
NFS-backed storage is not supported for Mongodb – including, but not limited to, the nfs-subdir-external-provisioner and NFS-CSI drivers. This restriction reflects guidance and known issues across all layers of the database stack:
The MongoDB Operations Checklist states: "Avoid using NFS drives for your dbPath. Using NFS drives can result in degraded and unstable performance." MongoDB also requires a filesystem that supports
fsync()on directories, which is not reliably provided by all NFS implementations.
See: MongoDB Operations Checklist: https://www.mongodb.com/docs/manual/administration/production-checklist-operations/
Option B: Provide a Server
If you don`t have a Kubernetes Cluster to install the PoC installation in, you can provide a virtual Machine which will host a single node Kubernetes.
The VM should meet the following requirements:
CPU:
x64 / AMD64 processor - ARM based servers will not work
Minimum: 8 Cores
RAM: minimum 32 GB
Hard disk: minimum 150 GB
Most of the data will be stored under
/var/lib/rancher/k3sOperating System: Linux
All Linux distributions running K3s can be used.
If you are using a Red Hat / CentOS Linux, please perform these preparations:
It is recommended to turn off firewalld:
systemctl disable firewalld --nowIf enabled, it is required to disable nm-cloud-setup and reboot the node:
systemctl disable nm-cloud-setup.service nm-cloud-setup.timerreboot
The user performing the installation will need sudo privileges
The server must be connected to the internet
Create the DNS entries for Smartfacts Server and Subdomains
Set up DNS entries for the following FQDNs
<Server-FQDN>
smartfacts.<Server-FQDN>
identity.<Server-FQDN>
genoslc.<Server-FQDN>
If you plan to use a OSLC Connector for one of the following tools, also create e DNS entry and make sure the subdomain is covered by the SAN of the certificate:
genoslc-jama.<Server-FQDN>
genoslc-codebeamer.<Server-FQDN>
genoslc-teamcenter.<Server-FQDN>
genoslc-preevision.<Server-FQDN>
genoslc-octane.<Server-FQDN>
Create an X.509 Certificate
Create the certificates according to the instructions on Creating and testing the certificates.
Get credentials and Smartfacts license
Please contact cops@mid.de. We will send you credentials for accessing our container & chart registry and a PoC license.
Install Smartfacts
We recommend that your server can directly acces our container and chart repository. In this case follow the instructions for a PoC Deployment on Kubernetes platforms with Keycloak as OIDC provider.
If your server does not have internet acces, follow the instracionts for a Deployment on air gapped Kubernetes platforms.