--- /dev/null
+# 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
--- /dev/null
+# 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
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+# 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
--- /dev/null
+# 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
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+# 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
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+{{/*
+# 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
--- /dev/null
+{{/*
+# 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
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+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
--- /dev/null
+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 }}
--- /dev/null
+# 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