feat: event-trigger (Вариант A) — TriggerTypeEvent, event-dispatcher, reconcileEvent

This commit is contained in:
Naeel
2026-03-19 13:44:35 +03:00
parent 1aac3f5093
commit a379091b8a
9 changed files with 534 additions and 6 deletions
+10 -2
View File
@@ -1,4 +1,4 @@
// Изменено: 2026-03-11
// Изменено: 2026-03-19
// Конфигурация сервиса — читается из env переменных при старте.
// Все компоненты (API, builder, runner) получают конфиг через эту структуру.
// Используем env а не файлы конфигурации — стандарт для k8s (ConfigMap/Secret → env).
@@ -56,6 +56,11 @@ type Config struct {
// Если не заданы, EnsureProject пропускается (только DockerHub/без проектов).
HarborUser string
HarborPass string
// RabbitMQURL — AMQP URL брокера для event-dispatcher.
// Формат: amqp://user:pass@host:5672/
// Опционально — если не задан, event-триггеры не будут обрабатываться.
RabbitMQURL string
}
func Load() (*Config, error) {
@@ -133,9 +138,12 @@ func Load() (*Config, error) {
cfg.APIToken = os.Getenv("SLESS_API_TOKEN")
// Harbor API креды — опциональны.
// Если не заданы, EnsureProject пропускается (push работает через docker-кред в kaniko).
// Если не заданы, EnsureProject пропускается (push работает через docker-кред в канiko).
cfg.HarborUser = os.Getenv("HARBOR_USER")
cfg.HarborPass = os.Getenv("HARBOR_PASS")
// RabbitMQ — опционально. Нужен только если используются event-триггеры.
cfg.RabbitMQURL = os.Getenv("RABBITMQ_URL")
return cfg, nil
}