Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In some situations, the Smartfacts server has no access to the internet. In this case, it is not possible to download the needed software and images. This article describes which options we have to install Smartfacts in such scenarios.

...

Table of Contents
minLevel1
maxLevel7
excludeContent

Preparations

Server

Please provide a server that meets the following requirements:

  • CPU:

    • x64 / AMD64 processor - ARM based servers will not work

    • Minimum: 6 Cores

  • RAM: minimum 32 GB

  • Hard disk: minimum 150 GB

    Most of the data will be stored under /var/lib/rancher/k3s

  • Operating 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 --now

    • If enabled, it is required to disable nm-cloud-setup and reboot the node:

      systemctl disable nm-cloud-setup.service nm-cloud-setup.timer

      reboot

  • The user performing the installation will need sudo privileges

  • The server must be connected to the internet

DNS

Please define a domain for Smartfacts. Either add a wildcard entry *.<domain-name> to the DNS or enter the required URLs individually:

  • smartfacts.<domain-name>

  • camp.<domain-name>

  • identity.<domain-name>

  • genoslc.<domain-name>

  • oslc.<domain-name>

Certificates

Please prepare certificates for the server which meet the following requirements:

  • It is an X.509 certificate which is suitable for server authentication

  • Base64-coded in PEM format

  • Hostnames

    • The certificat must be issued on the hostnames

      • smartfacts.<domain-name>

      • camp.<domain-name>

      • identity.<domain-name>

      • genoslc.<domain-name>

      • oslc.<domain-name>

    • Hostnames must also be stored in the "Subject Alternative Name" attribute of the certificate

    • All hostnames and subject alternative names must be written in lower case

  • The certificat must be valid (valid from, valid to)

  • It is suitable for the provided private key

  • The private key may not be password protected

  • The certificate should comprise the complete certificate chain where possible

    If this is missing, then an attempt is made to download the missing intermediate and root certificate during installation.

Install the software

If not done so far please prepare your infrastructure as described in https://smartfacts.atlassian.net/wiki/spaces/SPD/pages/54624257/Installing+Smartfacts+for+Proof+of+Concepts#Prepare-your-infrastructure.

Setup the Kubernetes Environment

Download the software

...

  • Change to the home directory of your user on the server and create a new text file values.yaml with the following content:

    Code Block
    global:
      domain: "<your-domain>"
      instance: "smartfacts-poc"
      registry: "library"
      cert:
        crtFullChain: "<FULL-CHAIN-CERT-BASE64>"
        key: "<CERT-KEY-BASE64>"
      ingress:
        enabled: true
        # Smartfacts supports Traefik and nginx as Ingress Controller. 
        # The default is Traefik.
        # If you use nginx as ingress controller please comment in this line:
        #ingressClassType: "nginx" 
    spa:
      cspConf:
        externalUrls: "" # space separated list of your tool urls (IBM Jazz, Jama, Codebeamer)
    plugin:
      importPlugins: true # "true" for first installation, "false" for minor updates will speed up the update process a lot
    genoslc:
      enabled: false
    mailservice:
      enabled: false
    camp:
      enabled: false
    genoslckafka:
      enabled: false
  • Replace the value of the property domain with your domain name

  • Replace the placeholder of the property crtFullChain with the content of the file chain.crt.base64

  • Replace the placeholder of the property key with the content of the key.base64 file

  • Save the file values.yaml

...

Expand
titleProvide container images with a proxy container registry

Provide Container Images with a Proxy Container Registry

Please contact your administrators to add the Smartfacts registry https://repo.mid.de to the proxy registry.

Add login data to the proxy registry

To connect to your proxy registry, you will need to add the proxy registry login information to your values.yaml file.

To do this, replace the placeholder in the following text and insert it into a file called “registrylogin.txt” on the Smartfacts server.

Code Block
{
  "auths":
  {
    "<proxy registry name>" :
    {
      "username":"<username>",
      "password":"<password>"
    }
  }
}
  • Replace the placehoder <proxy registry name> with the name of your proxy registry without protocol (e.g. write “repo.yourcompany.com”, not “https://repo.yourcompany.com”)

  • Replace the value of the fields “username” and “password” with the login data for your proxy registry

  • Save the file under the name “registrylogin.txt”

  • convert the login information to a base64-encoded string

    Code Block
    cat registrylogin.txt | base64 -w0 > registrylogin.base64
  • In the file “values.yaml” add a new line below the line beginning with “instance” with the content

    Code Block
      repologin: "<content of file registrylogin.base64>"
    • Replace the placehoder “<content of file registrylogin.txt>“ with the content of the file “registrylogin.base64”

    • Make sure that the indentation at the beginning of the line is exactly the same as in the line above

  • delet the files “registrylogin.txt” and “registrylogin.base64”

Expand
titleProvide container images without a container registry

Provide container images without a container registry

In this scenario you will download the container images manually and copy it to the server.

  • Call up the web page for downloading the container images. The link to the web page contains the chart version. It has the following format:
    https://cp.mid.de/releases/smartfacts-air-gapped/smartfacts_air_gapped_<HELM_CHART_VERSION>.html

    • Make sure to replace the placeholder <HELM_CHART_VERSION> with the version of the helm chart you downloaded. You should now see the download page.

  • Download all files to your client PC

  • Create a new directory ~/download/smartfacts on the Smartfacts server

  • Copy the downloaded files to ~/download/smartfacts on the Smartfacts server

  • Download the script to load the images from https://cp.mid.de/releases/smartfacts-air-gapped/loadimages.sh and copy it to ~/download/smartfacts on the Smartfacts server

Load the container images into k3s

On the Smartfacts server

  • Change into the directory ~/download/smartfacts

  • Make the script “loadimages.sh” executeable and execute it

    Code Block
    chmod u+x loadimages.sh
    ./loadimages.sh

The script checks wether all files are present and correct. If this is the case, it will load the container images from the files. To save disk space, you can delete the image files are deleted from - and sha256-files the directory after loading.

You can view the loaded images with the following command.

Code Block
sudo k3s crictl images

...

Code Block
sudo helm upgrade --install --timeout 15m0s smartfacts ./smartfacts -f values.yaml --version 4.7.5-genoslcv2 -n smartfacts --create-namespace

...

These events show some common error conditions (e.g. Images are not found; insufficient ressources)

How to Move k3s data to another partition or disk

Insert excerpt
SPD:Excerpt: How to move k3s data to another partition or disk
SPD:Excerpt: How to move k3s data to another partition or disk
namemove k3s to other disk
nopaneltrue