Merge "[CORD-3016] Generate a native http-accessible helm charts repo"
diff --git a/.gitignore b/.gitignore
index 2545b5a..743e4fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,10 @@
-xos-profiles/rcord-lite/charts/*
-xos-profiles/rcord-lite/requirements.lock
\ No newline at end of file
+# local chart repo
+chart_repo
+
+# lockfiles for requirements.yaml for dependent charts
+requirements.lock
+
+# ignore dependent chart dirs
+voltha/charts
+xos-profiles/rcord-lite/charts
+
diff --git a/scripts/helmrepo.sh b/scripts/helmrepo.sh
new file mode 100755
index 0000000..e32f546
--- /dev/null
+++ b/scripts/helmrepo.sh
@@ -0,0 +1,44 @@
+#!/usr/bin/env 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.
+
+# helmrepo.sh
+# creates a helm repo for publishing on guide website
+
+set -e -u -o pipefail
+
+REPO_DIR="${REPO_DIR:-chart_repo}"
+
+GERRIT_BRANCH="${GERRIT_BRANCH:-$(git symbolic-ref --short HEAD)}"
+PUBLISH_URL="${PUBLISH_URL:-https://guide.opencord.org/charts/${GERRIT_BRANCH}}"
+
+mkdir -p "${REPO_DIR}"
+
+for chart in $(find . -name Chart.yaml -print) ; do
+
+  chartdir=$(dirname "${chart}")
+
+  echo "Adding ${chartdir}"
+
+  helm package --dependency-update --destination "${REPO_DIR}" "${chartdir}"
+
+done
+
+echo "Generating repo index"
+
+helm repo index "${REPO_DIR}" --url "${PUBLISH_URL}"
+
+echo "Finished, chart repo generated: ${REPO_DIR}"
+