Add edgex yaml to helm based template 93/70393/4
authorKiran Kamineni <kiran.k.kamineni@intel.com>
Thu, 11 Oct 2018 10:13:15 +0000 (03:13 -0700)
committerKiran Kamineni <kiran.k.kamineni@intel.com>
Thu, 18 Oct 2018 20:58:30 +0000 (13:58 -0700)
Add existing deployment and service yaml files into
a helm chart that can reused.
Currently splitting out consul and mongo as subcharts while
keeping the rest under the main edgex chart.
P2: Convert to different label selectors
P3: Keep the old configuration yaml in a seperate kubernetes folder
P4: Removed common chart with the templates. We are using only a small subset
    which we can expand locally via Helm Variables

Issue-ID: MULTICLOUD-376
Change-Id: I8e0682c7d1d2433b9754209b2f3eedb790df5464
Signed-off-by: Kiran Kamineni <kiran.k.kamineni@intel.com>
57 files changed:
vagrant/tests/vnfs/edgex/helm/edgex/Chart.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/Chart.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/templates/consul-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/templates/consul-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/values.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/Chart.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/templates/mongo-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/templates/mongo-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/values.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/command-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/command-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/data-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/data-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/device-bluetooth-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/device-bluetooth-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/export-client-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/export-client-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/export-distro-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/export-distro-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/logging-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/logging-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/metadata-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/metadata-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/notifications-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/notifications-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/pv.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/pvc.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/rulesengine-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/rulesengine-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/scheduler-deployment.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/templates/scheduler-service.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/helm/edgex/values.yaml [new file with mode: 0644]
vagrant/tests/vnfs/edgex/kubernetes/deployments/command-deployment.yaml [moved from vagrant/tests/edgex/deployments/command-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/consul-deployment.yaml [moved from vagrant/tests/edgex/deployments/consul-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/data-deployment.yaml [moved from vagrant/tests/edgex/deployments/data-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/device-bluetooth-deployment.yaml [moved from vagrant/tests/edgex/deployments/device-bluetooth-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/export-client-deployment.yaml [moved from vagrant/tests/edgex/deployments/export-client-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/export-distro-deployment.yaml [moved from vagrant/tests/edgex/deployments/export-distro-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/logging-deployment.yaml [moved from vagrant/tests/edgex/deployments/logging-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/metadata-deployment.yaml [moved from vagrant/tests/edgex/deployments/metadata-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/mongo-deployment.yaml [moved from vagrant/tests/edgex/deployments/mongo-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/notifications-deployment.yaml [moved from vagrant/tests/edgex/deployments/notifications-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/rulesengine-deployment.yaml [moved from vagrant/tests/edgex/deployments/rulesengine-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/deployments/scheduler-deployment.yaml [moved from vagrant/tests/edgex/deployments/scheduler-deployment.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/metadata.yaml [moved from vagrant/tests/edgex/metadata.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/command-service.yaml [moved from vagrant/tests/edgex/services/command-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/consul-service.yaml [moved from vagrant/tests/edgex/services/consul-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/data-service.yaml [moved from vagrant/tests/edgex/services/data-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/device-bluetooth-service.yaml [moved from vagrant/tests/edgex/services/device-bluetooth-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/export-client-service.yaml [moved from vagrant/tests/edgex/services/export-client-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/export-distro-service.yaml [moved from vagrant/tests/edgex/services/export-distro-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/logging-service.yaml [moved from vagrant/tests/edgex/services/logging-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/metadata-service.yaml [moved from vagrant/tests/edgex/services/metadata-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/mongo-service.yaml [moved from vagrant/tests/edgex/services/mongo-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/notifications-service.yaml [moved from vagrant/tests/edgex/services/notifications-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/rulesengine-service.yaml [moved from vagrant/tests/edgex/services/rulesengine-service.yaml with 100% similarity]
vagrant/tests/vnfs/edgex/kubernetes/services/scheduler-service.yaml [moved from vagrant/tests/edgex/services/scheduler-service.yaml with 100% similarity]

diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/Chart.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/Chart.yaml
new file mode 100644 (file)
index 0000000..d52b192
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# 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
+description: EdgeX foundry Helm Charts for testing purposes
+name: edgex
+version: 1.0.0
\ No newline at end of file
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/Chart.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/Chart.yaml
new file mode 100644 (file)
index 0000000..74fa86c
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# 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
+description: EdgeX foundry Consul Helm Charts for testing purposes
+name: edgex-consul
+version: 1.0.0
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/templates/consul-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/templates/consul-deployment.yaml
new file mode 100644 (file)
index 0000000..5db9b85
--- /dev/null
@@ -0,0 +1,50 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: edgex-core-consul
+  labels:
+    app: edgex-core-consul
+    release: {{ .Release.Name }}
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-core-consul
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-core-consul
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-core-consul:latest
+        name: edgex-core-consul
+        ports:
+        {{- range $k, $v := .Values.service.ports }}
+        - containerPort: {{ $v.port }}
+        {{- end }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ .Release.Name }}-edgex-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ .Release.Name }}-edgex-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ .Release.Name }}-edgex-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ .Release.Name }}-edgex-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/templates/consul-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/templates/consul-service.yaml
new file mode 100644 (file)
index 0000000..783edef
--- /dev/null
@@ -0,0 +1,17 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.name }}
+spec:
+  ports:
+  {{- range $k, $v := .Values.service.ports }}
+  - name: {{ $v.portName }}
+    port: {{ $v.port }}
+    targetPort: {{ $v.port }}
+  {{- end }}
+  selector:
+    app: edgex-core-consul
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/values.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/charts/consul/values.yaml
new file mode 100644 (file)
index 0000000..bf7732d
--- /dev/null
@@ -0,0 +1,76 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# 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 configuration defaults.
+#################################################################
+global:
+  persistence: {}
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 30
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 30
+
+service:
+  name: edgex-core-consul
+  ports:
+  - portName: consul-port-1
+    port: 8400
+  - portName: consul-port-2
+    port: 8500
+  - portName: consul-port-3
+    port: 8600
+
+ingress:
+  enabled: false
+
+# Configure resource requests and limits
+flavor: small
+resources:
+  small:
+    limits:
+      cpu: 200m
+      memory: 500Mi
+    requests:
+      cpu: 10m
+      memory: 10Mi
+  large:
+    limits:
+      cpu: 400m
+      memory: 1Gi
+    requests:
+      cpu: 10m
+      memory: 100Mi
+  unlimited: {}
\ No newline at end of file
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/Chart.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/Chart.yaml
new file mode 100644 (file)
index 0000000..19c4a32
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# 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
+description: EdgeX foundry Mongo Helm Charts for testing purposes
+name: edgex-mongo
+version: 1.0.0
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/templates/mongo-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/templates/mongo-deployment.yaml
new file mode 100644 (file)
index 0000000..3251309
--- /dev/null
@@ -0,0 +1,48 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-mongo
+    release: {{ .Release.Name }}
+  name: edgex-mongo
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-mongo
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-mongo
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-edgex-mongo:0.2
+        name: edgex-mongo
+        ports:
+        - containerPort: {{ .Values.service.port }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ .Release.Name }}-edgex-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ .Release.Name }}-edgex-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ .Release.Name }}-edgex-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ .Release.Name }}-edgex-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/templates/mongo-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/templates/mongo-service.yaml
new file mode 100644 (file)
index 0000000..5b30a45
--- /dev/null
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.name }}
+spec:
+  ports:
+  - name: {{ .Values.service.portName }}
+    port: {{ .Values.service.port }}
+    targetPort: {{ .Values.service.port }}
+  selector:
+    app: edgex-mongo
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/values.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/charts/mongo/values.yaml
new file mode 100644 (file)
index 0000000..e22b846
--- /dev/null
@@ -0,0 +1,71 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# 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 configuration defaults.
+#################################################################
+global:
+  persistence: {}
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 30
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 30
+
+service:
+  name: edgex-mongo
+  portName: mongo
+  port: 27017
+
+ingress:
+  enabled: false
+
+# Configure resource requests and limits
+flavor: small
+resources:
+  small:
+    limits:
+      cpu: 200m
+      memory: 500Mi
+    requests:
+      cpu: 10m
+      memory: 10Mi
+  large:
+    limits:
+      cpu: 400m
+      memory: 1Gi
+    requests:
+      cpu: 10m
+      memory: 100Mi
+  unlimited: {}
\ No newline at end of file
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/command-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/command-deployment.yaml
new file mode 100644 (file)
index 0000000..1b43128
--- /dev/null
@@ -0,0 +1,48 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-core-command
+    release: {{ .Release.Name }}
+  name: edgex-core-command
+spec:
+  replicas: 1
+  selector:
+      matchLabels:
+        app: edgex-core-command
+        release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-core-command
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-core-command:0.2.1
+        name: edgex-core-command
+        ports:
+        - containerPort: {{ .Values.service.command.port }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/command-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/command-service.yaml
new file mode 100644 (file)
index 0000000..7ffc7cc
--- /dev/null
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.command.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.command.name }}
+spec:
+  ports:
+  - name: {{ .Values.service.command.portName }}
+    port: {{ .Values.service.command.port }}
+    targetPort: {{ .Values.service.command.port }}
+  selector:
+    app: edgex-core-command
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/data-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/data-deployment.yaml
new file mode 100644 (file)
index 0000000..81a1e3b
--- /dev/null
@@ -0,0 +1,50 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-core-data
+    release: {{ .Release.Name }}
+  name: edgex-core-data
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-core-data
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-core-data
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-core-data:0.2.1
+        name: edgex-core-data
+        ports:
+        {{- range $key, $val := .Values.service.data.ports }}
+        - containerPort: {{ $val.port }}
+        {{- end }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/data-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/data-service.yaml
new file mode 100644 (file)
index 0000000..c7f6879
--- /dev/null
@@ -0,0 +1,17 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.data.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.data.name }}
+spec:
+  ports:
+  {{- range $key, $val := .Values.service.data.ports }}
+  - name: {{ $val.portName }}
+    port: {{ $val.port }}
+    targetPort: {{ $val.port }}
+  {{- end }}
+  selector:
+    app: edgex-core-data
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/device-bluetooth-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/device-bluetooth-deployment.yaml
new file mode 100644 (file)
index 0000000..52ab77e
--- /dev/null
@@ -0,0 +1,51 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-device-bluetooth
+    release: {{ .Release.Name }}
+  name: edgex-device-bluetooth
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-device-bluetooth
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      creationTimestamp: null
+      labels:
+        app: edgex-device-bluetooth
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-device-bluetooth:0.2.1
+        name: edgex-device-bluetooth
+        ports:
+        - containerPort: {{ .Values.service.deviceBluetooth.port }}
+        resources: {}
+        securityContext:
+          privileged: true
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/device-bluetooth-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/device-bluetooth-service.yaml
new file mode 100644 (file)
index 0000000..dbbb1e3
--- /dev/null
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.deviceBluetooth.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.deviceBluetooth.name }}
+spec:
+  ports:
+  - name: {{ .Values.service.deviceBluetooth.portName }}
+    port: {{ .Values.service.deviceBluetooth.port }}
+    targetPort: {{ .Values.service.deviceBluetooth.port }}
+  selector:
+    app: edgex-device-bluetooth
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/export-client-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/export-client-deployment.yaml
new file mode 100644 (file)
index 0000000..0d60b41
--- /dev/null
@@ -0,0 +1,48 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-export-client
+    release: {{ .Release.Name }}
+  name: edgex-export-client
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-export-client
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-export-client
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-export-client:0.2.1
+        name: edgex-export-client
+        ports:
+        - containerPort: {{ .Values.service.exportClient.port }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/export-client-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/export-client-service.yaml
new file mode 100644 (file)
index 0000000..ec44fd5
--- /dev/null
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.exportClient.name }}
+    release: {{ .Release.Name }}
+  name:  {{ .Values.service.exportClient.name }}
+spec:
+  ports:
+  - name: {{ .Values.service.exportClient.portName }}
+    port: {{ .Values.service.exportClient.port }}
+    targetPort: {{ .Values.service.exportClient.port }}
+  selector:
+    app: edgex-export-client
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/export-distro-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/export-distro-deployment.yaml
new file mode 100644 (file)
index 0000000..4cf17df
--- /dev/null
@@ -0,0 +1,50 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-export-distro
+    release: {{ .Release.Name }}
+  name: edgex-export-distro
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-export-distro
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-export-distro
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-export-distro:0.2.1
+        name: edgex-export-distro
+        ports:
+        {{- range $key, $val := .Values.service.exportDistro.ports }}
+        - containerPort: {{ $val.port }}
+        {{- end }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/export-distro-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/export-distro-service.yaml
new file mode 100644 (file)
index 0000000..70624ab
--- /dev/null
@@ -0,0 +1,17 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.exportDistro.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.exportDistro.name }}
+spec:
+  ports:
+  {{- range $key, $val := .Values.service.exportDistro.ports }}
+  - name: {{ $val.portName }}
+    port: {{ $val.port }}
+    targetPort: {{ $val.port }}
+  {{- end }}
+  selector:
+    app: edgex-export-distro
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/logging-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/logging-deployment.yaml
new file mode 100644 (file)
index 0000000..a60e26f
--- /dev/null
@@ -0,0 +1,48 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-support-logging
+    release: {{ .Release.Name }}
+  name: edgex-support-logging
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-support-logging
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-support-logging
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-support-logging:0.2.1
+        name: edgex-support-logging
+        ports:
+        - containerPort: {{ .Values.service.logging.port }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/logging-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/logging-service.yaml
new file mode 100644 (file)
index 0000000..32c8590
--- /dev/null
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.logging.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.logging.name }}
+spec:
+  ports:
+  - name: {{ .Values.service.logging.portName }}
+    port: {{ .Values.service.logging.port }}
+    targetPort: {{ .Values.service.logging.port }}
+  selector:
+    app: edgex-support-logging
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/metadata-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/metadata-deployment.yaml
new file mode 100644 (file)
index 0000000..6ce913f
--- /dev/null
@@ -0,0 +1,48 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-core-metadata
+    release: {{ .Release.Name }}
+  name: edgex-core-metadata
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-core-metadata
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-core-metadata
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-core-metadata:0.2.1
+        name: edgex-core-metadata
+        ports:
+        - containerPort: {{ .Values.service.metadata.port }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/metadata-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/metadata-service.yaml
new file mode 100644 (file)
index 0000000..8d03118
--- /dev/null
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.metadata.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.metadata.name }}
+spec:
+  ports:
+  - name: {{ .Values.service.metadata.portName }}
+    port: {{ .Values.service.metadata.port }}
+    targetPort: {{ .Values.service.metadata.port }}
+  selector:
+    app: edgex-core-metadata
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/notifications-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/notifications-deployment.yaml
new file mode 100644 (file)
index 0000000..d736d14
--- /dev/null
@@ -0,0 +1,48 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-support-notifications
+    release: {{ .Release.Name }}
+  name: edgex-support-notifications
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-support-notifications
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-support-notifications
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-support-notifications:0.2
+        name: edgex-support-notifications
+        ports:
+        - containerPort: {{ .Values.service.notifications.port }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/notifications-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/notifications-service.yaml
new file mode 100644 (file)
index 0000000..d9afefc
--- /dev/null
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.notifications.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.notifications.name }}
+spec:
+  ports:
+  - name: {{ .Values.service.notifications.portName }}
+    port: {{ .Values.service.notifications.port }}
+    targetPort: {{ .Values.service.notifications.port }}
+  selector:
+    app: edgex-support-notifications
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/pv.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/pv.yaml
new file mode 100644 (file)
index 0000000..aa07549
--- /dev/null
@@ -0,0 +1,99 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# 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.
+*/}}
+
+{{- if .Values.persistence.enabled -}}
+
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: {{ .Chart.Name }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+spec:
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  capacity:
+    storage: {{ .Values.persistence.size }}
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPathData }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: {{ .Chart.Name }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+spec:
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  capacity:
+    storage: {{ .Values.persistence.size }}
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPathLogs }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: {{ .Chart.Name }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+spec:
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  capacity:
+    storage: {{ .Values.persistence.size }}
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPathConsulConf }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: {{ .Chart.Name }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
+spec:
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  capacity:
+    storage: {{ .Values.persistence.size }}
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPathConsulData }}
+
+{{- end -}}
\ No newline at end of file
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/pvc.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..7c31733
--- /dev/null
@@ -0,0 +1,143 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# 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.
+*/}}
+
+{{- if .Values.persistence.enabled -}}
+
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: {{ .Chart.Name }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+  annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  selector:
+    matchLabels:
+      name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: {{ .Chart.Name }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+  annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  selector:
+    matchLabels:
+      name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: {{ .Chart.Name }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+  annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  selector:
+    matchLabels:
+      name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+---
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
+  namespace: {{ .Release.Namespace }}
+  labels:
+    app: {{ .Chart.Name }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+  annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  selector:
+    matchLabels:
+      name: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+
+{{- end -}}
\ No newline at end of file
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/rulesengine-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/rulesengine-deployment.yaml
new file mode 100644 (file)
index 0000000..0f3e138
--- /dev/null
@@ -0,0 +1,48 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-support-rulesengine
+    release: {{ .Release.Name }}
+  name: edgex-support-rulesengine
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-support-rulesengine
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-support-rulesengine
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-support-rulesengine:0.2.1
+        name: edgex-support-rulesengine
+        ports:
+        - containerPort: {{ .Values.service.rulesengine.port }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/rulesengine-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/rulesengine-service.yaml
new file mode 100644 (file)
index 0000000..756ad42
--- /dev/null
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.rulesengine.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.rulesengine.name }}
+spec:
+  ports:
+  - name: {{ .Values.service.rulesengine.portName }}
+    port: {{ .Values.service.rulesengine.port }}
+    targetPort: {{ .Values.service.rulesengine.port }}
+  selector:
+    app: edgex-support-rulesengine
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/scheduler-deployment.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/scheduler-deployment.yaml
new file mode 100644 (file)
index 0000000..1bff052
--- /dev/null
@@ -0,0 +1,48 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: edgex-support-scheduler
+    release: {{ .Release.Name }}
+  name: edgex-support-scheduler
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: edgex-support-scheduler
+      release: {{ .Release.Name }}
+  template:
+    metadata:
+      labels:
+        app: edgex-support-scheduler
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: edgexfoundry/docker-support-scheduler:0.2.1
+        name: edgex-support-scheduler
+        ports:
+        - containerPort: {{ .Values.service.scheduler.port }}
+        resources: {}
+        volumeMounts:
+        - mountPath: /data/db
+          name: data-db
+        - mountPath: /edgex/logs
+          name: edgex-logs
+        - mountPath: /consul/config
+          name: consul-config
+        - mountPath: /consul/data
+          name: consul-data
+      restartPolicy: Always
+      volumes:
+      - name: data-db
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-data
+      - name: edgex-logs
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-logs
+      - name: consul-config
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-config
+      - name: consul-data
+        persistentVolumeClaim:
+          claimName: {{ printf "%s-%s" .Release.Name .Chart.Name }}-consul-data
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/templates/scheduler-service.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/templates/scheduler-service.yaml
new file mode 100644 (file)
index 0000000..a531182
--- /dev/null
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: {{ .Values.service.scheduler.name }}
+    release: {{ .Release.Name }}
+  name: {{ .Values.service.scheduler.name }}
+spec:
+  ports:
+  - name: {{ .Values.service.scheduler.portName }}
+    port: {{ .Values.service.scheduler.port }}
+    targetPort: {{ .Values.service.scheduler.port }}
+  selector:
+    app: edgex-support-scheduler
+    release: {{ .Release.Name }}
diff --git a/vagrant/tests/vnfs/edgex/helm/edgex/values.yaml b/vagrant/tests/vnfs/edgex/helm/edgex/values.yaml
new file mode 100644 (file)
index 0000000..90a0068
--- /dev/null
@@ -0,0 +1,125 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# 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 configuration defaults.
+#################################################################
+global:
+  persistence: {}
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 30
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 30
+
+service:
+  command:
+    name: edgex-core-command
+    portName: core-command
+    port: 48082
+  data:
+    name: edgex-core-data
+    ports:
+    - portName: data-port-1
+      port: 48080
+    - portName: data-port-2
+      port: 5563
+  deviceBluetooth:
+    name: edgex-device-bluetooth
+    portName: device-bluetooth
+    port: 49988
+  exportClient:
+    name: edgex-export-client
+    portName: export-client
+    port: 48071
+  exportDistro:
+    name: edgex-export-distro
+    ports:
+    - portName: export-distro-port1
+      port: 48070
+    - portName: export-distro-port2
+      port: 5566
+  logging:
+    name: edgex-support-logging
+    portName: logging
+    port: 48061
+  metadata:
+    name: edgex-core-metadata
+    portName: metadata
+    port: 48081
+  notifications:
+    name: edgex-support-notifications
+    portName: notifications
+    port: 48060
+  rulesengine:
+    name: edgex-support-rulesengine
+    portName: rulesengine
+    port: 48075
+  scheduler:
+    name: edgex-support-scheduler
+    portName: scheduler
+    port: 48085
+
+persistence:
+  enabled: true
+  volumeReclaimPolicy: Retain
+  accessMode: ReadWriteOnce
+  size: 1Gi
+  mountPath: /dockerdata-nfs
+  mountSubPathData: vnfs/edgex/data/db
+  mountSubPathLogs: vnfs/edgex/logs
+  mountSubPathConsulConf: vnfs/edgex/consul/config
+  mountSubPathConsulData: vnfs/edgex/consul/data
+
+ingress:
+  enabled: false
+
+# Configure resource requests and limits
+flavor: small
+resources:
+  small:
+    limits:
+      cpu: 200m
+      memory: 500Mi
+    requests:
+      cpu: 10m
+      memory: 10Mi
+  large:
+    limits:
+      cpu: 400m
+      memory: 1Gi
+    requests:
+      cpu: 10m
+      memory: 100Mi
+  unlimited: {}
\ No newline at end of file