Releases: opdev/virtwork
Releases · opdev/virtwork
Release list
v1.2
What's Changed
- test: rewrite catalog entry tests as generic discovery-based validation by @mrhillsman in #203
- feat: add ValidatePlaceholders for catalog entry service files by @mrhillsman in #204
- feat: add
virtwork validatesubcommand for catalog entries by @mrhillsman in #205
Full Changelog: v1.1...v1.2
Released by GoReleaser.
v1.1
What's Changed
- feat: configurable params for built-in workloads by @mrhillsman in #186
- docs: parameterize builtin workloads by @mrhillsman in #189
- feat: typed param registry with schema validation by @mrhillsman in #190
- docs: update param docs for schema-driven GetParam pattern by @mrhillsman in #191
- feat: add --params CLI flag for per-workload params by @mrhillsman in #192
- docs: add --params flag and schema-driven param docs across all references by @mrhillsman in #193
- feat: catalog-based generic workloads (--from-catalog) by @mrhillsman in #194
- fix: remove dead inline userdata branch in BuildVMSpec by @mrhillsman in #195
- feat: support storage and services in catalog workloads by @mrhillsman in #197
- docs: update development guide for catalog workloads, storage, and services by @mrhillsman in #198
Full Changelog: v1.0.2...v1.1
Released by GoReleaser.
v1.0.2
What's Changed
- feat: wire name-based audit deletion tracking into cleanup by @mrhillsman in #182
Full Changelog: v1.0.1...v1.0.2
Released by GoReleaser.
v1.0.1
What's Changed
- docs: fix stale CGO, Go version, and structure references in README by @mrhillsman in #171
- docs(guide): fix stale interface refs, code pointers, and mental models by @mrhillsman in #173
- docs: update architecture.md for orchestrator extraction and interface changes by @mrhillsman in #175
- docs: add documentation audit runbook by @mrhillsman in #176
- docs: fix stale references and mental models in development.md by @mrhillsman in #178
- docs: add missing flags and fix stale reference in configuration.md by @mrhillsman in #179
- docs: fix stale references in chaos-workloads, audit-schema, and deployment docs by @mrhillsman in #180
- docs: update virtwork-vs-kube-burner comparison with full workload set by @mrhillsman in #181
Full Changelog: v1.0.0...v1.0.1
v1.0.0-rc.1
What's Changed
- feat: add TPS workload with netperf TCP_RR and HTTP file transfer by @mrhillsman in #38
- fix: replace deprecated Running field with RunStrategy in VM spec by @mrhillsman in #39
- fix: derive AllWorkloadNames from registry instead of hardcoding by @mrhillsman in #40
- fix: use semantic version tag instead of mutable :latest in deployment by @mrhillsman in #41
- fix: add validation and logging to entrypoint.sh by @mrhillsman in #42
- fix: validate Extra map keys don't collide with reserved cloud-init keys by @mrhillsman in #43
- test: add comprehensive tests for testutil package by @mrhillsman in #44
- docs: add comprehensive testing prerequisites and testutil documentation by @mrhillsman in #46
- fix: namespace DataVolume names per VM to prevent collisions by @mrhillsman in #47
- fix: add Roles() method to MultiVMWorkload interface by @mrhillsman in #48
- feat: add Makefile with CI/CD automation targets by @mrhillsman in #49
- feat: adopt structured logging (log/slog) for observability by @mrhillsman in #50
- feat: add optional golden container disk image with pre-installed tools by @mrhillsman in #51
- feat: add chaos-process workload by @mrhillsman in #53
- feat: add chaos-network workload by @mrhillsman in #54
- feat: add chaos-disk workload (disk fill pressure) by @mrhillsman in #55
- fix: stabilize flaky WaitForVMRunning timing assertion by @mrhillsman in #57
- fix: use virtio serial for stable data disk discovery in PVC-backed w… by @mrhillsman in #59
- docs: comprehensive overhaul to match current code surface by @mrhillsman in #60
- refactor(workloads): rename chaos-network.go to chaos_network.go by @mrhillsman in #76
- feat(workloads): wire chaos workload params through WorkloadConfig.Params by @mrhillsman in #77
- fix(workloads): remove dead env vars from chaos-disk systemd unit by @mrhillsman in #78
- fix(audit): populate cluster_context and cleanup_mode, drop workload timestamps by @mrhillsman in #79
- fix(config): honor WorkloadConfig.Enabled field in orchestration by @mrhillsman in #80
- fix(cluster): clarify kubeconfig precedence over in-cluster detection by @mrhillsman in #81
- fix(e2e): repair CGO build flag and stale test assertions by @mrhillsman in #83
- fix(tps): return errors from file-size parser and add E2E coverage by @mrhillsman in #84
- fix(golden-image): add kernel-modules-extra to container disk image by @mrhillsman in #85
- fix(golden-image): add kernel-modules-extra to container disk image by @mrhillsman in #86
- feat(cmd): add cleanup safety guardrails with --yes flag by @mrhillsman in #87
- fix(audit): transition workload_details.status to failed on error by @mrhillsman in #88
- fix(e2e): ensure resources from e2e runs are cleaned up by @mrhillsman in #90
- feat(build): replace broken Containerfile with osbuild blueprint by @mrhillsman in #92
- fix(config): wire --ssh-key-file flag into resolveSSHKeys by @mrhillsman in #94
- fix(config): align --disk-size flag name with production CLI by @mrhillsman in #96
- fix(vm): replace resource.MustParse with ParseQuantity to prevent panics by @mrhillsman in #98
- fix(vm): validate BuildVMSpec inputs before constructing manifest by @mrhillsman in #108
- fix(wait): recover goroutine panics in WaitForAllVMsReady by @mrhillsman in #109
- fix(run): propagate registry.Get error in service creation loop by @mrhillsman in #110
- fix(resources): collect all deletion errors instead of bailing on first by @mrhillsman in #111
- refactor(config): centralize flag registration into BindPersistentFlags/BindRunFlags/BindCleanupFlags by @mrhillsman in #112
- fix(config): validate assembled Config in LoadConfig to fail fast on invalid values by @mrhillsman in #113
- fix(resources): validate cloud-init userdata size before Secret creation by @mrhillsman in #114
- fix(run): warn when VM remainder is truncated in multi-role distribution by @mrhillsman in #115
- refactor: extract hardcoded disk, network, secret, and SSH strings into named constants by @mrhillsman in #117
- feat: add version subcommand and fix goreleaser docker config by @mrhillsman in #132
- fix(ci): use Makefile targets in CI and upgrade to Go 1.26 by @mrhillsman in #133
- fix: signal handling, DV/PVC cleanup, and namespace label patching by @mrhillsman in #134
- fix(cmd): reuse workload instances for service creation by @mrhillsman in #135
- refactor: extract orchestration logic into internal/orchestrator by @mrhillsman in #136
- perf(orchestrator): parallelize cloud-init secret creation by @mrhillsman in #137
- feat(audit): add schema migration strategy for audit database by @mrhillsman in #138
- fix: log audit recording errors instead of silently discarding them by @mrhillsman in #139
- feat: validate workload names upfront and add VM creation concurrency limit by @mrhillsman in #140
- feat(workloads): replace Roles() with RoleDistribution() on MultiVMWorkload by @mrhillsman in #141
- test(cmd/virtwork): increase test coverage from 11% to 85% by @mrhillsman in #147
- refactor(cmd/virtwork): remove duplicate and misplaced tests by @mrhillsman in #149
- feat(audit): replace mattn/go-sqlite3 with modernc.org/sqlite to remove CGO dependency by @mrhillsman in #152
- feat(release): add multi-platform builds for Linux ARM64 and macOS by @mrhillsman in #153
Full Changelog: v0.0.1...v1.0.0-rc.1
v1.0.0
What's Changed
- feat: add TPS workload with netperf TCP_RR and HTTP file transfer by @mrhillsman in #38
- fix: replace deprecated Running field with RunStrategy in VM spec by @mrhillsman in #39
- fix: derive AllWorkloadNames from registry instead of hardcoding by @mrhillsman in #40
- fix: use semantic version tag instead of mutable :latest in deployment by @mrhillsman in #41
- fix: add validation and logging to entrypoint.sh by @mrhillsman in #42
- fix: validate Extra map keys don't collide with reserved cloud-init keys by @mrhillsman in #43
- test: add comprehensive tests for testutil package by @mrhillsman in #44
- docs: add comprehensive testing prerequisites and testutil documentation by @mrhillsman in #46
- fix: namespace DataVolume names per VM to prevent collisions by @mrhillsman in #47
- fix: add Roles() method to MultiVMWorkload interface by @mrhillsman in #48
- feat: add Makefile with CI/CD automation targets by @mrhillsman in #49
- feat: adopt structured logging (log/slog) for observability by @mrhillsman in #50
- feat: add optional golden container disk image with pre-installed tools by @mrhillsman in #51
- feat: add chaos-process workload by @mrhillsman in #53
- feat: add chaos-network workload by @mrhillsman in #54
- feat: add chaos-disk workload (disk fill pressure) by @mrhillsman in #55
- fix: stabilize flaky WaitForVMRunning timing assertion by @mrhillsman in #57
- fix: use virtio serial for stable data disk discovery in PVC-backed w… by @mrhillsman in #59
- docs: comprehensive overhaul to match current code surface by @mrhillsman in #60
- refactor(workloads): rename chaos-network.go to chaos_network.go by @mrhillsman in #76
- feat(workloads): wire chaos workload params through WorkloadConfig.Params by @mrhillsman in #77
- fix(workloads): remove dead env vars from chaos-disk systemd unit by @mrhillsman in #78
- fix(audit): populate cluster_context and cleanup_mode, drop workload timestamps by @mrhillsman in #79
- fix(config): honor WorkloadConfig.Enabled field in orchestration by @mrhillsman in #80
- fix(cluster): clarify kubeconfig precedence over in-cluster detection by @mrhillsman in #81
- fix(e2e): repair CGO build flag and stale test assertions by @mrhillsman in #83
- fix(tps): return errors from file-size parser and add E2E coverage by @mrhillsman in #84
- fix(golden-image): add kernel-modules-extra to container disk image by @mrhillsman in #85
- fix(golden-image): add kernel-modules-extra to container disk image by @mrhillsman in #86
- feat(cmd): add cleanup safety guardrails with --yes flag by @mrhillsman in #87
- fix(audit): transition workload_details.status to failed on error by @mrhillsman in #88
- fix(e2e): ensure resources from e2e runs are cleaned up by @mrhillsman in #90
- feat(build): replace broken Containerfile with osbuild blueprint by @mrhillsman in #92
- fix(config): wire --ssh-key-file flag into resolveSSHKeys by @mrhillsman in #94
- fix(config): align --disk-size flag name with production CLI by @mrhillsman in #96
- fix(vm): replace resource.MustParse with ParseQuantity to prevent panics by @mrhillsman in #98
- fix(vm): validate BuildVMSpec inputs before constructing manifest by @mrhillsman in #108
- fix(wait): recover goroutine panics in WaitForAllVMsReady by @mrhillsman in #109
- fix(run): propagate registry.Get error in service creation loop by @mrhillsman in #110
- fix(resources): collect all deletion errors instead of bailing on first by @mrhillsman in #111
- refactor(config): centralize flag registration into BindPersistentFlags/BindRunFlags/BindCleanupFlags by @mrhillsman in #112
- fix(config): validate assembled Config in LoadConfig to fail fast on invalid values by @mrhillsman in #113
- fix(resources): validate cloud-init userdata size before Secret creation by @mrhillsman in #114
- fix(run): warn when VM remainder is truncated in multi-role distribution by @mrhillsman in #115
- refactor: extract hardcoded disk, network, secret, and SSH strings into named constants by @mrhillsman in #117
- feat: add version subcommand and fix goreleaser docker config by @mrhillsman in #132
- fix(ci): use Makefile targets in CI and upgrade to Go 1.26 by @mrhillsman in #133
- fix: signal handling, DV/PVC cleanup, and namespace label patching by @mrhillsman in #134
- fix(cmd): reuse workload instances for service creation by @mrhillsman in #135
- refactor: extract orchestration logic into internal/orchestrator by @mrhillsman in #136
- perf(orchestrator): parallelize cloud-init secret creation by @mrhillsman in #137
- feat(audit): add schema migration strategy for audit database by @mrhillsman in #138
- fix: log audit recording errors instead of silently discarding them by @mrhillsman in #139
- feat: validate workload names upfront and add VM creation concurrency limit by @mrhillsman in #140
- feat(workloads): replace Roles() with RoleDistribution() on MultiVMWorkload by @mrhillsman in #141
- test(cmd/virtwork): increase test coverage from 11% to 85% by @mrhillsman in #147
- refactor(cmd/virtwork): remove duplicate and misplaced tests by @mrhillsman in #149
- feat(audit): replace mattn/go-sqlite3 with modernc.org/sqlite to remove CGO dependency by @mrhillsman in #152
- feat(release): add multi-platform builds for Linux ARM64 and macOS by @mrhillsman in #153
Full Changelog: v0.0.1...v1.0.0
Released by GoReleaser.
v0.0.1
What's Changed
- docs: add motivation section in README.md by @OchiengEd in #20
- feat: add dry run option for cleanup subcommand by @OchiengEd in #21
- docs: add virtwork vs kube-burner comparison by @mrhillsman in #22
- chore: Add OWNERS file for approval and review by @mrhillsman in #23
- add config for golangci-lint by @OchiengEd in #24
- refactor: rewrite code to unset VIRTWORK_* environment variables by @OchiengEd in #27
- disable modernize recommending swapping interface{} with any by @OchiengEd in #28
- Linter fixes by @OchiengEd in #29
- Fix: Use MatchError() from Gomega to compare errors by @OchiengEd in #30
- add initial github action workflows by @OchiengEd in #34
- add a release workflow powered by goreleaser by @OchiengEd in #35
- fix: set buildx as default builder for attestation support by @mrhillsman in #37
New Contributors
- @OchiengEd made their first contribution in #20
- @mrhillsman made their first contribution in #22
Full Changelog: https://github.com/opdev/virtwork/commits/v0.0.1