diff --git a/tools/kafkacat/Chart.yaml b/tools/kafkacat/Chart.yaml
new file mode 100644
index 0000000..a3b3a02
--- /dev/null
+++ b/tools/kafkacat/Chart.yaml
@@ -0,0 +1,23 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: kafkacat
+description: A Helm chart for kafkacat
+icon: https://kafka.apache.org/images/logo.png
+
+version: 1.0.1
+
+# version of confluentinc/cp-kafkacat container
+appVersion: 4.1.2
diff --git a/tools/kafkacat/templates/NOTES.txt b/tools/kafkacat/templates/NOTES.txt
new file mode 100644
index 0000000..5b580a1
--- /dev/null
+++ b/tools/kafkacat/templates/NOTES.txt
@@ -0,0 +1,11 @@
+Thank you for installing {{ .Chart.Name }}.
+
+Your release is named {{ .Release.Name }}.
+
+You can use this container to listen to event on Kafka.
+To do that, exec in the pod and run:
+
+kafkacat -C -b <kafka-service> -t <kafka-topic>
+
+
+
diff --git a/tools/kafkacat/templates/deployment.yaml b/tools/kafkacat/templates/deployment.yaml
new file mode 100644
index 0000000..de219c9
--- /dev/null
+++ b/tools/kafkacat/templates/deployment.yaml
@@ -0,0 +1,41 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1beta2
+kind: Deployment
+metadata:
+  name: kafkacat
+  labels:
+    app: kafkacat
+    chart: kafkacat
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: kafkacat
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: kafkacat
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+        - name: kafkacat
+          image: {{ .Values.global.registry }}{{ .Values.image.repository }}:{{ tpl .Values.image.tag . }}
+          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          command: ["/bin/bash", "-c", "sleep 86400"]
diff --git a/tools/kafkacat/values.yaml b/tools/kafkacat/values.yaml
new file mode 100644
index 0000000..6b96e1b
--- /dev/null
+++ b/tools/kafkacat/values.yaml
@@ -0,0 +1,34 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Default values for xossh
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+replicaCount: 1
+
+nameOverride: ""
+fullnameOverride: ""
+
+imagePullPolicy: Always
+
+image:
+  repository: 'confluentinc/cp-kafkacat'
+  tag: '{{ .Chart.AppVersion }}'
+  pullPolicy: 'Always'
+
+global:
+  registry: ''
+
diff --git a/tools/voltha-kafka-dump/Chart.yaml b/tools/voltha-kafka-dump/Chart.yaml
new file mode 100644
index 0000000..0ae3423
--- /dev/null
+++ b/tools/voltha-kafka-dump/Chart.yaml
@@ -0,0 +1,23 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: voltha-kafka-dump
+description: A Helm chart for voltha-kafka-dump
+icon: https://kafka.apache.org/images/logo.png
+
+version: 1.0.0
+
+# version of voltha/voltha-kafka-dump container
+appVersion: 6.1.1
diff --git a/tools/voltha-kafka-dump/templates/NOTES.txt b/tools/voltha-kafka-dump/templates/NOTES.txt
new file mode 100644
index 0000000..d346417
--- /dev/null
+++ b/tools/voltha-kafka-dump/templates/NOTES.txt
@@ -0,0 +1,9 @@
+Thank you for installing {{ .Chart.Name }}.
+
+To dump events in human-readable format:
+
+kubectl exec -it <pod-name> ./voltha-dump-events.sh
+
+To dump events in binary format:
+
+kubectl exec -it <pod-name> ./voltha-dump-events.sh -- --binary
diff --git a/tools/voltha-kafka-dump/templates/deployment.yaml b/tools/voltha-kafka-dump/templates/deployment.yaml
new file mode 100644
index 0000000..dd47799
--- /dev/null
+++ b/tools/voltha-kafka-dump/templates/deployment.yaml
@@ -0,0 +1,41 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1beta2
+kind: Deployment
+metadata:
+  name: voltha-kafka-dump
+  labels:
+    app: voltha-kafka-dump
+    chart: voltha-kafka-dump
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: voltha-kafka-dump
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: voltha-kafka-dump
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+        - name: voltha-kafka-dump
+          image: {{ .Values.global.registry }}{{ .Values.image.repository }}:{{ tpl .Values.image.tag . }}
+          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          command: ["/bin/bash", "-c", "sleep 86400"]
diff --git a/tools/voltha-kafka-dump/values.yaml b/tools/voltha-kafka-dump/values.yaml
new file mode 100644
index 0000000..bce8935
--- /dev/null
+++ b/tools/voltha-kafka-dump/values.yaml
@@ -0,0 +1,34 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Default values for xossh
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+replicaCount: 1
+
+nameOverride: ""
+fullnameOverride: ""
+
+imagePullPolicy: Always
+
+image:
+  repository: 'opencord/voltha-kafka-dump'
+  tag: '{{ .Chart.AppVersion }}'
+  pullPolicy: 'Always'
+
+global:
+  registry: ''
+
diff --git a/tools/xos-tester/Chart.yaml b/tools/xos-tester/Chart.yaml
new file mode 100644
index 0000000..1e059eb
--- /dev/null
+++ b/tools/xos-tester/Chart.yaml
@@ -0,0 +1,23 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: xos-tester
+description: A Helm chart to run tests against an XOS deployment
+icon: https://guide.opencord.org/logos/xos.svg
+
+version: 1.0.1
+
+# version of xosproject/xos-api-tester container
+appVersion: latest
diff --git a/tools/xos-tester/templates/NOTES.txt b/tools/xos-tester/templates/NOTES.txt
new file mode 100644
index 0000000..1d8c850
--- /dev/null
+++ b/tools/xos-tester/templates/NOTES.txt
@@ -0,0 +1,7 @@
+Thank you for installing {{ .Chart.Name }}.
+
+Your release is named {{ .Release.Name }}.
+
+This helm chart will perform test against a running installation of XOS.
+
+To view the result of the tests check the logs of the container
diff --git a/tools/xos-tester/templates/_helpers.tpl b/tools/xos-tester/templates/_helpers.tpl
new file mode 100644
index 0000000..29a7e0b
--- /dev/null
+++ b/tools/xos-tester/templates/_helpers.tpl
@@ -0,0 +1,18 @@
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{- define "xos-tester.config" }}
+#!/usr/bin/env bash
+{{ .Values.testCommand }}
+{{- end }}
diff --git a/tools/xos-tester/templates/configmap.yaml b/tools/xos-tester/templates/configmap.yaml
new file mode 100644
index 0000000..5666a0b
--- /dev/null
+++ b/tools/xos-tester/templates/configmap.yaml
@@ -0,0 +1,26 @@
+---
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: xos-tester-command
+  labels:
+    app: xos-tester
+    chart: xos-tester
+    release: {{ .Release.Name }}
+data:
+  command: |
+{{ include "xos-tester.config" . | indent 4 }}
diff --git a/tools/xos-tester/templates/job.yaml b/tools/xos-tester/templates/job.yaml
new file mode 100644
index 0000000..eaa6d86
--- /dev/null
+++ b/tools/xos-tester/templates/job.yaml
@@ -0,0 +1,51 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: xos-tester
+  labels:
+    app: xos-tester
+    chart: xos-tester
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  template:
+    metadata:
+      labels:
+        app: xos-tester
+        release: {{ .Release.Name }}
+    spec:
+      restartPolicy: Never
+      containers:
+        - name: xos-tester
+          image: {{ .Values.global.registry }}{{ .Values.image.repository }}:{{ tpl .Values.image.tag . }}
+          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          command: [
+            "bash",
+            "run_tests.sh"
+          ]
+          volumeMounts:
+            - name: xos-tester-command
+              mountPath: /src/cord-api/Tests/run_tests.sh
+              subPath: command/run_tests.sh
+      volumes:
+        - name: xos-tester-command
+          configMap:
+            name: xos-tester-command
+            items:
+              - key: command
+                path: command/run_tests.sh
diff --git a/tools/xos-tester/values.yaml b/tools/xos-tester/values.yaml
new file mode 100644
index 0000000..467ab63
--- /dev/null
+++ b/tools/xos-tester/values.yaml
@@ -0,0 +1,35 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Default values for xossh
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+replicaCount: 1
+
+nameOverride: ""
+fullnameOverride: ""
+
+imagePullPolicy: Always
+
+testCommand: "robot --variable timeout:300s --variable num_olts:1 --variable num_onus:1 --variable num_pon_ports:1 --variable cord_kafka:cord-kafka XosScaleValidations/xos-scale-att-workflow.robot"
+
+image:
+  repository: 'xosproject/xos-api-tester'
+  tag: '{{ .Chart.AppVersion }}'
+  pullPolicy: 'Always'
+
+global:
+  registry: ''
diff --git a/tools/xossh/Chart.yaml b/tools/xossh/Chart.yaml
new file mode 100644
index 0000000..0a5cd70
--- /dev/null
+++ b/tools/xossh/Chart.yaml
@@ -0,0 +1,22 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: xossh
+description: A Helm chart for xossh, the XOS command line shell
+icon: https://guide.opencord.org/logos/xos.svg
+version: 3.0.1
+
+# Runs the xosproject/xos-client container
+appVersion: 3.2.3
diff --git a/tools/xossh/README.md b/tools/xossh/README.md
new file mode 100644
index 0000000..e36e1ab
--- /dev/null
+++ b/tools/xossh/README.md
@@ -0,0 +1,15 @@
+To use xossh, execute the following from your `helm-charts` directory:
+
+```
+# start the xossh container
+helm install tools/xossh -n xossh
+
+# wait a few seconds for the container to start, then run the following
+tools/xossh/xossh-attach.sh
+```
+
+To deploy a development version of `xossh` tagged with the `candidate` tag, you can do:
+
+```
+helm install tools/xossh/ -n xossh -f examples/xossh-candidate.yaml
+```
diff --git a/tools/xossh/templates/_helpers.tpl b/tools/xossh/templates/_helpers.tpl
new file mode 100644
index 0000000..524d996
--- /dev/null
+++ b/tools/xossh/templates/_helpers.tpl
@@ -0,0 +1,47 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Copyright 2018-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "xossh.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "xossh.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "xossh.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/tools/xossh/templates/configmap.yaml b/tools/xossh/templates/configmap.yaml
new file mode 100644
index 0000000..2d98f49
--- /dev/null
+++ b/tools/xossh/templates/configmap.yaml
@@ -0,0 +1,23 @@
+---
+
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: xossh
+data:
+  xosshConfig: |
+{{ toYaml .Values.xosshConfig | indent 4 }}
diff --git a/tools/xossh/templates/deployment.yaml b/tools/xossh/templates/deployment.yaml
new file mode 100644
index 0000000..e39375d
--- /dev/null
+++ b/tools/xossh/templates/deployment.yaml
@@ -0,0 +1,85 @@
+---
+
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1beta2
+kind: Deployment
+metadata:
+  name: {{ template "xossh.fullname" . }}
+  labels:
+    app: {{ template "xossh.name" . }}
+    chart: {{ template "xossh.chart" . }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ template "xossh.name" . }}
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: {{ template "xossh.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+        - name: {{ .Chart.Name }}
+          args:
+               - "/usr/bin/xossh"
+               - "-u"
+               - "{{ .Values.xosshConfig.accessor.username }}"
+               - "-p"
+               - "{{ .Values.xosshConfig.accessor.password }}"
+               - "-S"
+               - "{{ .Values.xosshConfig.accessor.endpoint }}"
+          stdin: true
+          tty: true
+          image: {{ .Values.global.registry }}{{ .Values.image.repository }}:{{ tpl .Values.image.tag . }}
+          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+          volumeMounts:
+            - name: certchain-volume
+              mountPath: /usr/local/share/ca-certificates/local_certs.crt
+              subPath: config/ca_cert_chain.pem
+            - name: xossh-config
+              mountPath: /opt/xos/config.yml
+              subPath: config.yml
+      volumes:
+        - name: certchain-volume
+          configMap:
+            name: ca-certificates
+            items:
+              - key: chain
+                path: config/ca_cert_chain.pem
+        - name: xossh-config
+          configMap:
+            name: xossh
+            items:
+              - key: xosshConfig
+                path: config.yml
+    {{- with .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml . | indent 8 }}
+    {{- end }}
+    {{- with .Values.affinity }}
+      affinity:
+{{ toYaml . | indent 8 }}
+    {{- end }}
+    {{- with .Values.tolerations }}
+      tolerations:
+{{ toYaml . | indent 8 }}
+    {{- end }}
diff --git a/tools/xossh/values.yaml b/tools/xossh/values.yaml
new file mode 100644
index 0000000..aeccd83
--- /dev/null
+++ b/tools/xossh/values.yaml
@@ -0,0 +1,62 @@
+---
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Default values for xossh
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+replicaCount: 1
+
+nameOverride: ""
+fullnameOverride: ""
+
+image:
+  repository: 'xosproject/xos-client'
+  tag: '{{ .Chart.AppVersion }}'
+  pullPolicy: 'Always'
+
+global:
+  registry: ''
+
+resources: {}
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
+
+xosshConfig:
+  name: xossh
+  accessor:
+    username: admin@opencord.org
+    password: letmein
+    endpoint: xos-core:50051
+  logging:
+    version: 1
+    handlers:
+      console:
+        class: logging.StreamHandler
+      file:
+        class: logging.handlers.RotatingFileHandler
+        filename: /var/log/xos.log
+        maxBytes: 10485760
+        backupCount: 5
+    loggers:
+      '':
+        handlers:
+            - console
+            - file
+        level: DEBUG
diff --git a/tools/xossh/xossh-attach.sh b/tools/xossh/xossh-attach.sh
new file mode 100755
index 0000000..aeb93f0
--- /dev/null
+++ b/tools/xossh/xossh-attach.sh
@@ -0,0 +1,18 @@
+#! /bin/bash
+
+# Copyright 2018-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+XOSSH_POD=`kubectl get pods | grep -i xossh | cut -f 1 -d " "`
+kubectl attach $XOSSH_POD -i -c xossh
