Skip to content

v1.30.0

Choose a tag to compare

@bmscomp bmscomp released this 25 Oct 05:11
· 22 commits to main since this release
1b5d7bf

Run an Apache Kafka performance test and enforce an A–F SLA grade gate in GitHub Actions with Kates.

The action installs the kates CLI (when not already on PATH), runs kates gate -o json against a reachable Kates API, exposes the run's grade and verdict as step outputs, writes a Markdown SLA summary table to $GITHUB_STEP_SUMMARY, and exits non-zero when the grade falls below min-grade.

Usage

steps:
  - name: Run Kafka SLA Quality Gate
    id: kafka-gate
    uses: bmscomp/kates@v1.30.1
    with:
      api-url: http://localhost:8080
      api-key: ${{ secrets.KATES_API_KEY }}
      min-grade: B
      type: LOAD
      records: 100000
      timeout: 180

Inputs

Input Default Description
api-url http://localhost:8080 URL of the Kates API
api-key "" API key for the Kates API (from Secret kates-api-key)
min-grade C Minimum passing performance grade (A, B, C, D, or F)
type LOAD Workload type (LOAD, STRESS, SPIKE, ENDURANCE, VOLUME, CAPACITY, ROUND_TRIP, INTEGRITY)
records 50000 Number of records to produce
backend "" Benchmark backend (native or trogdor)
timeout 180 Timeout in seconds
version latest Kates CLI release tag to install (latest or a tag such as v1.30.0)

Outputs

Output Description
run-id ID of the test run created by kates gate
grade Computed A–F performance grade
passed Whether the run met or exceeded min-grade (true or false)

Grading Thresholds

Grade Minimum Avg Throughput Maximum P99 Latency
A >= 50,000 rec/s < 5 ms
B >= 30,000 rec/s < 20 ms
C >= 15,000 rec/s < 50 ms
D >= 5,000 rec/s < 200 ms
F Below grade D thresholds >= 200 ms

Links

What's Changed

  • fix(chart): kyvernoPolicy.cosign verifies the release's keyless signatures by @bmscomp in #465
  • fix(chart): the kafka-cluster perf test reports MB/s, not max latency by @bmscomp in #466
  • feat(cli): deploy checks the cosign signature of every chart it pulls by @bmscomp in #469
  • feat(cli): a kind cluster deploy creates gets the proxy and CA of make cluster by @bmscomp in #470
  • feat(cli): deploy keeps its files out of a directory that is not a checkout by @bmscomp in #471
  • feat(cli): deploy from a chart mirror, or offline from a bundle by @bmscomp in #472
  • feat(cli): kates migrate runs without a checkout by @bmscomp in #473
  • feat: Kafka Connect's PostgreSQL comes from this repository's chart, not Bitnami's by @bmscomp in #474
  • feat(cli): a chart bundle carries cert-manager, Kyverno and the stack's images by @bmscomp in #476
  • ci(release): the release deploys its published charts before it is published by @bmscomp in #475
  • feat(cli): deploy checks the build provenance of every chart it pulls by @bmscomp in #477
  • feat(cli): pull every image from one mirror registry, and bundle the legacy Kafka images by @bmscomp in #478
  • feat(chart): cdc-postgresql pins its image, checks its values, and tests what Debezium needs by @bmscomp in #480
  • chore(release): prepare v1.30.0 by @bmscomp in #479
  • docs: overhaul README with Why Kates comparison and terminal screenshots by @bmscomp in #481
  • docs: add 1280x640 social preview card and Quarto book GitHub star tool by @bmscomp in #482
  • feat(cli,ci): link exported reports to the repository, add a gate Action and server.json by @bmscomp in #483

Full Changelog: v1.29.3...v1.30.0