From e01e72641d63da66f1025f522fa7f98080ead0f3 Mon Sep 17 00:00:00 2001 From: Marcus Noble Date: Fri, 5 Jun 2020 19:54:07 +0100 Subject: [PATCH] Added NodeRed --- manifests/nodered.yaml | 114 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 manifests/nodered.yaml diff --git a/manifests/nodered.yaml b/manifests/nodered.yaml new file mode 100644 index 0000000..ca0497e --- /dev/null +++ b/manifests/nodered.yaml @@ -0,0 +1,114 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: node-red +--- +apiVersion: v1 +kind: Secret +metadata: + name: node-red + namespace: node-red + annotations: + kube-1password: to62npgx5vvlknphuytg7qgrny + kube-1password/vault: Kubernetes + kube-1password/secret-text-key: settings.js +type: Opaque +--- +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: node-red + namespace: node-red +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi +--- +apiVersion: v1 +kind: Service +metadata: + name: node-red + namespace: node-red +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: web + name: web + selector: + app: node-red +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: node-red + namespace: node-red +spec: + replicas: 1 + selector: + matchLabels: + app: node-red + template: + metadata: + labels: + app: node-red + spec: + securityContext: + fsGroup: 1000 + initContainers: + - name: config-copy + image: bash:latest + imagePullPolicy: IfNotPresent + args: + - -c + - | + cp /config/settings.js /data/ + volumeMounts: + - name: config + mountPath: /config/settings.js + subPath: settings.js + - name: data + mountPath: /data + containers: + - name: web + image: nodered/node-red:latest-12 + imagePullPolicy: Always + ports: + - containerPort: 1880 + name: web + volumeMounts: + - name: data + mountPath: /data + volumes: + - name: config + secret: + secretName: node-red + - name: data + persistentVolumeClaim: + claimName: node-red +--- +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: node-red + namespace: node-red + annotations: + cert-manager.io/cluster-issuer: letsencrypt + traefik.ingress.kubernetes.io/frontend-entry-points: http,https + traefik.ingress.kubernetes.io/redirect-entry-point: https + traefik.ingress.kubernetes.io/redirect-permanent: "true" +spec: + tls: + - hosts: + - nodered.cluster.fun + secretName: node-red-ingress + rules: + - host: nodered.cluster.fun + http: + paths: + - path: / + backend: + serviceName: node-red + servicePort: 80