Added voltha-infra chart
Added voltha-stack chart
Moved "defaults" values to "global" so that they can be managed by the
macro charts
Added examples for different workflows

Change-Id: I5fb2bfa54a1be725892445e93bd8a35d608e5d14
diff --git a/voltha-stack/.helmignore b/voltha-stack/.helmignore
new file mode 100644
index 0000000..0e8a0eb
--- /dev/null
+++ b/voltha-stack/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/voltha-stack/Chart.yaml b/voltha-stack/Chart.yaml
new file mode 100644
index 0000000..0d3d4ee
--- /dev/null
+++ b/voltha-stack/Chart.yaml
@@ -0,0 +1,48 @@
+# Copyright 2020-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: v2
+description: A Helm chart to install a VOLTHA stack on existing infrastructure
+keywords:
+  - "onf"
+  - "voltha"
+  - "openolt-adapters"
+  - "openonu-adapters"
+home: "https://www.opennetworking.org/voltha"
+icon: "https://guide.opencord.org/logos/voltha.svg"
+maintainers:
+  - name: "Open Networking Foundation"
+    email: "info@opennetworking.org"
+    url: "https://www.opennetworking.org"
+name: voltha-stack
+
+appVersion: "1.0"
+version: 0.1.0
+
+dependencies:
+  - name: voltha
+    # repository: https://charts.opencord.org
+    version: 2.8.1
+    repository: "file://../voltha"
+    condition: voltha.enabled
+  - name: voltha-adapter-openonu
+    # repository: https://charts.opencord.org
+    version: 2.7.1
+    repository: "file://../voltha-adapter-openonu"
+    condition: voltha-adapter-openonu.enabled
+  - name: voltha-adapter-openolt
+    # repository: https://charts.opencord.org
+    version: 2.8.1
+    repository: "file://../voltha-adapter-openolt"
+    condition: voltha-adapter-openolt.enabled
diff --git a/voltha-stack/templates/NOTES.txt b/voltha-stack/templates/NOTES.txt
new file mode 100644
index 0000000..83cb85c
--- /dev/null
+++ b/voltha-stack/templates/NOTES.txt
@@ -0,0 +1,7 @@
+Thanks for installing VOLTHA!
+
+You installed a stack with name: {{ .Release.Name }}.
+
+In order to use "voltctl" to connect to this stack you need to expose the VOLTHA API service:
+
+  kubectl -n {{ .Release.Namespace }} port-forward svc/{{ .Release.Name }}-voltha-api 55555
diff --git a/voltha-stack/values.yaml b/voltha-stack/values.yaml
new file mode 100644
index 0000000..98ad5e9
--- /dev/null
+++ b/voltha-stack/values.yaml
@@ -0,0 +1,83 @@
+# Copyright 2020-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.
+---
+
+global:
+  stack_name: voltha
+  log_level: "WARN"
+  voltha_infra_name: "voltha-infra"
+  voltha_infra_namespace: "infra"
+  log_correlation:
+    enabled: false
+  tracing:
+    enabled: false
+
+voltha:
+  enabled: true
+  rw_core:
+    kv_store_data_prefix: 'service/voltha/{{ .Release.Name }}_{{ .Values.global.stack_name }}'
+    topics:
+      core_topic: "{{ .Release.Name }}_{{ .Values.global.stack_name }}_rwcore"
+  services:
+    kafka:
+      adapter:
+        address: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc:9092"
+      cluster:
+        address: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc:9092"
+    etcd:
+      address: "{{ .Values.global.voltha_infra_name }}-etcd.{{ .Values.global.voltha_infra_namespace }}.svc:2379"
+    tracing_agent:
+      address: "{{ .Values.global.voltha_infra_name }}-voltha-tracing-jaeger-agent.{{ .Values.global.voltha_infra_namespace }}.svc:6831"
+    controller:
+      # TODO need to customize for multiple instances
+      - address: "{{ .Values.global.voltha_infra_name }}-onos-classic-hs.{{ .Values.global.voltha_infra_namespace }}.svc:6653"
+
+voltha-adapter-openonu:
+  enabled: true
+  adapter_open_onu:
+    kv_store_data_prefix: 'service/voltha/{{ .Release.Name }}_{{ .Values.global.stack_name }}'
+    topics:
+      core_topic: "{{ .Release.Name }}_{{ .Values.global.stack_name }}_rwcore"
+      adapter_open_onu_topic: "{{ .Release.Name }}_{{ .Values.global.stack_name }}_brcm_openomci_onu"
+  services:
+    kafka:
+      adapter:
+        service: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc"
+        port: 9092
+      cluster:
+        service: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc"
+        port: 9092
+    etcd:
+      service: "{{ .Values.global.voltha_infra_name }}-etcd.{{ .Values.global.voltha_infra_namespace }}.svc"
+      port: 2379
+    tracing_agent:
+      address: "{{ .Values.global.voltha_infra_name }}-voltha-tracing-jaeger-agent.{{ .Values.global.voltha_infra_namespace }}.svc:6831"
+
+voltha-adapter-openolt:
+  enabled: true
+  adapter_open_olt:
+    kv_store_data_prefix: 'service/voltha/{{ .Release.Name }}_{{ .Values.global.stack_name }}'
+    topics:
+      core_topic: "{{ .Release.Name }}_{{ .Values.global.stack_name }}_rwcore"
+      adapter_open_olt_topic: "{{ .Release.Name }}_{{ .Values.global.stack_name }}_openolt"
+  services:
+    kafka:
+      adapter:
+        address: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc:9092"
+      cluster:
+        address: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc:9092"
+    etcd:
+      address: "{{ .Values.global.voltha_infra_name }}-etcd.{{ .Values.global.voltha_infra_namespace }}.svc:2379"
+    tracing_agent:
+      address: "{{ .Values.global.voltha_infra_name }}-voltha-tracing-jaeger-agent.{{ .Values.global.voltha_infra_namespace }}.svc:6831"