Merge "Modifying Docker registry docs"
diff --git a/README.md b/README.md
index 94208cb..dc1aeb6 100644
--- a/README.md
+++ b/README.md
@@ -28,8 +28,8 @@
 cluster (> 1.9) in any way you want, otherwise you can follow one of this guide
 to install it:
 
-- [Install minikube on a single node](./prereqs/minikube.md)
-- [Install kubespray on a multiple nodes](./prereqs/kubespray.md)
+- [Install Kubernetes on a single node](./prereqs/k8s-single-node.md)
+- [Install Kubernetes on a multiple nodes](./prereqs/k8s-multi-node.md)
 
 ### Helm
 
diff --git a/SUMMARY.md b/SUMMARY.md
index 570fbe4..3892c6f 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -5,8 +5,8 @@
     * [Networking Connectivity](prereqs/networking.md)
     * [Software Requirements](prereqs/software.md)
         * [Kubernetes](prereqs/kubernetes.md)
-            * [Single Node KB8s](prereqs/minikube.md)
-            * [Multi Node KB8s](prereqs/kubespray.md)
+            * [Single Node KB8s](prereqs/k8s-single-node.md)
+            * [Multi Node KB8s](prereqs/k8s-multi-node.md)
         * [Helm](prereqs/helm.md)
         * [Docker Registry](prereqs/docker-registry.md)
     * [Fabric setup](prereqs/fabric-setup.md)
diff --git a/book.json b/book.json
index 93474f0..fd3f609 100644
--- a/book.json
+++ b/book.json
@@ -10,6 +10,33 @@
   "plugins": [
     "anchorjs",
     "smart-nav-collapse",
-    "page-toc"
-  ]
+    "page-toc",
+    "versions-select"
+  ],
+  "pluginsConfig": {
+    "versions": {
+      "options": [
+        {
+          "value": "/",
+          "text": "Master (Devel)"
+        },
+        {
+          "value": "/cord-5.0",
+          "text": "5.0 (Stable)"
+        },
+        {
+          "value": "/cord-4.1",
+          "text": "4.1 (Stable)"
+        },
+        {
+          "value": "/cord-4.0",
+          "text": "4.0 (Stable)"
+        },
+        {
+          "value": "https://wiki.opencord.org/display/CORD/Building+and+Installing+CORD",
+          "text": "3.0 and previous (wiki)"
+        }
+      ]
+    }
+  }
 }
diff --git a/prereqs/helm.md b/prereqs/helm.md
index 1596ca5..e00e831 100644
--- a/prereqs/helm.md
+++ b/prereqs/helm.md
@@ -37,14 +37,8 @@
 
 Once *helm* and *tiller* are installed you should be able to run the command *helm ls* without errors.
 
-## What helm charts are?
+## Done?
 
-Helm charts are the packaging format used by helm. A chart is a collection of files that describe a related set of Kubernetes resources.
+You're ready to deploy CORD components through helm charts! [Install CORD](../profiles/intro.md).
 
-CORD uses charts to define each component. For example:
-
-* [xos-core](../charts/xos-core.md)
-* [onos](../charts/onos.md)
-* [voltha](../charts/voltha.md)
-
-More info on Helm charts at <https://docs.helm.sh/developing_charts/#charts>
+The CORD helm charts reference guide can be found [here](../charts/helm.md).
diff --git a/prereqs/k8s-multi-node.md b/prereqs/k8s-multi-node.md
new file mode 100644
index 0000000..496c980
--- /dev/null
+++ b/prereqs/k8s-multi-node.md
@@ -0,0 +1,108 @@
+# Multi-node Kubernetes
+
+Usually multi-node Kubernetes installation are suggested for production and larger trials.
+
+## Kubernetes multi-node well-known releases
+
+* **Kubespray**
+    * Documentation: <https://github.com/kubernetes-incubator/kubespray>
+    * Minimum requirements:
+        * At least three machines (more info on hardware requirements on the Kubernetes website)
+
+## Kubespray demo / lab-trial installation scripts
+
+For simplicity, CORD provides some easy-to-use automated scripts to quickly setup Kubespray on an arbitrary number of target machines in few commands.
+
+This is meant only for *lab trials* and *demo use*.
+
+At the end of the procedure, Kubespray should be installed.
+
+### Requirements
+
+* **Operator machine** (1x, either physical or virtual machine)
+    * Has Git installed
+    * Has Python3 installed (<https://www.python.org/downloads/>)
+    * Has Stable version of Ansible installed (<http://docs.ansible.com/ansible/latest/intro_installation.html>)
+    * Is able to reach the target servers (ssh into them)
+* **Target machines** (at least 3x, either physical or virtual machines)
+    * Run Ubuntu 16.04 server
+    * Able to communicate together (ping one each other)
+    * Have the same user *cord* configured, that you can use to remotely access them from the operator machine
+    * The user *cord* is sudoer on each machine, and it doesn't need a password to get sudoer privileges
+
+### Get the Kubespray installation scripts
+
+On the operator machine
+```shell
+git clone https://gerrit.opencord.org/automation-tools
+```
+
+Inside, you will find a folder called *kubespray-installer*
+From now on the guide will assume you're running commands in this folder.
+
+### More on the Kubespray installation scripts
+
+The main script (*setup.sh*) provides an helper with instructions. To see it, run *./setup.sh --help*.
+
+The two main functions are:
+
+* Install Kubespray on an arbitrary number of target machines
+* Export the k8s configuration file path as environment variable to let the user access a specific deployment
+
+### Install Kubespray
+
+In the following example we assume that
+
+* Remote machines have the following IP addresses:
+    * 10.90.0.101
+    * 10.90.0.102
+    * 10.90.0.103
+
+* The deployment/POD has been given the arbitrary name *onf*
+
+The installation procedure goes through the following steps (right in this order):
+
+* Cleans up any old Kubespray installation folder (may be there from previous installations)
+* Clones the official Kubespray installation repository
+* Copies the public key of the operator machine, over to each target machine
+* Installs required software and configures the target machines as prescribed in the Kubespray guide
+* Deploys Kubespray
+* Downloads and exports the access configuration outside the Kubespray folder, so it won’t be removed at the next execution of the script (for example while trying to re-deploy the POD, or while deploying a different POD)
+
+To run the installation script, type
+```shell
+./setup.sh -i onf 10.90.0.101 10.90.0.102 10.90.0.103
+```
+
+At the beginning of the installation you'll be asked to insert your password multiple times.
+
+At the end of the procedure, Kubespray should be installed and running on the remote machines.
+
+The configuration file to access the POD will be saved in the subfolder *configs/onf.conf*.
+
+Want to deploy another POD without affecting your existing deployment?
+
+Runt the following:
+```shell
+./setup.sh -i my_other_deployment 192.168.0.1 192.168.0.2 192.168.0.3
+```
+
+Your *onf.conf* configuration will be always there, and your new *my_other_deployment.conf* file as well!
+
+### Access the Kubespray deployment
+
+Kubectl and helm (look [here](kubernetes.md) for more details) need to be pointed to a specific cluster, before being used. This is done through standard KUBECONFIG files.
+
+The script also helps you to automatically export the path pointing to an existing KUBECONFIG file, previously generated during the installation.
+
+To do that -for example against the onf pod just deployed, simply type
+
+```shell
+source setup.sh -s onf
+```
+
+At this point, you can start to use *kubectl* and *helm*.
+
+## Done?
+
+Are you done? You're ready to install kubectl and helm. Instructions [here](kubernetes.md#get-your-kubeconfig-file).
diff --git a/prereqs/k8s-single-node.md b/prereqs/k8s-single-node.md
new file mode 100644
index 0000000..caafec3
--- /dev/null
+++ b/prereqs/k8s-single-node.md
@@ -0,0 +1,33 @@
+# Install Minikube on a single node
+
+Usually single-node Kubernetes installation are suggested for development, testing, and small lab-trial deployments.
+
+## Kubernetes single-node well-known releases
+
+* **Minikube**
+    * Documentation: <https://kubernetes.io/docs/getting-started-guides/minikube/>
+    * Minimum requirements:
+        * One machine, either a physical machine or a VM. It could also be your own PC! It installs natively also on macOS.
+* **Mikrok8s**
+    * Documentation: <https://microk8s.io/>
+    * One machine, Linux based, either physical machine or virtual. It could also be your own PC!
+
+## Minikube installation walkthrough
+
+Install Minikube is so easy that there's no need for us to provide additional custom scripts. What we can do instead, is to point you to the official Minikube installation guide:
+
+### Install Minikube directly on the Linux OS (no VM support)
+
+**Suggested if you want to install Minikube on a Linux machine, either that this is a physical machine or a VM you created (even runing on your laptop)**
+
+Instructions avaialble at <https://github.com/kubernetes/minikube#linux-continuous-integration-without-vm-support>
+
+### Standard Minikube installation (VM support)
+
+**Suggested if you want to run Minikube directly on your Windows or macOS system**
+
+Instructions available at <https://kubernetes.io/docs/getting-started-guides/minikube/#installation>
+
+## Done?
+
+Are you done? You're ready to install kubectl and helm. Instructions [here](kubernetes.md#get-your-kubeconfig-file).
diff --git a/prereqs/kubespray.md b/prereqs/kubespray.md
deleted file mode 100644
index de79c4c..0000000
--- a/prereqs/kubespray.md
+++ /dev/null
@@ -1,112 +0,0 @@
-# Multi-node Kubernetes
-
-Usually multi-node Kubernetes installation are suggested for production and larger trials.
-
-## Kubernetes, multi-node well-known releases
-
-* Kubespray
-    * Documentation: <https://github.com/kubernetes-incubator/kubespray>
-    * What is used for: usually, for production deployments
-    * Minimum requirements:
-        * At least three machines (more info on hardware requirements on the Kubernetes website)
-
-## Kubespray lab-trial installation scripts
-
-For your convenience CORD provides some easy to use automated scripts to quickly install a lab environment in few commands.
-The goal of this script is to install Kubespray on a set of (minimum 3) target machines.
-
-At the end of the procedure, Kubespray should be installed.
-
-### Requirements
-
-* At least 4 machines: operator machine (i.e. laptop) + at least 3 target servers
-* Operator machine
-    * Has Git installed
-    * Has Python3 installed (<https://www.python.org/downloads/>)
-    * Has Stable version of Ansible installed (<http://docs.ansible.com/ansible/latest/intro_installation.html>)
-    * Is able to reach the target servers (ssh into them)
-* Target servers
-    * Have Ubuntu 16.04 installed 
-    * Are able to communicate together (ping one each other)
-    * They have the same user *cord* configured, that you can use to remotely access them from the operator machine
-    * The user *cord* is sudoer on each machine, and it doesn't need a password to get sudoer access
-
-### More on the Kubespray installation scripts
-
-All scripts are in the kubespray-installer folder just downloaded. From now on the guide assumes you’re running commands from this folder.
-
-The main script (*setup.sh*) provides an helper with instructions. Just run *./setup.sh --help* to see it.
-
-The two main functions are:
-
-* Install Kubespray on an arbitrary number of target machines
-* Export the k8s configuration file path as environment variable to let the user access a specific deployment
-
-### Get the Kubespray installation scripts
-
-On the operator machine
-```shell
-git clone https://gerrit.opencord.org/automation-tools
-```
-
-Inside, you will find a folder called *kubespray-installer*
-
-### Install Kubespray
-
-In the following example we assume that
-
-* Remote machines have the following IP addresses:
-    * 10.90.0.101
-    * 10.90.0.102
-    * 10.90.0.103
-
-* The deployment/POD has been given an arbitrary name: onf
-
-The installation procedure goes through the following steps (right in this order):
-
-* Cleans up any old Kubespray folder previously downloaded
-* Downloads a new, stable Kubespray installation repository
-* Copies the public key of the operator over to each target machine
-* Installs required software and configures the target machines as prescribed in the Kubespray guide
-* Deploys Kubespray
-* Downloads and exports the access configuration outside the Kubespray folder, so it won’t be removed at the next execution of the script (for example while trying to re-deploy the POD, or while deploying a different POD)
-
-To run the installation script, type
-```shell
-./setup.sh -i onf 10.90.0.101 10.90.0.102 10.90.0.103
-```
-
-**NOTE:** the first time you use the script, you will be promped to insert your password multiple times.
-
-At the end of the procedure, Kubespray should be installed and running on the remote machines.
-
-The configuration file to access the POD will be saved in the subfolder *configs/onf.conf*.
-
-Want to deploy another POD without affecting your existing deployment?
-
-Runt the following:
-```shell
-./setup.sh -i my_other_deployment 192.168.0.1 192.168.0.2 192.168.0.3
-```
-
-Your *onf.conf* configuration will be always there, and your new *my_other_deployment.conf* file as well!
-
-### Access the Kubespray deployment
-
-Kubectl and helm need to be pointed to a specific cluster, before being used.
-
-The script helps you also to automatically export the path pointing to an existing Kubespray configuration, previously generated during the installation.
-
-For example, if you want to run *kubectl get nodes* against the *onf* cluster just deployed, you should run:
-
-```shell
-source setup.sh -s onf
-```
-
-This will automatically run for you
-
-```shell
-export FULL_PATH/kubespray-installer/configs/onf.conf
-```
-
-As a result, you’ll now be able to successfully run *kubectl get nodes*.
diff --git a/prereqs/minikube.md b/prereqs/minikube.md
deleted file mode 100644
index ed7ee20..0000000
--- a/prereqs/minikube.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Install Minikube on a single node
-
-* **Documentation**: <https://kubernetes.io/docs/getting-started-guides/minikube/>
-
-* **What is used for**: usually, adopted in development environments. It can be installed even locally on the own machine
-
-* **Minimum requirements**:
-    * One machine, either a physical machine or a VM. It could also be your own PC!
diff --git a/profiles/mcord.md b/profiles/mcord.md
index ebde964..5e60d83 100644
--- a/profiles/mcord.md
+++ b/profiles/mcord.md
@@ -7,7 +7,7 @@
 minima provident aliquam eveniet a tempora saepe. Iusto.
 
 - A Kubernetes cluster (you will need a [multi node
-  cluster](../prereqs/kubespray.md))
+  cluster](../prereqs/k8s-multi-node.md))
 - Helm, follow [this guide](../prereqs/helm.md)
 - Openstack-Helm, follow [this guide](../prereqs/openstack-helm.md)
 
diff --git a/profiles/rcord-lite.md b/profiles/rcord-lite.md
index 2a50479..c3f9156 100644
--- a/profiles/rcord-lite.md
+++ b/profiles/rcord-lite.md
@@ -1,4 +1,4 @@
-# RCORD Lite
+# R-CORD Lite
 
 ## Prerequisites
 
@@ -7,8 +7,8 @@
 minima provident aliquam eveniet a tempora saepe. Iusto.
 
 - A Kubernetes cluster (you can follow one of this guide to install a [single
-  node cluster](../prereqs/minikube.md) or a [multi node
-  cluster](../prereqs/kubespray.md))
+  node cluster](../prereqs/k8s-single-node.md) or a [multi node
+  cluster](../prereqs/k8s-multi-node.md))
 - Helm, follow [this guide](../prereqs/helm.md)
 
 ## CORD Components
@@ -27,7 +27,7 @@
 ## Install the RCORD-Lite helm chart
 
 ```shell
-helm install -n rcord-lite xos_profiles/rcord-lite
+helm install -n rcord-lite xos-profiles/rcord-lite
 ```
 
 ### How to customize the RCORD-Lite helm chart
@@ -59,6 +59,6 @@
 and use it during the installation with:
 
 ```shell
-helm install -n rcord-lite xos_profiles/rcord-lite -f my-rcord-lite-values.yaml
+helm install -n rcord-lite xos-profiles/rcord-lite -f my-rcord-lite-values.yaml
 ```