kube-cascade/mosquitto/sts.yaml

108 lines
2.6 KiB
YAML
Raw Normal View History

2023-07-24 19:13:50 +00:00
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
mosquitto: server
app: mosquitto
annotations:
"reloader.stakater.com/auto": "true"
name: mosquitto
namespace: mosquitto
spec:
podManagementPolicy: OrderedReady
replicas: 1
selector:
matchLabels:
mosquitto: server
app: mosquitto
serviceName: mosquitto
updateStrategy:
type: RollingUpdate
template:
metadata:
labels:
mosquitto: server
app: mosquitto
spec:
initContainers:
- name: populate-users
image: eclipse-mosquitto
command:
- /bin/sh
- -c
args:
- |
cd /users || exit 0
echo "creating users"
touch /mosquitto/passwords/mosquitto.passwd
for f in *;do
echo "$f"
mosquitto_passwd -b /mosquitto/passwords/mosquitto.passwd "$f" "$(cat "$f")"
done
volumeMounts:
- mountPath: /mosquitto/passwords
name: passwords
- mountPath: /users
name: users
containers:
- name: mosquitto
image: eclipse-mosquitto
command:
- /usr/sbin/mosquitto
args:
- -c
- /mosquitto/config/mosquitto.conf
livenessProbe:
tcpSocket:
port: 1883
readinessProbe:
tcpSocket:
port: 1883
ports:
- containerPort: 1883
protocol: TCP
name: ssh
- containerPort: 9001
protocol: TCP
name: http
volumeMounts:
- mountPath: /mosquitto/data
name: mosquitto-data
- mountPath: /mosquitto/config
name: mosquitto-config
- mountPath: /mosquitto/passwords
name: passwords
- mountPath: /mosquitto/tls
name: tls
- mountPath: /http
name: mosquitto-http-dir
dnsPolicy: ClusterFirst
restartPolicy: Always
volumes:
- name: mosquitto-config
configMap:
name: mosquitto-config
- name: mosquitto-http-dir
configMap:
name: mosquitto-http-dir
- name: passwords
emptyDir:
sizeLimit: 50Mi
- name: users
secret:
secretName: mosquitto-users
optional: true
- name: tls
secret:
secretName: mosquitto-mtls-root-ca
optional: false
volumeClaimTemplates:
- metadata:
name: mosquitto-data
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: local-path
resources:
requests:
storage: 5Gi