- Добавлен EMQX deployment + WS ingress (адаптирован из sless) - Добавлен iot-operator deployment с RBAC (ServiceAccount, ClusterRole) - Postgres: заменён self-hosted на managed (dc5db45d namespace) - Image: naeel/iot-operator:v0.2.0 (Docker Hub) - Убран imagePullSecrets (Docker Hub публичный)
64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
# Создано: 2026-04-04
|
|
# Изменено: 2026-04-12 (замена Kafka → shared-SQS)
|
|
# Deployment iot-mqtt-bridge — MQTT→SQS мост для IoT.
|
|
#
|
|
# Получает MQTT сообщения от EMQX (подписка на "+/telemetry/+")
|
|
# и отправляет в shared-SQS очередь "iot-telemetry" через AWS SDK.
|
|
#
|
|
# Credentials для MQTT подключения берутся из Secret iot-bridge-credentials.
|
|
# Credentials для SQS берутся из Secret iot-sqs-credentials.
|
|
#
|
|
# Создание SQS Secret (один раз):
|
|
# kubectl create secret generic iot-sqs-credentials -n sless \
|
|
# --from-literal=SQS_ENDPOINT="https://qu.kube5s.ru" \
|
|
# --from-literal=SQS_ACCESS_KEY="<access_key>" \
|
|
# --from-literal=SQS_SECRET_KEY="<secret_key>"
|
|
#
|
|
# Применение: kubectl apply -f deployments/k8s/iot-mqtt-bridge.yaml
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: iot-mqtt-bridge
|
|
namespace: sless
|
|
labels:
|
|
app: iot-mqtt-bridge
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: iot-mqtt-bridge
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: iot-mqtt-bridge
|
|
spec:
|
|
containers:
|
|
- name: mqtt-bridge
|
|
# Тот же образ что и оператор — оба бинаря в одном слое (manager + iot-mqtt-bridge).
|
|
# При смене версии оператора — менять тег и здесь.
|
|
image: naeel/iot-operator:v0.2.0
|
|
imagePullPolicy: Always
|
|
command: ["/mqtt-bridge"]
|
|
env:
|
|
- name: MQTT_BROKER_URL
|
|
value: "tcp://emqx.sless.svc:1883"
|
|
- name: SQS_QUEUE_NAME
|
|
value: "iot-telemetry"
|
|
- name: SQS_REGION
|
|
value: "us-east-1"
|
|
envFrom:
|
|
- secretRef:
|
|
name: iot-bridge-credentials
|
|
# SQS_ENDPOINT, SQS_ACCESS_KEY, SQS_SECRET_KEY
|
|
- secretRef:
|
|
name: iot-sqs-credentials
|
|
resources:
|
|
requests:
|
|
memory: "32Mi"
|
|
cpu: "25m"
|
|
limits:
|
|
memory: "64Mi"
|
|
cpu: "100m"
|