Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/agardnerit/keptn-integration-boilerplate
https://github.com/agardnerit/keptn-integration-boilerplate
Last synced: 8 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/agardnerit/keptn-integration-boilerplate
- Owner: agardnerIT
- Created: 2022-06-02T10:45:55.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-07-11T04:59:41.000Z (over 2 years ago)
- Last Synced: 2023-03-03T20:28:10.951Z (almost 2 years ago)
- Size: 83 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Keptn Integration Boilerplate
Handy code snippets to integrate Keptn with your favourite tools. Can't find what you need here? Look at the [Keptn integrations page](https://keptn.sh/docs/integrations/)
------
## Jenkins
### Usecase: Keptn and Jenkins Deployed in the same network
For example, both Keptn and Jenkins are deployed privately on premise OR keptn and Jenkins are both available publicly.
In other words, inbound comms from Keptn to Jenkins is possible. Keptn is able to send POST requests to trigger a Jenkins Job.
![keptn_jenkins_1](https://user-images.githubusercontent.com/26523841/171759371-9aab309b-7526-4ace-8030-dda23a4ec875.png)
Keptn triggers a Jenkins Pipeline. The webhook service either sends the `task.started` event or let your pipeline build and send it.
[Sample code here](jenkins_same_network).
### Usecase: No Inbound Connections Allowed to Jenkins
![keptn_private](https://user-images.githubusercontent.com/26523841/171775279-b2254809-1503-4f7a-a4ba-01245f725deb.png)
In this scenario, Jenkins does not allow inbound connections. For example where Jenkins is deployed on premise and Keptn is deployed in the cloud.
Here, a component called the job executor service is installed on premise (requires an on-prem Kubernetes cluster). This service polls the Keptn API for `task.triggered` events and when one is "heard", the job executor service starts and execute a `curlimages/curl` container.
The curl command is formatted to trigger the Jenkins pipeline. No inbound communication is required.
Just like the previous scenario, when Jenkins starts, the job sends the `task.started` event. When the job is finished, the job sends the `task.finished` event.
[Sample code here](jenkins_no_inbound_access)
-------
## [Azure DevOps (ADO)](https://github.com/agardnerIT/keptn-integration-boilerplate/tree/main/azure_dev_ops)
[See here](https://github.com/agardnerIT/keptn-integration-boilerplate/tree/main/azure_dev_ops).
--------
## [AWX / Ansible Tower](https://github.com/agardnerIT/keptn-integration-boilerplate/tree/main/ansible_awx_tower)
[See here](https://github.com/agardnerIT/keptn-integration-boilerplate/tree/main/ansible_awx_tower).