Adding option to expose the etcd-cluster as a nodePort

Change-Id: Icd362e1d89ece204eafd0bf212127431a5219f47
diff --git a/etcd-cluster/Chart.yaml b/etcd-cluster/Chart.yaml
index 9caa430..77a0f4d 100644
--- a/etcd-cluster/Chart.yaml
+++ b/etcd-cluster/Chart.yaml
@@ -16,4 +16,4 @@
 appVersion: "0.9.2"
 description: Create an etcd-cluster using etcd-operator provided CRD
 name: etcd-cluster
-version: 0.1.1
+version: 0.1.2
diff --git a/etcd-cluster/templates/etcd-cluster-service.yaml b/etcd-cluster/templates/etcd-cluster-service.yaml
new file mode 100644
index 0000000..08f294e
--- /dev/null
+++ b/etcd-cluster/templates/etcd-cluster-service.yaml
@@ -0,0 +1,30 @@
+{{- if .Values.etcdNodePort -}}
+---
+# 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: Service
+metadata:
+  name: {{ .Values.clusterName }}-external
+spec:
+  type: NodePort
+  ports:
+    - port: 2379
+      targetPort: 2379
+      nodePort: {{ .Values.etcdNodePort }}
+      protocol: TCP
+  selector:
+    app: "etcd"
+{{- end -}}
diff --git a/etcd-cluster/values.yaml b/etcd-cluster/values.yaml
index ac3ae31..9bbab01 100644
--- a/etcd-cluster/values.yaml
+++ b/etcd-cluster/values.yaml
@@ -21,6 +21,10 @@
 memoryLimit: 1024Mi
 autoCompactionRetention: "12"
 
+# expose the etcd-cluster as a nodePort
+# etcdNodePort: 32379
+etcdNodePort: ""
+
 images:
   etcd:
     repository: "quay.io/coreos/etcd"