feat: event-dispatcher v0.1.0 — Dockerfile, деплой в кластер

This commit is contained in:
Naeel
2026-03-19 13:51:27 +03:00
parent a379091b8a
commit 0ebae25877
2 changed files with 33 additions and 7 deletions
+25
View File
@@ -0,0 +1,25 @@
# Изменено: 2026-03-19
# Multi-stage build для event-dispatcher.
# Stage 1: сборка бинаря
# Stage 2: минимальный образ (нужен ca-certificates для TLS к RabbitMQ и k8s API)
FROM golang:1.25-alpine AS builder
ARG TARGETOS
ARG TARGETARCH
WORKDIR /workspace
COPY go.mod go.mod
COPY go.sum go.sum
RUN go mod download
COPY api/ api/
COPY services/event-dispatcher/ services/event-dispatcher/
RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} \
go build -a -o event-dispatcher ./services/event-dispatcher/
FROM alpine:3.19
RUN apk add --no-cache ca-certificates
WORKDIR /
COPY --from=builder /workspace/event-dispatcher .
USER 65532:65532
ENTRYPOINT ["/event-dispatcher"]
+8 -7
View File
@@ -9,13 +9,14 @@
| 1 | Аудит кластера — удаление мусора | ✅ | Удалены: event-monitor/writer/cleaner, pg-* тестовые функции, failed build jobs, orphan namespaces b1e4df2d/b794a3c4 |
| 2 | Managed RabbitMQ через Terraform | ✅ | `terraform/RABBIT/`, ns `1dbfe9da-...`, host: `rabbitmqk8s.1dbfe9da-...svc.cluster.local` |
| 3 | Архитектура event-trigger задокументирована | ✅ | `doc/decisions/log.md` — выбран Вариант A (отдельный event-dispatcher) |
| 4 | trigger_types.go: +TriggerTypeEvent, +Queue | 🔄 | В работе |
| 5 | internal/config: +RabbitMQURL | | |
| 6 | services/event-dispatcher/ | | |
| 7 | controllers/trigger_controller.go: +reconcileEvent | | |
| 8 | deployments/k8s/event-dispatcher.yaml | | |
| 9 | Обновить sless-operator-secret (RABBITMQ_URL) | | |
| 10 | Коммит + пуш | | |
| 4 | trigger_types.go: +TriggerTypeEvent, +Queue | | |
| 5 | internal/config: +RabbitMQURL | | |
| 6 | services/event-dispatcher/ | | Go-сервис: dispatcher.go, watcher.go, main.go |
| 7 | controllers/trigger_controller.go: +reconcileEvent | | Создаёт Service, обновляет status |
| 8 | deployments/k8s/event-dispatcher.yaml | | ServiceAccount + ClusterRole + Deployment |
| 9 | Образ naeel/sless-event-dispatcher:v0.1.0 | | Собран, запушен в DockerHub |
| 10 | RABBITMQ_URL в sless-operator-secret | | managed rabbit (1dbfe9da namespace) |
| 11 | event-dispatcher задеплоен в кластер | ✅ | Running в sless namespace |