diff --git a/overview/deploy-physical.rst b/overview/deploy-physical.rst
new file mode 100644
index 0000000..510c9ae
--- /dev/null
+++ b/overview/deploy-physical.rst
@@ -0,0 +1,282 @@
+.. _deploy_physical:
+
+Deploy a physical VOLTHA POD
+============================
+
+Quickstart
+----------
+
+The quickstart assumes you POD is already correctly cabled, if not you can refer to :ref:`Physical_Layout`
+
+Requires:
+
+- a physical kubernetes cluster
+- `kind-voltha <https://github.com/ciena/kind-voltha>`_ cloned on your machine
+
+
+Enter the ``kind-voltha`` directory and execute this command (``kubectl`` must be installed and poiting to your cluster):
+
+.. code:: bash
+
+    DEPLOY_K8S=no WITH_RADIUS=y CONFIG_SADIS=y ./voltha up
+
+If you already have a ``radius`` server that you want to use, change the flag to ``WITH_RADIUS=n``
+and `configure ONOS accordingly <https://github.com/opencord/aaa>`_.
+
+TLDR;
+-----
+
+Below are the complete steps to install a physical cluster. It assumes ``kubectl`` and ``helm`` commands are already
+available.
+
+Configure Helm
+--------------
+
+Helm provide a capabilty to install and manage Kubernetes applications.
+VOLTHA’s default deployment mechanism utilized Helm. Before Helm can be
+used to deploy VOLTHA it must be initialized and the repositories that
+container the artifacts required to deploy VOLTHA must be added to Helm.
+
+.. code:: bash
+
+    helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com
+    helm repo add stable https://kubernetes-charts.storage.googleapis.com
+    helm repo add onf https://charts.opencord.org
+    helm repo update
+
+.. _installation_steps:
+
+Install EtcdOperator
+--------------------
+
+ETCD Operator is a utility that allows applications to create and manage
+ETCD key/value clusters as Kubernetes resources. VOLTHA utilizes this
+utility to create its key/value store. *NOTE: it is not required that
+VOLTHA create its own datastore as VOLTHA can utilize and existing
+datastore, but for this example VOLTHA will creates its own datastore*
+
+.. code:: bash
+
+   helm install -f $TYPE-values.yaml --namespace voltha --name etcd-operator stable/etcd-operator
+
+Wait for operator pods
+~~~~~~~~~~~~~~~~~~~~~~
+
+Before continuing the Kubernetes pods associated with ETCD Operator must
+be in the ``Running`` state.
+
+.. code:: bash
+
+   kubectl get -n voltha pod
+
+Once all the pods are in the ``Running`` state the output, for a
+**full** deployment should be similar to the output below. For a
+**minimal** deployment there will only be a single pod, the
+``etcd-operator-etcd-operator-etcd-operator`` pod.
+
+.. code:: bash
+
+   NAME                                                              READY     STATUS    RESTARTS   AGE
+   etcd-operator-etcd-operator-etcd-backup-operator-7897665cfq75w2   1/1       Running   0          2m
+   etcd-operator-etcd-operator-etcd-operator-7d579799f7-bjdnj        1/1       Running   0          2m
+   etcd-operator-etcd-operator-etcd-restore-operator-7d77d878wwcn7   1/1       Running   0          2m
+
+It is not just VOLTHA
+---------------------
+
+To demonstrate the capability of VOLTHA other *partner* applications are
+required, such as ONOS. The followins sections describe how to install
+and configure these *partner* applications.
+
+*NOTE: It is important to start ONOS before VOLTHA as if they are
+started in the reverse order ofagent sometimes does not connect to the
+SDN
+controller*\ `VOL-1764 <https://jira.opencord.org/browse/VOL-1764>`__.
+
+ONOS (OpenFlow Controller)
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+VOLTHA exposes an OLT and its connected ONUs as an OpenFlow switch. To
+control that virtual OpenFlow switch an OpenFlow controller is required.
+For most VOLTHA deployments that controller is ONOS with a set of ONOS
+applications installed. To install ONOS use the following Helm command:
+
+.. code:: bash
+
+   helm install -f $TYPE-values.yaml --name onos onf/onos
+
+Exposing ONOS Services
+^^^^^^^^^^^^^^^^^^^^^^
+
+.. code:: bash
+
+   screen -dmS onos-ui kubectl port-forward service/onos-ui 8181:8181
+   screen -dmS onos-ssh kubectl port-forward service/onos-ssh 8101:8101
+
+Configuring ONOS Applications
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Configuration files have been provided to configure aspects of the ONOS
+deployment. The following curl commands push those configurations to the
+ONOS instance. It is possible (likely) that ONOS won’t be immediately
+ready to accept REST requests, so the first ``curl`` command may need
+retried until ONOS is ready to accept REST connections.
+
+.. code:: bash
+
+   curl --fail -sSL --user karaf:karaf \
+       -X POST -H Content-Type:application/json \
+       http://127.0.0.1:8181/onos/v1/network/configuration/apps/org.opencord.kafka \
+       --data @onos-files/onos-kafka.json
+   curl --fail -sSL --user karaf:karaf \
+       -X POST -H Content-Type:application/json \
+       http://127.0.0.1:8181/onos/v1/network/configuration/apps/org.opencord.dhcpl2relay \
+       --data @onos-files/onos-dhcpl2relay.json
+   curl --fail -sSL --user karaf:karaf \
+       -X POST -H Content-Type:application/json \
+       http://127.0.0.1:8181/onos/v1/configuration/org.opencord.olt.impl.Olt \
+       --data @onos-files/olt-onos-olt-settings.json
+   curl --fail -sSL --user karaf:karaf \
+       -X POST -H Content-Type:application/json \
+       http://127.0.0.1:8181/onos/v1/configuration/org.onosproject.net.flow.impl.FlowRuleManager \
+       --data @onos-files/olt-onos-enableExtraneousRules.json
+
+SADIS Configuration
+^^^^^^^^^^^^^^^^^^^
+
+The ONOS applications leverage the *Subscriber and Device Information
+Store (SADIS)* when processing EAPOL and DHCP packets from VOLTHA
+controlled devices. In order for VOLTHA to function propperly SADIS
+entries must be configured into ONOS.
+
+The repository contains two example SADIS configuration that can be used
+with ONOS depending if you using VOLTHA with *tech profile* support
+(``onos-files/onos-sadis-no-tp.json``) or without *tech profile* support
+(``onos-files/onos-sadis-tp.json``). Either of these configurations can
+be pushed to ONOS using the following command:
+
+.. code:: bash
+
+   curl --fail -sSL --user karaf:karaf \
+       -X POST -H Content-Type:application/json \
+       http://127.0.0.1:8181/onos/v1/network/configuration/apps/org.opencord.sadis \
+       --data @<selected SADIS configuration file>
+
+Install VOLTHA Core
+-------------------
+
+VOLTHA has two main *parts*: core and adapters. The **core** provides
+the main logic for the VOLTHA application and the **adapters** contain
+logic to adapter vendor neutral operations to vendor specific devices.
+
+Before any adapters can be deployed the VOLTHA core must be installed
+and in the ``Running`` state. The following Helm command installs the
+core components of VOLTHA based on the desired deployment type.
+
+.. code:: bash
+
+   helm install -f $TYPE-values.yaml --set use_go=true --set defaults.log_level=WARN \
+       --namespace voltha --name voltha onf/voltha
+
+During the install of the core VOLTHA components some containers may
+“crash” or restart. This is normal as there are dependencies, such as
+the read/write cores cannot start until the ETCD cluster is established
+and so they crash until the ETCD cluster is operational. Eventually all
+the containers should be in a ``Running`` state as queried by the
+command:
+
+.. code:: bash
+
+   kubectl get -n voltha pod
+
+The output should be similar to the following with a different number of
+``etcd-operator`` and ``voltha-etcd-cluster`` pods depending on the
+deployment type.
+
+.. code:: bash
+
+   NAME                                                         READY     STATUS    RESTARTS   AGE
+   etcd-operator-etcd-operator-etcd-operator-7d579799f7-xq6f2   1/1       Running   0          19m
+   ofagent-8ccb7f5fb-hwgfn                                      1/1       Running   0          4m
+   ro-core-564f5cdcc7-2pch8                                     1/1       Running   0          4m
+   rw-core1-7fbb878cdd-6npvr                                    1/1       Running   2          4m
+   rw-core2-7fbb878cdd-k7w9j                                    1/1       Running   3          4m
+   voltha-api-server-5f7c8b5b77-k6mrg                           2/2       Running   0          4m
+   voltha-cli-server-5df4c95b7f-kcpdl                           1/1       Running   0          4m
+   voltha-etcd-cluster-4rsqcvpwr4                               1/1       Running   0          4m
+   voltha-kafka-0                                               1/1       Running   0          4m
+   voltha-zookeeper-0                                           1/1       Running   0          4m
+
+Install Adapters
+----------------
+
+The following commands install both the simulated OLT and ONU adapters
+as well as the adapters for an OpenOLT and OpenONU device.
+
+.. code:: bash
+
+   helm install -f $TYPE-values.yaml -set use_go=true --set defaults.log_level=WARN \
+       --namespace voltha --name sim onf/voltha-adapter-simulated
+   helm install -f $TYPE-values.yaml -set use_go=true --set defaults.log_level=WARN \
+       --namespace voltha --name open-olt onf/voltha-adapter-openolt
+   helm install -f $TYPE-values.yaml -set use_go=true --set defaults.log_level=WARN \
+       --namespace voltha --name open-onu onf/voltha-adapter-openonu
+
+Exposing VOLTHA Services
+------------------------
+
+At this point VOLTHA is deployed and from within the Kubernetes cluster
+the VOLTHA services can be reached. However, from outside the Kubernetes
+cluster the services cannot be reached.
+
+.. code:: bash
+
+   screen -dmS voltha-api kubectl port-forward -n voltha service/voltha-api 55555:55555
+   screen -dmS voltha-ssh kubectl port-forward -n voltha service/voltha-cli 5022:5022
+
+Install FreeRADIUS Service
+--------------------------
+
+.. code:: bash
+
+   helm install -f minimal-values.yaml --namespace voltha --name radius onf/freeradius
+
+Configure ``voltctl`` to Connect to VOLTHA
+------------------------------------------
+
+In order for ``voltctl`` to connect to the VOLTHA instance deplpoyed in
+the Kubernetes cluster it must know which IP address and port to use.
+This configuration can be persisted to a local config file using the
+following commands.
+
+.. code:: bash
+
+   mkdir -p $HOME/.volt
+   voltctl -a v2 -s localhost:55555 config > $HOME/.volt/config
+
+To test the connectivity you can query the version of the VOLTHA client
+and server.
+
+.. code:: bash
+
+   voltctl version
+
+The output should be similar to the following
+
+.. code:: bash
+
+   Client:
+    Version        unknown-version
+    Go version:    unknown-goversion
+    Vcs reference: unknown-vcsref
+    Vcs dirty:     unknown-vcsdirty
+    Built:         unknown-buildtime
+    OS/Arch:       unknown-os/unknown-arch
+
+   Cluster:
+    Version        2.1.0-dev
+    Go version:    1.12.6
+    Vcs feference: 28f120f1f4751284cadccf73f2f559ce838dd0a5
+    Vcs dirty:     false
+    Built:         2019-06-26T16:58:22Z
+    OS/Arch:       linux/amd64
\ No newline at end of file
