Sorry, you need to enable JavaScript to visit this website.

Retail Node Components

The Retail Node Components project is a bundle of Software Reference Designs provided by the Intel Retail, Banking, Hospitality, and Education (RBHE) division of the Internet of Things Group (IOTG). Our goal is to solve challenges in the industry by accelerating solution development for ODM, developer, and business use cases, driving down overall technology costs, and improving ROI through the deployment of systems that are modular, multi-purpose and interoperable — enabling accessibility, flexibility, and scale.

What are the Retail Node Components?

The Retail Node Components are a bundle of Software Reference Designs provided by the Intel Retail, Banking, Hospitality, and Education (RBHE) division of the IOTG to accelerate solution development for ODM and development use cases. This bundle offers solutions for accelerating device provisioning, remote system management, clustering, and scaling. The current release consists of reference solutions for following components - Retail Node Installer, Profiles (Rancher*, Ubuntu*, Clear Linux*), and the Retail Workload Orchestrator (RWO).  The Retail Node Installer enables System Integrators, ODMs, and Development Teams to automate provisioning of devices with a software stack as defined by a Profile on x86 edge server/device(s) or virtual machines, without having to manually install individual software components, middleware, firmware, and applications. Retail Workload Orchestrator is a ZeroConfig Technology, which enables edge devices to scale like Lego* blocks. It is the set of open source services used to enable autonomous horizontally scaling of edge devices services to support Workload Orchestration.

 

Do the Retail Node Components comprise an end-to-end product? 

No, the Retail Node Components are a reference solution for System Integrators and Developers. Current release provides reference designs for the Retail Node Installer and Profiles (RancherUbuntuClear Linux) to provide users with solutions for provisioning devices through automation. In addition, it provides a reference solution Retail Workload Orchestrator (RWO) for autonomous horizontally scaling of edge devices.

Will the Retail Node Components only consist of a reference design for the Retail Node Installer and a base Rancher OS profile?

Release 1.0 of the Retail Node Components only provides a reference design for the Retail Node Installer and a base Rancher OS profile.

Release 1.1 of the Retail Node component provides reference solutions for profiles that contain more software components like retail workload orchestrator and other base profiles (Ubuntu & Clear Linux).

How does the Retail Node Installer provision Client Devices?

The Retail Node Installer (RNI) is a collection of scripts that enables network-wide PXE booting of Client Devices with Profiles. Profiles can have a base OS of any typical Linux* distribution that supports Docker*, such as Rancher* OS, Ubuntu*, or Clear Linux*. The list of profiles that a Retail Node installer serves out to Client Devices is specified in conf/config.yml on the Retail Node Installer. A sample config file is shown below:

dhcp_range_minimum: 192.168.1.100
dhcp_range_maximum: 192.168.1.250
network_broadcast_ip: 192.168.1.255
network_gateway_ip: 192.168.1.1
network_dns_secondary: 8.8.8.8
host_ip: 192.168.1.11

profiles:
  - git_remote_url: https://github.com/intel/rni-profile-base-rancheros.git
    profile_branch: master
    profile_base_branch: None
    git_username: ""
    git_token: ""
    name: rancher-profile
    custom_git_arguments: --depth=1   

Multiple profiles can be specified in this file to increase the number of PXE-boot menu options that the Retail Node Installer serves to client devices. Since the Retail Node Installer provides DHCP and TFTP services to network boot Client Devices, it must be on an isolated network with the gateway's DHCP service disabled. 

Information on how to set up a Retail Node Installer on a machine, network setup, and profile management is provided in the code repository.

What hardware and software do I need to get the Retail Node Installer up and running? 

Retail Node Installer (RNI)

We recommend hardware or Virtual Machine (VM) with at least 2 CPUs, 20 GB HD, and 2 GB RAM, running any Linux* distribution (headless recommended) that supports Docker.

  • docker 18.09.3 or greater
  • docker-compose v1.23.2 or greater (installation guide)
  • bash v4.3.48 or greater
  • git

You will also need a git URL for the profile that you want the RNI to install on your client device. This profile URL will be defined in a config file on the RNI.

What hardware and software do I need to get the Retail Workload Orchestrator Up and Running? 

Retail Workload Orchestrator (RWO)
We recommend hardware or Virtual Machine (VM) with the configuration below: 
 
  • x86 hardware or x86 Virtual Machine
  • At least 5 GB of disk space
  • 4 GB of RAM
  • Linux Distro that supports Docker
  • docker 18.06.x or greater
  • docker-compose v1.23.2 or greater
  • bash v4.3.48 or greater

Is Retail Workload Orchestrator(RWO) secured?

Yes, Component level security has been provided with the release. Security in Retail Workload Orchestrator is achieved using PKI architecture and root privileges. Various components of Retail Workload Orchestrator talk to each other either over https or they use docker-volumes/filesystem location protected by root privilege. GlusterFS is also secured using PKI.
 

How do I deploy my Docker application?

  • Retail Workload Orchestrator offers a ssh-console which can be used to deploy the service stack using the docker CLI:   docker stack deploy -c docker-compose.yml some_app
  • Retail Workload Orchestrator encourages the admins to use docker swarm UI management tools like portainer and swarmpit to deploy application to cluster through a web management console.
 
Target (Client) Device

You will need bare metal or a VM with the specifications necessary for your use case. The RNI will install the software stack defined by your profile on this device.