Install - Server on Offline Linux VM using Podman with Sudoless Access


Installation Steps

Take the following steps to install the vFunction Podman Server on an Offline Linux VM with Sudoless Access:


As the Root User Before the Installation

  1. SSH to the Linux VM where the vFunction Server will be installed
  2. Confirm that podman and runc are installed. For example:
yum list installed podman runc
  1. Create the Rootless User if needed and set the Home Directory to the location where the 100gb of Storage exists. For example:
### Replace $USER and $PATH_TO_100GB_STORAGE with the actual values
useradd -m $USER -d /$PATH_TO_100GB_STORAGE
  1. If a new user was created, create a password for the Rootless User as well. For example:
### Replace $USER with the actual value
passwd $USER
  1. Confirm that the Rootless User has Sub User IDs that can be used by Podman. If no results are returned, follow these steps to add Sub User IDs
### Replace $USER with the actual value
grep '$USER' /etc/subuid
  1. Confirm that the Rootless User has Sub Group IDs that can be used by Podman. If no results are returned, follow these steps to add Sub Group IDs
### REPLACE $GROUP with the actual value
grep '$GROUP' /etc/subgid
  1. Give the Rootless User ownership of the Home Directory where the 100gb of Storage exists. For example:
### Replace $USER, $GROUP and $PATH_TO_100GB_STORAGE with the actual values
chown -R $USER:$GROUP /$PATH_TO_100GB_STORAGE
  1. Allow the Rootless User to continue running the vFunction Server Containers even after the terminal session has ended. For example:
### Replace $USER with the Sudoless User running the vFunction installation
loginctl enable-linger $USER

As the Rootless User Performing the Installation

  1. SSH to the Linux VM where the vFunction Server will be installed
  2. Run to move to the Rootless User’s Home Directory
cd ~
  1. Create directories for the Podman Containers and the vFunction installation:
### Replace $PATH_TO_100GB_STORAGE with the actual location
mkdir -p /$PATH_TO_100GB_STORAGE/storage tmp measurements db dm
  1. Start Podman. If the Rootless User cannot restart Podman without Administrative Credentials, follow these steps here
systemctl start podman
  • Confirm that a list of the Containers can be generated without any warning or errors
  • podman ps
    
    1. Download the latest vFunction Server Podman Installation TGZ
    2. Move the downloaded vFunction Server Podman Installation package to the Home Directory on the Linux VM
    3. Unpack the Installation Package
    ### Replace VERSION with the actual value
    tar -xvzf vfunction-server-podman-offline-installation.vVERSION.tgz
    
    1. Optional if using HTTPS: Move the chained SSL Certificate Bundle as server.crt and the SSL Key as server.key into the vfunction/etc/sysconfig/vfunction/nginx/certs/
    2. Open the server-installation.yaml
    ### Replace $BASE_DIR with the location where the vFunction Installation TGZ was unpacked
    vi $BASE_DIR/vfunction/etc/sysconfig/vfunction/installation/server-installation.yaml
    
    1. Set the required Configurable Settings
    ### Sample Yaml with Required Configurable Settings
    ### Replace /$PATH_TO_100GB_STORAGE with the actual location
    server:
      host: http://172.17.21.72:1024
      org_name: MyOrg
      admin:
        email: peter@myorg.com
        name: Peter
        password: Password1!
    storage:
      database: /$PATH_TO_100GB_STORAGE/db
      measurements: /$PATH_TO_100GB_STORAGE/measurements
      dm: /$PATH_TO_100GB_STORAGE/dm
    
    1. If needed, configure the optional Configurable Settings
    2. Set the Temporary Container Image Storage location is this was modified as a Prerequisite because there was not 15gb available in /var/tmp:
    export TMPDIR=/$PATH_TO_100GB_STORAGE/tmp
    
    1. Run the installation script
    ### Replace $BASE_DIR with the location where the vFunction Installation TGZ was untarred
    bash $BASE_DIR/vfunction/opt/vfunction/server-installation/install.sh
    
    1. If any issues arise, see the:
    1. Install the vFunction Agents for a Monolithic Application or a Distributed Application