keptn-sandbox / k6-service

Keptn Service for running K6 as load testing tool.
MIT License
7 stars 1 forks source link

[DOCS] Use JES or Custom Service #20

Closed agardnerIT closed 2 years ago

agardnerIT commented 2 years ago

This issue functions as a record and decision point for the following question:

Do we custom develop a Keptn service or use functionality available from the Job executor service?

I believe we have discussed this and come to a conclusion that the job executor service will:

  1. Provide all functionality we need (ie. running the container + outputting metrics to a backend like Prometheus - via k6 extensions)
  2. Be simpler and more future-proof (nothing for the k6-service authors to maintain
  3. Be extensible (you bring the container and we'll run it)

That said, the work that has gone into @jainammm understanding and building a sample k6 standalone service for the GSoC project is appreciated, worthwhile and should not be lost.

If I misunderstand the current state, please use this thread to discuss.

Otherwise, please respond with your decision (@jainammm ) of either 1) Use JES from now on or 2) Build a custom service - along with your rationale.

Once this is completed, the second-half of the GSoC work can start.

jainammm commented 2 years ago

As mentioned above by @agardnerIT, we have decided to go with the Job Executor Service for K6 integration. It covers all the requirements.

Commenting on the current state of new service:

  1. Has the boilerplate code for the new service
  2. Start k6-service in K8s
  3. Listens to test.triggered cloudevent
  4. Sends test.started cloudevent
  5. Sleeps for 5 seconds (Here the logic of test execution will be kept)
  6. Sends test.finished cloudevent back
  7. Test for handler of these events