You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 3
Next »
A listening webhook can be configured in Insights where Spinnaker will forward payloads with event details whenever any event(viz. pipeline execution, cluster deletion etc.) occurs through the Spinnaker UI. The echo-rest module in spinnaker is used to set downstream listeners to keep track of Spinnaker events. It will forward any event received from Orca, igor or echo to the webhooks registered.
Here we will use our InSights webhook functionality to generate a listening webhook and integrate the same with Spinnaker.
Step 1. Configure a webhook in Insights:
Login to InSIghts and click on the Configuration -> Webhook Configuration option.
Click on the “+” icon highlighted in the webhook configuration screen to add a new webhook:
Provide all necessary details such as the name of the Webhook, what is the tool for which it will be used, the label with which data will be forwarded to Neo4j etc. All fields marked with asterisk(*) are mandatory fields. (Refer here for more details)
The Response Template defines which fields are to be consumed by InSights. Values inside this field should be comma separated. Below is an example response template for Spinnaker events:
details.type=eventType,
details.created=creationTime,
details.application=application,
content.executionId=executionId,
content.execution.name=name,
content.execution.status=status,
content.execution.startTime=startTime,
content.execution.endTime=endTime,
content.execution.description=description,
content.context.serverGroupName=podName,
content.execution.trigger.user=username,
content.taskName=taskName,
content.context.canaryConfigId=canaryConfigId,
content.context.canaryScore=canaryScore,
content.context.scoreThresholds.pass=passScore,
content.context.scoreThresholds.marginal=marginalScore,
content.context.canaryPipelineStatus=canaryStatus,
content.context.scopes.default.controlScope.scope=base,
content.context.scopes.default.experimentScope.scope=canary
5. Once all details are filled, click on the save icon highlighted below:
6. This will take you back to the main Webhook configuration page. Select your webhook and Click on the link icon to copy your webhook. Keep it handy, this will be used later for Spinnaker.
Step 2. Integrate the webhook to Spinnaker:
Login to the halyard instance from where you have deployed Spinnaker. Navigate to the following path:
~/.hal/default/profiles
Create a new file here called: echo-local.yml
Write the content below into your newly created echo-local.yml file:
rest:
enabled: true
endpoints:
-
wrap: false
url: <Insights_Webhook_Configured_In_Step_1>
Save the file and run the following command:
Hal deploy apply
You can configure multiple webhooks, where Spinnaker will forward the payloads to all of them simultaneously. In such scenarios, the echo-local.yml file will look like this:
rest:
enabled: true
endpoints:
-
wrap: false
url: <webhook1>
-
wrap: false
url: <webhook2>
Reference: click here