Thanks for your interest in contributing! This document covers how to get started.
Open a GitHub issue with:
- What you expected to happen
- What actually happened
- Steps to reproduce (cluster type, OS, config if possible)
- Relevant output (
summary.csv,failures.log, phase logs)
For security vulnerabilities, see SECURITY.md.
git clone https://github.com/spectronauts/KubePyrometer.git
cd KubePyrometerPrerequisites: bash (4+), kubectl, curl. For local testing: kind and docker.
The smoke test creates a Kind cluster, runs the harness with minimal parameters, and verifies all expected artifacts are produced:
bash lib/scripts/kind-smoke.shThis is the same test that CI runs on every PR. Run it locally before submitting changes to make sure nothing is broken.
- Fork the repo and create a branch from
main - Make your changes
- Run the smoke test locally:
bash lib/scripts/kind-smoke.sh - Open a pull request against
main
| Path | Purpose |
|---|---|
kubepyrometer |
CLI entry point (subcommand dispatch) |
lib/run.sh |
Core harness engine |
lib/scripts/ |
Helper scripts (install, load images, summarize, etc.) |
lib/templates/ |
Kubernetes object templates (Go-templated YAML) |
lib/workloads/ |
kube-burner job definitions |
lib/manifests/ |
Static Kubernetes manifests (RBAC) |
lib/configs/ |
Config profiles |
Makefile |
Install / uninstall / dist targets |
.github/workflows/ |
CI and release automation |
- Shell scripts use
bashwithset -euo pipefail - Indent with 2 spaces
- Quote all variable expansions
- No unnecessary comments -- code should be self-explanatory
Releases are automated via GitHub Actions. When a tag matching v* is pushed, the workflow builds a tarball and creates a GitHub Release. The Homebrew formula lives in spectronauts/homebrew-kubepyrometer and is updated separately.
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.