From 569393186e96fb3d56902d05d8705ac672034736 Mon Sep 17 00:00:00 2001 From: Martyn Ranyard Date: Thu, 3 Oct 2024 14:48:47 +0000 Subject: [PATCH] This has been running a while Signed-off-by: Martyn Ranyard --- apps-kustomized/external-mqtt/cm.yaml | 24 +++++++++++++++ apps-kustomized/external-mqtt/deploy.yaml | 37 +++++++++++++++++++++++ apps-kustomized/external-mqtt/pvc.yaml | 11 +++++++ apps-kustomized/external-mqtt/svc.yaml | 21 +++++++++++++ everything-app/external-mqtt.yaml | 17 +++++++++++ 5 files changed, 110 insertions(+) create mode 100644 apps-kustomized/external-mqtt/cm.yaml create mode 100644 apps-kustomized/external-mqtt/deploy.yaml create mode 100644 apps-kustomized/external-mqtt/pvc.yaml create mode 100644 apps-kustomized/external-mqtt/svc.yaml create mode 100644 everything-app/external-mqtt.yaml diff --git a/apps-kustomized/external-mqtt/cm.yaml b/apps-kustomized/external-mqtt/cm.yaml new file mode 100644 index 0000000..28f8bf1 --- /dev/null +++ b/apps-kustomized/external-mqtt/cm.yaml @@ -0,0 +1,24 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: mosquitto-config +data: + mosquitto.conf: | + + persistence true + persistence_location /mosquitto/data/ + log_dest stdout + + password_file /mosquitto/data/auth + + # MQTTS listener + listener 8883 + protocol mqtt + + cafile /etc/ssl/certs/ca-certificates.crt + keyfile /mosquitto/certs/tls.key + certfile /mosquitto/certs/tls.crt + + # WS Listener + listener 9001 + protocol websockets diff --git a/apps-kustomized/external-mqtt/deploy.yaml b/apps-kustomized/external-mqtt/deploy.yaml new file mode 100644 index 0000000..619cf0b --- /dev/null +++ b/apps-kustomized/external-mqtt/deploy.yaml @@ -0,0 +1,37 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mosquitto +spec: + replicas: 1 + selector: + matchLabels: + app: mosquitto + template: + metadata: + labels: + app: mosquitto + spec: + containers: + - name: mosquitto + image: eclipse-mosquitto + ports: + - containerPort: 8883 + - containerPort: 9001 + volumeMounts: + - mountPath: /mosquitto/config/ + name: config + - mountPath: /mosquitto/certs/ + name: certs + - mountPath: /mosquitto/data/ + name: data + volumes: + - name: config + configMap: + name: mosquitto-config + - name: certs + secret: + secretName: mosquitto-certs + - name: data + persistentVolumeClaim: + claimName: mosquitto-data diff --git a/apps-kustomized/external-mqtt/pvc.yaml b/apps-kustomized/external-mqtt/pvc.yaml new file mode 100644 index 0000000..faf0c9e --- /dev/null +++ b/apps-kustomized/external-mqtt/pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mosquitto-data +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + storageClassName: longhorn-fast diff --git a/apps-kustomized/external-mqtt/svc.yaml b/apps-kustomized/external-mqtt/svc.yaml new file mode 100644 index 0000000..215e1ba --- /dev/null +++ b/apps-kustomized/external-mqtt/svc.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Service +metadata: + name: mosquitto-mqtts +spec: + type: LoadBalancer + selector: + app: mosquitto + ports: + - port: 8883 +--- +apiVersion: v1 +kind: Service +metadata: + name: mosquitto-ws +spec: + type: ClusterIP + selector: + app: mosquitto + ports: + - port: 9001 diff --git a/everything-app/external-mqtt.yaml b/everything-app/external-mqtt.yaml new file mode 100644 index 0000000..72cd813 --- /dev/null +++ b/everything-app/external-mqtt.yaml @@ -0,0 +1,17 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: external-mqtt + namespace: argocd +spec: + destination: + namespace: external-mqtt + server: https://kubernetes.default.svc + project: infra + source: + path: apps-kustomized/external-mqtt + repoURL: https://git.martyn.berlin/martyn/infra4talos + targetRevision: HEAD + syncPolicy: + automated: + selfHeal: true