Skip to content

Releases: opdev/virtwork

v1.2

Choose a tag to compare

@github-actions github-actions released this 15 Jun 01:11

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 validate subcommand for catalog entries by @mrhillsman in #205

Full Changelog: v1.1...v1.2


Released by GoReleaser.

v1.1

Choose a tag to compare

@github-actions github-actions released this 14 Jun 20:16
0a6f86c

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

Choose a tag to compare

@github-actions github-actions released this 11 Jun 02:53

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

Choose a tag to compare

@mrhillsman mrhillsman released this 02 Jun 02:12

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

Choose a tag to compare

@github-actions github-actions released this 30 May 16:30

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

Choose a tag to compare

@github-actions github-actions released this 30 May 16:51
ed251fa

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

Choose a tag to compare

@mrhillsman mrhillsman released this 18 Mar 22:45

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

Full Changelog: https://github.com/opdev/virtwork/commits/v0.0.1