Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explore how to integrate with Keptn #1772

Closed
mathnogueira opened this issue Jan 5, 2023 · 3 comments
Closed

Explore how to integrate with Keptn #1772

mathnogueira opened this issue Jan 5, 2023 · 3 comments
Assignees

Comments

@mathnogueira
Copy link
Member

mathnogueira commented Jan 5, 2023

Exploration

Find out how we can provide a way for users to trigger a Tracetest operation to assert service correctness via Keptn,

They have an open issue about Trace SLOs and it has some content on how we can start the exploration.

@mathnogueira
Copy link
Member Author

mathnogueira commented Jan 9, 2023

Webhooks seem to be the best way for us to integrate with Keptn. They require some data to be sent to the webhook. We would have to find a way of supporting webhooks and allowing different integrations to use the same webhook structure, but make Tracetest capable of sending different data to different integrations.

Example:

  1. Keptn sends a request to run a test
    1. Tracetest register the hook and mark it as a Keptn hook, so the correct request is sent
  2. Other integration sends a request
    1. Tracetest register the hook and mark it as a different integration request, so the request sent must be generated differently

Still, a couple of problems to be solved. How would the test run? Should the user select a file or an existing test to run? If it's a file, should it be stored somewhere (GitHub for example)?

@danielbdias
Copy link
Contributor

Another strategy that we can use is to use keptn-contrib/job-executor-service on Keptn.

With this plugin we are able to run docker commands whenever keptn emit certain events, allowing the user for instance, to set up a test-task into a keptn, which will emit the event sh.keptn.event.test-task.triggered and run tracetest.

@danielbdias
Copy link
Contributor

danielbdias commented Jan 25, 2023

To integrate with Keptn now we opted to use keptn-contrib/job-executor-service since a user can configure freely how they can use Tracetest inside Keptn.

Other alternatives (webhook and lifecycle toolkit) demand a lot of customization inside of Keptn and Tracetest to work properly, like creating another service just to list keptn hooks or embed Go code directly on Keptn engine, which doesn't make sense now given that we want to give power to our users to use our CLI to control their testing process.

Our first documentation is ready at: https://github.com/kubeshop/tracetest/tree/main/examples/keptn-integration , that we submitted as documentation to Keptn Community and we will present at their community meeting next week.

Our next steps on this initiative are:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

No branches or pull requests

2 participants