This repository exists solely to develop a CI workflow. The requirements are to run HTTP benchmarking tests for pull requests, and to post the test results as a PR comment.
The CI comprises a single GitHub action to run the test itself and to post the test results on success.
The test is written as a standalone script that can be run
locally during development. It creates a kind
cluster with two http-echo
deployments, and an nginx-ingress controller. Routing is configured to send
requests for http://foo.localhost
to a service that responds foo
and
http://bar.localhost
to a service that responds bar
. Once the services are
ready they are load tested with k6, results are output to a
file on the GitHub runner, and subsequently posted as a comment using gh pr
comment.
The foo and bar deployments share service and deployment manifests; these are "kustomized" using kustomizations.yaml.