Как настроить общий триггер веб-перехватчика в Tekton
Я хочу настроить триггер веб-перехватчика в тектоне. В документации я могу найти триггеры Github, Gitlab и bitbucket. Но мне нужен общий веб-перехватчик, который обрабатывает HTTP POST и читает тело JSON.
Например: я делаю следующее с помощью универсального триггера веб-перехватчика Jenkins.
Prometheus Alertmanager отправляет HTTP POST в Generic webhook Jenkins, а Jenkins обрабатывает тело JSON и запускает сборку.
Я хочу того же с Тектоном. Alertmanager отправляет HTTP-запрос на веб-перехватчик Tekton, обрабатывает тело JSON и запускает сборку.
Возможно ли это с помощью триггера веб-перехватчика Tekton? Это еще не доступно в Tekton или мне что-то не хватает в документации?
Если кто-то уже это сделал, можете ли вы указать мне правильное направление? Я использую openshift 4.5
1 ответ
Да, это должно работать нормально.
Вы создаете EventListener - это раскручиваетDeployment
и Service
что вы каким-то образом должны раскрыть, например, используя Route
на OpenShift или Ingress
в Kubernetes - и это URL-адрес, по которому ваш Prometheus Alertmanager должен отправить свой POST-запрос.
Также создайте TriggerBinding, в котором вы можете объявить jsonPaths для извлечения данных из полезной нагрузки JSON в параметры.
И, наконец, вам нужен TriggerTemplate, чтобы объявить, какой ресурс Tekton должен создать ваш триггер для каждого события, обычно это PipelineRun, и вы должны объявить, как вы должны сопоставить параметры из вашего TriggerBinding с параметрами в вашем PipelineRun.