Server Prerequisites - Linux with Sudoless Access



Resources

  • Linux VM running CentOS, Debian, Fedora, RedHat, Suse, Ubuntu images
  • CPU-optimized machine.The Domain Analysis that the vFunction Server runs is CPU intensive. For example, select a VM running Intel’s Sapphire Rapids processor or AMD’s Epyc Genoa processor
  • RAM optimized for the largest App. For Apps over 20k classes, select 64gb RAM. For 4-20k classes, select 32gb RAM. If under 4k, select 16gb RAM
  • 100gb in /var/lib/docker for Docker Volume Storage if configuring 1-2 Apps for analysis with the vFunction Server. Increase the Storage based on the number of applications following the table below. To move these volumes to another location, modify the vFunction Configurable Settings
  • 5gb in /var/lib/docker for Docker Image storage. To move this storage to another location, modify the Docker Root Directory
Number of Apps vCPU Storage
1-2 4 100gb
3-7 8 200gb
8+ 16 500gb

Prerequisites

  • Docker version 19.0.3+ installed and running to create Docker Containers for the vFunction Server
  • SELinux set to a value other than, “enforced”. The values could be disabled, enforcing, permissive
  • net.ipv4.ip_forwarding turned on so the vFunction Containers can communicate with one another
  • Download vFunction Sudoless Server Installation TGZ
  • SSL Certificate and SSL Chain concatenated into a Bundle and SSL Key for Nginx (optional)

Confirmation Steps

As the Root or Sudo user
  • Confirm podman is not included in output when running:
docker --version
  • Confirm SELINUX=enforced is not returned when running:
grep 'SELINUX' /etc/selinux/config
  • Confirm net.ipv4.ip_forward=1 is returned when running:
sysctl -a | grep net.ipv4.ip_forward
  • Add the Docker group by running:
sudo groupadd docker
  • Add the installing user to the Docker group. Replace SUDOLESS_INSTALLING_USER with the actual value:
sudo gpasswd -a SUDOLESS_INSTALLING_USER docker
  • Reload the shell and apply the changes above by running:
newgrp docker
As the Sudoless Installing User
  • Ensure docker is installed and up by running:
docker info
  • Confirm the Application’s Namespace (packages included / imported in the Application’s code) with the Application’s Development team. For example, a vFunction App might have the Namespace of com.vfunction.app or MyCompany.app