Как настроить общий триггер веб-перехватчика в 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.

Другие вопросы по тегам