# Создано: 2026-04-12 # Deployment iot-sqs-consumer — читает IoT телеметрию из shared-SQS → пишет в IoT Postgres. # # Long polling (WaitTimeSeconds=20) — минимизирует пустые запросы. # Сообщение удаляется из SQS только после успешной записи в Postgres (at-least-once). # # Credentials для SQS берутся из Secret iot-sqs-credentials. # IOT_PG_DSN берётся из Secret iot-postgres-secret. # # Создание SQS Secret (один раз, если ещё не создан): # kubectl create secret generic iot-sqs-credentials -n sless \ # --from-literal=SQS_ENDPOINT="https://qu.kube5s.ru" \ # --from-literal=SQS_ACCESS_KEY="" \ # --from-literal=SQS_SECRET_KEY="" # # Применение: kubectl apply -f deployments/k8s/iot-sqs-consumer.yaml --- apiVersion: apps/v1 kind: Deployment metadata: name: iot-sqs-consumer namespace: sless labels: app: iot-sqs-consumer spec: replicas: 1 selector: matchLabels: app: iot-sqs-consumer template: metadata: labels: app: iot-sqs-consumer spec: containers: - name: sqs-consumer # Тот же образ что и оператор — все IoT бинари в одном образе. image: naeel/iot-operator:v0.2.3 imagePullPolicy: Always command: ["/sqs-consumer"] env: - name: SQS_QUEUE_NAME value: "iot-telemetry" - name: SQS_REGION value: "us-east-1" envFrom: # SQS_ENDPOINT, SQS_ACCESS_KEY, SQS_SECRET_KEY - secretRef: name: iot-sqs-credentials # IOT_PG_DSN — master DSN для IoT Postgres (per-tenant DB) - secretRef: name: iot-postgres-secret resources: requests: memory: "32Mi" cpu: "25m" limits: memory: "64Mi" cpu: "100m"