diff --git a/charts/kafka.md b/charts/kafka.md
index 2c67742..0bc4da0 100644
--- a/charts/kafka.md
+++ b/charts/kafka.md
@@ -7,7 +7,7 @@
 
 ```shell
 helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
-helm install --version 0.8.8 \
+helm install --version 0.13.3 \
              --set configurationOverrides."offsets\.topic\.replication\.factor"=1 \
              --set configurationOverrides."log\.retention\.hours"=4 \
              --set configurationOverrides."log\.message\.timestamp\.type"="LogAppendTime" \
diff --git a/charts/voltha.md b/charts/voltha.md
index af2f433..2a6e04b 100644
--- a/charts/voltha.md
+++ b/charts/voltha.md
@@ -5,7 +5,7 @@
 Install the etcd-operator helm chart first. This chart provides a convenient way of creating and managing etcd clusters. When VOLTHA installs it will attempt to use etcd-operator to create its etcd cluster. Once installed etcd-operator can be left running.
 
 ```shell
-helm install -n etcd-operator stable/etcd-operator --version 0.8.0
+helm install -n etcd-operator stable/etcd-operator --version 0.8.3
 ```
 
 Allow etcd-operator enough time to create the EtdCluster CustomResourceDefinitions.  This should only be a couple of seconds after the etcd-operator pods are running.  Check the CRD are ready by running the following:
diff --git a/macos.md b/macos.md
index 39b7a67..bed88df 100644
--- a/macos.md
+++ b/macos.md
@@ -95,122 +95,122 @@
 then instead of a Profile tied to a specific access technology, we are
 going to just bring up a demonstration service.
 
-### Install XOS 
+### Install XOS
 
-To install `xos-core` (plus affiliated micro-services) into your 
+To install `xos-core` (plus affiliated micro-services) into your
 Kubernetes cluster, execute the following from the `~/cord/helm-charts`
 directory:
 
-```shell 
-helm dep update xos-core 
-helm install xos-core -n xos-core 
+```shell
+helm dep update xos-core
+helm install xos-core -n xos-core
 ```
 
-You also need to start the Kafka message bus to catch event 
+You also need to start the Kafka message bus to catch event
 notifications send by the various components:
 
-```shell 
-helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator 
-helm install -f examples/kafka-single.yaml --version 0.8.8 -n cord-kafka incubator/kafka 
+```shell
+helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
+helm install -f examples/kafka-single.yaml --version 0.13.3 -n cord-kafka incubator/kafka
 ```
 
-Use `kubectl get pods` to verify that all containers that implement XOS 
-(and Kafka) are successfully running. You should see output that looks 
+Use `kubectl get pods` to verify that all containers that implement XOS
+(and Kafka) are successfully running. You should see output that looks
 something like this:
 
-```shell 
-NAME                             READY     STATUS    RESTARTS   AGE 
-cord-kafka-0                     1/1       Running   0          3m  
-cord-kafka-zookeeper-0           1/1       Running   0          3m  
-xos-chameleon-58c5b847d6-48jvf   1/1       Running   0          11m 
-xos-core-7dc45f677b-pzhm6        1/1       Running   0          11m 
-xos-db-c49549b7f-mzs4n           1/1       Running   0          11m 
-xos-gui-7c96669d8c-8zkhq         1/1       Running   0          11m 
-xos-tosca-7f6cf85657-gzddq       1/1       Running   0          11m 
-xos-ws-5f47ff7d94-xg9f5          1/1       Running   0          11m 
+```shell
+NAME                             READY     STATUS    RESTARTS   AGE
+cord-kafka-0                     1/1       Running   0          3m
+cord-kafka-zookeeper-0           1/1       Running   0          3m
+xos-chameleon-58c5b847d6-48jvf   1/1       Running   0          11m
+xos-core-7dc45f677b-pzhm6        1/1       Running   0          11m
+xos-db-c49549b7f-mzs4n           1/1       Running   0          11m
+xos-gui-7c96669d8c-8zkhq         1/1       Running   0          11m
+xos-tosca-7f6cf85657-gzddq       1/1       Running   0          11m
+xos-ws-5f47ff7d94-xg9f5          1/1       Running   0          11m
 ```
 
-### Install Monitoring and Logging 
+### Install Monitoring and Logging
 
-Although not required, we recommend that you also bring up two 
-auxilary services to capture and display monitoring and logging 
-information. This is done by executing the following Helm charts. 
+Although not required, we recommend that you also bring up two
+auxilary services to capture and display monitoring and logging
+information. This is done by executing the following Helm charts.
 
-Monitoring (once running, access [Grafana](http://docs.grafana.org/) 
+Monitoring (once running, access [Grafana](http://docs.grafana.org/)
 Dashboard at port 31300):
 
 
-```shell 
-helm dep update nem-monitoring 
-helm install -n nem-monitoring nem-monitoring 
+```shell
+helm dep update nem-monitoring
+helm install -n nem-monitoring nem-monitoring
 ```
 
-Logging (once running, access 
-[Kibana](https://www.elastic.co/guide/en/kibana/current/index.html) 
+Logging (once running, access
+[Kibana](https://www.elastic.co/guide/en/kibana/current/index.html)
 Dashboard at port 30601):
 
-```shell 
-helm dep up logging 
-helm install -f examples/logging-single.yaml -n logging logging 
+```shell
+helm dep up logging
+helm install -f examples/logging-single.yaml -n logging logging
 ```
 
-> **Note:** The `-f examples/logging-single.yaml` option says to 
-> not use persistent storage, which is fine for development or demo 
-> purposes, but not for operational deployments. 
+> **Note:** The `-f examples/logging-single.yaml` option says to
+> not use persistent storage, which is fine for development or demo
+> purposes, but not for operational deployments.
 
 ### Install SimpleExampleService
 
-Optionally, you can bring up a simple service to be managed by XOS. 
+Optionally, you can bring up a simple service to be managed by XOS.
 This involves deploying two additional helm charts: `base-kubernetes`
 and `demo-simpleexampleservice`. Again from the `~/cord/helm-charts`
 directory, execute the following:
 
-```shell 
-helm dep update xos-profiles/base-kubernetes 
-helm install xos-profiles/base-kubernetes -n base-kubernetes 
-helm dep update xos-profiles/demo-simpleexampleservice 
-helm install xos-profiles/demo-simpleexampleservice -n demo-simpleexampleservice 
+```shell
+helm dep update xos-profiles/base-kubernetes
+helm install xos-profiles/base-kubernetes -n base-kubernetes
+helm dep update xos-profiles/demo-simpleexampleservice
+helm install xos-profiles/demo-simpleexampleservice -n demo-simpleexampleservice
 ```
 
-When all the containers are successfully up and running, `kubectl get 
+When all the containers are successfully up and running, `kubectl get
 pod` will return output that looks something like this:
 
 
-```shell 
-NAME                                           READY     STATUS    RESTARTS   AGE 
-base-kubernetes-kubernetes-75d68b65bc-h594m    1/1       Running     0          6m 
-base-kubernetes-tosca-loader-ltdzg             0/1       Completed   4          6m 
-cord-kafka-0                                   1/1       Running     1          15m 
-cord-kafka-zookeeper-0                         1/1       Running     0          15m 
-demo-simpleexampleservice-cc8fbfb7-s4r68       1/1       Running     0          5m 
-demo-simpleexampleservice-tosca-loader-46qtg   0/1       Completed   4          5m 
-xos-chameleon-58c5b847d6-rcqff                 1/1       Running     0          16m 
-xos-core-7dc45f677b-27vc9                      1/1       Running     0          16m 
-xos-db-c49549b7f-589n6                         1/1       Running     0          16m 
-xos-gui-7c96669d8c-gcwsv                       1/1       Running     0          16m 
-xos-tosca-7f6cf85657-bf276                     1/1       Running     0          16m 
-xos-ws-5f47ff7d94-mpn7g                        1/1       Running     0          16m 
+```shell
+NAME                                           READY     STATUS    RESTARTS   AGE
+base-kubernetes-kubernetes-75d68b65bc-h594m    1/1       Running     0          6m
+base-kubernetes-tosca-loader-ltdzg             0/1       Completed   4          6m
+cord-kafka-0                                   1/1       Running     1          15m
+cord-kafka-zookeeper-0                         1/1       Running     0          15m
+demo-simpleexampleservice-cc8fbfb7-s4r68       1/1       Running     0          5m
+demo-simpleexampleservice-tosca-loader-46qtg   0/1       Completed   4          5m
+xos-chameleon-58c5b847d6-rcqff                 1/1       Running     0          16m
+xos-core-7dc45f677b-27vc9                      1/1       Running     0          16m
+xos-db-c49549b7f-589n6                         1/1       Running     0          16m
+xos-gui-7c96669d8c-gcwsv                       1/1       Running     0          16m
+xos-tosca-7f6cf85657-bf276                     1/1       Running     0          16m
+xos-ws-5f47ff7d94-mpn7g                        1/1       Running     0          16m
 ```
 
-The two `tosca-loader` items with `Completed` status are jobs, as 
-opposed to pods. Their job is to load TOSCA-based provisioning and 
-configuration information into XOS, and so they run to complettion and 
-then terminate. It is not uncommon to see them in an `Error` state as 
-they retry while waiting for the corresponding services to come 
-on-line. 
+The two `tosca-loader` items with `Completed` status are jobs, as
+opposed to pods. Their job is to load TOSCA-based provisioning and
+configuration information into XOS, and so they run to complettion and
+then terminate. It is not uncommon to see them in an `Error` state as
+they retry while waiting for the corresponding services to come
+on-line.
 
-## Visit CORD Dashboard 
+## Visit CORD Dashboard
 
 Finally, to view the CORD dashboard, run the following:
 
-```shell 
-minikube service xos-gui 
+```shell
+minikube service xos-gui
 ```
 
-This will launch a window in your default browser. Administrator login 
-and password are defined in `~/cord/helm-charts/xos-core/values.yaml`. 
+This will launch a window in your default browser. Administrator login
+and password are defined in `~/cord/helm-charts/xos-core/values.yaml`.
 
-## Next Steps 
+## Next Steps
 
 * Explore other [installation options](README.md).
 * Take a tour of the [operational interfaces](operating_cord/general.md).
diff --git a/profiles/seba/siab.md b/profiles/seba/siab.md
index 6fe0525..1e09d8a 100644
--- a/profiles/seba/siab.md
+++ b/profiles/seba/siab.md
@@ -182,7 +182,7 @@
 ```bash
 cd ~/cord/helm-charts
 helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
-helm install -n cord-kafka --version=0.8.8 -f examples/kafka-single.yaml incubator/kafka
+helm install -n cord-kafka --version=0.13.3 -f examples/kafka-single.yaml incubator/kafka
 # Wait for Kafka to come up
 kubectl wait pod/cord-kafka-0 --for condition=Ready --timeout=180s
 helm install -n onos -f configs/onos.yaml onos
@@ -195,7 +195,7 @@
 ```bash
 cd ~/cord/helm-charts
 # Install the etcd-operator helm chart:
-helm install -n etcd-operator stable/etcd-operator --version 0.8.0
+helm install -n etcd-operator stable/etcd-operator --version 0.8.3
 # Allow etcd-operator enough time to create the EtdcCluster
 # CustomResourceDefinitions. This should only be a couple of seconds after the
 # etcd-operator pods are running. Check the CRD are ready by running the following:
diff --git a/seba_quickstart.md b/seba_quickstart.md
index 377552c..3f955f5 100644
--- a/seba_quickstart.md
+++ b/seba_quickstart.md
@@ -38,7 +38,7 @@
 # Install the CORD platform components
 helm install -n onos cord/onos
 helm install -n xos-core cord/xos-core
-helm install --version 0.8.8 \
+helm install --version 0.13.3 \
              --set configurationOverrides."offsets.topic.replication.factor"=1 \
              --set configurationOverrides."log.retention.hours"=4 \
              --set configurationOverrides."log.message.timestamp.type"="LogAppendTime" \
@@ -59,7 +59,7 @@
              -n logging cord/logging
 
 # Install etcd-operator and wait until 3 etcd CRDs are present in Kubernetes
-helm install -n etcd-operator stable/etcd-operator --version 0.8.0
+helm install -n etcd-operator stable/etcd-operator --version 0.8.3
 kubectl get crd | grep -i etcd | wc -l
 
 # Install the rest of the SEBA profile components
