Files
k8s-apps/mosquitto/mosquitto.yaml
2026-03-31 15:26:57 +00:00

93 lines
2.0 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: mosquitto-config
namespace: mosquitto
data:
mosquitto.conf: |
persistence true
persistence_location /mosquitto/data/
listener 1883
allow_anonymous false
password_file /mosquitto/config/passwords
listener 9001
protocol websockets
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mosquitto-data
namespace: mosquitto
spec:
accessModes:
- ReadWriteOnce
storageClassName: cephfs-hyper
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mosquitto
namespace: mosquitto
spec:
replicas: 1
selector:
matchLabels:
app: mosquitto
template:
metadata:
labels:
app: mosquitto
spec:
containers:
- name: mosquitto
image: eclipse-mosquitto:2
ports:
- name: mqtt
containerPort: 1883
- name: websocket
containerPort: 9001
volumeMounts:
- name: mosquitto-config
mountPath: /mosquitto/config/mosquitto.conf
subPath: mosquitto.conf
readOnly: true
- name: mosquitto-passwords
mountPath: /mosquitto/config/passwords
subPath: passwords
readOnly: true
- name: data
mountPath: /mosquitto/data
volumes:
- name: mosquitto-config
configMap:
name: mosquitto-config
defaultMode: 0444
- name: mosquitto-passwords
secret:
secretName: mosquitto-passwords
defaultMode: 0444
- name: data
persistentVolumeClaim:
claimName: mosquitto-data
---
apiVersion: v1
kind: Service
metadata:
name: mosquitto
namespace: mosquitto
spec:
selector:
app: mosquitto
ports:
- name: mqtt
port: 1883
targetPort: 1883
- name: websocket
port: 9001
targetPort: 9001