Files
mosquitto-broker/deploy.yml
2026-01-29 11:20:47 +01:00

112 lines
2.6 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: mosquitto-broker
annotations:
configmap.reloader.stakater.com/reload: "mosquitto-broker-config"
secret.reloader.stakater.com/reload: "mosquitto-broker-cert"
spec:
replicas: 1
selector:
matchLabels:
app: mosquitto-broker
template:
metadata:
labels:
app: mosquitto-broker
spec:
containers:
- name: mosquitto-broker
image: eclipse-mosquitto:2.0.22
ports:
- name: mqtt
containerPort: 1883
protocol: TCP
- name: mqtt-anon
containerPort: 1884
protocol: TCP
- name: mqtt-tls
containerPort: 8883
protocol: TCP
readinessProbe:
tcpSocket:
port: 1883
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
volumeMounts:
- name: mosquitto-broker-config
mountPath: /mosquitto/config/
readOnly: true
- name: mosquitto-broker-cert
mountPath: /mosquitto/config/ssl
readOnly: true
volumes:
- name: mosquitto-broker-config
configMap:
name: mosquitto-broker-config
items:
- key: mosquitto.conf
path: mosquitto.conf
- key: pwfile
path: pwfile
- name: mosquitto-broker-cert
secret:
secretName: mosquitto-broker-cert
defaultMode: 0644
items:
- key: tls.crt
path: server.crt
mode: 0644
- key: tls.key
path: server.key
mode: 0444
---
apiVersion: v1
kind: Service
metadata:
name: mosquitto-broker-mqtt
spec:
type: LoadBalancer
externalTrafficPolicy: Local
selector:
app: mosquitto-broker
ports:
- name: mqtt
port: 1883
targetPort: 1883
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: mosquitto-broker-mqtt-anon
spec:
type: LoadBalancer
externalTrafficPolicy: Local
selector:
app: mosquitto-broker
ports:
- name: mqtt-anon
port: 1883
targetPort: 1884
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: mosquitto-broker-mqtt-tls
spec:
type: LoadBalancer
externalTrafficPolicy: Local
selector:
app: mosquitto-broker
ports:
- name: mqtt-tls
port: 8883
targetPort: 8883
protocol: TCP