Получение URL вебхука PAC
Контроллер PAC получает события вебхуков от провайдеров Git через Service pipelines-as-code-controller. На этой странице показано, как запросить URL вебхука после того, как администратор откроет доступ к этому Service.
В примерах используется пространство имен PAC по умолчанию tekton-pipelines. Если ваш CR OpenShiftPipelinesAsCode использует другое targetNamespace, замените tekton-pipelines в командах.
Основные разделы ниже следуют тому же порядку, что и в Configure Access: Gateway API, Ingress и NodePort. Используйте раздел, который соответствует способу экспонирования PAC.
Содержание
Использование Gateway APIИспользование IngressИспользование NodePortПроверкаСледующие шагиИспользование Gateway API
Используйте этот раздел, если PAC был экспонирован с помощью Gateway API.
Шаг 1: Проверьте ресурсы Gateway API. Убедитесь, что Gateway запрограммирован, а маршрут принят:
Ожидаемый результат: у Gateway отображается PROGRAMMED=True, а HTTPRoute принят.
Шаг 2: Получите внешний адрес. Выведите созданный Service Envoy и его внешний IP:
Ожидаемый результат: EXTERNAL_IP не пустой.
Если EXTERNAL_IP пустой, сначала настройте провайдер LoadBalancer для кластера. Для bare-metal кластеров ACP используйте Alauda Container Platform Load Balancer for MetalLB. Справка: Configure MetalLB.
Шаг 3: Проверьте и получите URL вебхука. Убедитесь, что провайдер Git может разрешить и получить доступ к домену PAC. Например, разрешите pac.example.com в EXTERNAL_IP Service из сети провайдера Git.
Если DNS еще не готов или вы хотите проверить маршрут только со своей текущей машины, используйте curl --resolve:
После того как домен станет доступен из сети провайдера Git, выведите URL:
Зарегистрируйте этот URL в провайдере Git или укажите его, когда tkn pac create repo запросит URL вебхука.
Не регистрируйте необработанный IP, если из манифеста экспонирования не были удалены hostname у слушателя Gateway и hostnames у HTTPRoute.
Если Gateway был настроен с envoyService.type: NodePort, выведите URL вебхука на основе IP:
Использование Ingress
Используйте этот раздел, если PAC был экспонирован с помощью Ingress.
Шаг 1: Проверьте адрес Ingress.
Шаг 2: Получите URL вебхука. Если у Ingress задан host, выведите URL:
Используйте https://${HOST} вместо этого, если для Ingress настроен TLS:
Если Ingress без host, используйте адрес, показанный командой kubectl get ingress, и зарегистрируйте доступный IP-URL.
Использование NodePort
Используйте этот раздел, если PAC был экспонирован через выделенный Service NodePort. Выведите URL на основе доступного IP узла и созданного NodePort:
Проверка
URL вебхука должен быть доступен из вашего провайдера Git. Для публичного провайдера Git URL должен быть доступен из интернета. Для self-hosted провайдера Git достаточно сетевой доступности от хоста провайдера до кластера.
Выполните быструю проверку с хоста, который может достичь endpoint PAC:
В текущих версиях PAC GET / возвращает 200 OK с небольшим JSON-телом статуса. Ошибка connection refused или timeout указывает на сетевую проблему.