@flowfuse/device-agent
Version:
An Edge Agent for running Node-RED instances deployed from the FlowFuse Platform
77 lines (76 loc) • 1.79 kB
YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: device-one
labels:
app: device-one
spec:
replicas: 1 # to scale to more than one instance you should modify this to use a StatefulSet
revisionHistoryLimit: 10
selector:
matchLabels:
app: device-one
template:
metadata:
labels:
app: device-one
spec:
initContainers: # on first run copies the device.yml from Secret to PVC volume
- name: config-copy
image: busybox:latest
command:
- "/bin/sh"
- "-c"
- "if [ ! -f /opt/flowfuse-device/device.yml ]; then cp /tmp/device.yml /opt/flowfuse-device/device.yml; fi"
volumeMounts:
- name: config
mountPath: "/opt/flowfuse-device"
- name: initial-config
mountPath: "/tmp/device.yml"
subPath: "device.yml"
readOnly: true
containers:
- name: device-one
image: flowfuse/device-agent:latest
ports:
- containerPort: 1880
volumeMounts:
- name: config
mountPath: "/opt/flowfuse-device"
resources:
limits:
cpu: 1000m
memory: 256Mi
requests:
cpu: 500m
memory: 128Mi
volumes:
- name: initial-config
secret:
secretName: device-provisioning-secret
- name: config
persistentVolumeClaim:
claimName: device-one-pvc
apiVersion: v1
kind: Service
metadata:
name: device-one-service
spec:
selector:
app: device-one
ports:
- protocol: TCP
port: 1880
targetPort: 1880
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: device-one-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi