# Изменено: 2026-03-19 # event-dispatcher — отдельный сервис для обработки event-триггеров. # Следит за Trigger CRD{type:event}, подписывается на AMQP очереди, # при сообщении делает POST на внутренний HTTP endpoint функции. # # Требует: # - SecretRef: sless-operator-secret (RABBITMQ_URL) # - ClusterRole: event-dispatcher-role (чтение Trigger CRD, Namespace) --- apiVersion: v1 kind: ServiceAccount metadata: name: event-dispatcher namespace: sless --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: event-dispatcher-role rules: # Нужно читать Trigger CRD по всем namespace (event-dispatcher глобальный) - apiGroups: ["sless.kube5s.ru"] resources: ["triggers"] verbs: ["get", "list", "watch"] # Нужно читать namespace для построения URLs функций - apiGroups: [""] resources: ["namespaces"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: event-dispatcher-rolebinding subjects: - kind: ServiceAccount name: event-dispatcher namespace: sless roleRef: kind: ClusterRole name: event-dispatcher-role apiGroup: rbac.authorization.k8s.io --- apiVersion: apps/v1 kind: Deployment metadata: name: event-dispatcher namespace: sless labels: app: event-dispatcher spec: replicas: 1 selector: matchLabels: app: event-dispatcher template: metadata: labels: app: event-dispatcher spec: serviceAccountName: event-dispatcher containers: - name: event-dispatcher image: naeel/sless-event-dispatcher:v0.1.0 imagePullPolicy: Always env: - name: RABBITMQ_URL valueFrom: secretKeyRef: name: sless-operator-secret key: RABBITMQ_URL resources: requests: cpu: 50m memory: 64Mi limits: cpu: 200m memory: 128Mi