5.6. 激活 Webhook 规则手册
在 Openshift 环境中,您可以通过创建一个提供规则手册激活的 Kubernetes 服务的路由来允许 Webhook 通过给定端口访问 activation-job-pod。
先决条件
- 您已在 Event-Driven Ansible 控制器仪表板中创建了规则手册激活。
注意
以下是带有给定 Webhook 的 rulebook 示例:
- name: Listen for storage-monitor events
hosts: all
sources:
- ansible.eda.webhook:
host: 0.0.0.0
port: 5000
rules:
- name: Rule - Print event information
condition: event.meta.headers is defined
action:
run_job_template:
name: StorageRemediation
organization: Default
job_args:
extra_vars:
message: from eda
sleep: 1流程
创建一个路由(在 OpenShift Container Platform 中)以公开服务。以下是 ansible-rulebook 源的 Route 示例,它要求 POST 在决策环境 pod 的端口 5000 上:
kind: Route apiVersion: route.openshift.io/v1 metadata: name: test-sync-bug namespace: dynatrace labels: app: eda job-name: activation-job-1 spec: host: test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com to: kind: Service name: activation-job-1 weight: 100 port: targetPort: 5000 wildcardPolicy: None在创建路由时,使用 到 Route URL 的 Post 进行测试 :
curl -H "Content-Type: application/json" -X POST test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com -d '{}'注意您不需要端口,因为它在 Route (targetPort) 上指定。