First commit

- Version 0.1.0
- Support kubectl, jq, jd, helm

Change-Id: I021be383dfe62863b8f291494af9c7c1e67fb289
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..aa2c2b2
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,5 @@
+[gerrit]
+host=gerrit.opencord.org
+port=29418
+project=onos-classic-helm-utils.git
+defaultremote=origin
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..626cd61
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,3 @@
+We expect all ONF employees, member companies, and participants to abide by our [Code of Conduct](https://www.opennetworking.org/wp-content/themes/onf/img/onf-code-of-conduct.pdf).
+
+If you are being harassed, notice that someone else is being harassed, or have any other concerns involving someone’s welfare, please notify a member of the ONF team or email [conduct@opennetworking.org](conduct@opennetworking.org). 
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..7964273
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,29 @@
+#
+# Copyright 2019-present Open Networking Foundation
+# Copyright (c) 2019 Intel Corporation
+#
+# 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.
+
+FROM alpine:3.12 as onos-classic-helm-utils
+RUN apk --no-cache add --update curl ca-certificates bash jq gettext sed
+
+RUN curl -LO https://dl.k8s.io/release/v1.20.0/bin/linux/amd64/kubectl \
+        && install kubectl -m 755 /usr/local/bin/ \
+        && curl -kfsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 \
+        && chmod 700 get_helm.sh \
+        && VERIFY_CHECKSUM=false ./get_helm.sh \
+        && curl -LO https://github.com/josephburnett/jd/releases/download/v1.4.0/jd-amd64-linux \
+        && install jd-amd64-linux -m 755 /usr/local/bin/jd
+
+COPY entrypoint.sh ./
+ENTRYPOINT ["/bin/bash", "./entrypoint.sh"]
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..a7e8a7b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,51 @@
+#
+# Copyright 2019-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.
+#
+
+VERSION                  ?= $(shell cat ./VERSION)
+
+DOCKER_TAG               ?= ${VERSION}
+DOCKER_REGISTRY          ?=
+DOCKER_REPOSITORY        ?=
+DOCKER_BUILD_ARGS        ?=
+DOCKER_BUILD_TARGET      ?= onos-classic-helm-utils
+DOCKER_IMAGENAME         ?= ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}${DOCKER_BUILD_TARGET}:${DOCKER_TAG}
+
+## Docker labels. Only set ref and commit date if committed
+DOCKER_LABEL_VCS_URL     ?= $(shell git remote get-url $(shell git remote))
+DOCKER_LABEL_VCS_REF     ?= $(shell git diff-index --quiet HEAD -- && git rev-parse HEAD || echo "unknown")
+DOCKER_LABEL_COMMIT_DATE ?= $(shell git diff-index --quiet HEAD -- && git show -s --format=%cd --date=iso-strict HEAD || echo "unknown" )
+DOCKER_LABEL_BUILD_DATE  ?= $(shell date -u "+%Y-%m-%dT%H:%M:%SZ")
+
+# https://docs.docker.com/engine/reference/commandline/build/#specifying-target-build-stage---target
+docker-build:
+	docker build $(DOCKER_BUILD_ARGS) \
+		--target ${DOCKER_BUILD_TARGET} \
+		--tag ${DOCKER_IMAGENAME} \
+		--label "org.label-schema.schema-version=1.0" \
+		--label "org.label-schema.name=${DOCKER_BUILD_TARGET}" \
+		--label "org.label-schema.version=${VERSION}" \
+		--label "org.label-schema.vcs-url=${DOCKER_LABEL_VCS_URL}" \
+		--label "org.label-schema.vcs-ref=${DOCKER_LABEL_VCS_REF}" \
+		--label "org.label-schema.build-date=${DOCKER_LABEL_BUILD_DATE}" \
+		--label "org.opencord.vcs-commit-date=${DOCKER_LABEL_COMMIT_DATE}" \
+		.
+
+docker-push:
+	docker push ${DOCKER_IMAGENAME}
+
+test: docker-build
+
+.PHONY: docker-build docker-push test
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9b62cb4
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# onos-classic-helm-utils
+
+Dockerfile in this repository builds a utility container for deploying classic ONOS via Helm Charts
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..6e8bf73
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+0.1.0
diff --git a/entrypoint.sh b/entrypoint.sh
new file mode 100644
index 0000000..1e73785
--- /dev/null
+++ b/entrypoint.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+#
+# Copyright 2019-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.
+#
+
+cleanup() {
+    echo "Cleaning up..."
+    exit
+}
+
+trap cleanup INT TERM
+
+while :; do
+    sleep 10s
+done