Skip to content

Releases: kyverno/chainsaw

v0.2.2

21 May 18:37
e80ebb2

Choose a tag to compare

‼️ Breaking changes ‼️

  • finally block now executes when the step terminates. It was supposed to work like this from the beginning but was not properly working. The cleanup block was introduced to execute operations when a test terminates instead.

💫 New features 💫

  • Added cleanup handlers support to register custom cleanup operations to run when a test terminates

🔧 Fixes 🔧

  • Use namespaceTemplate from configuration if provided

📚 Docs 📚

  • Improved home page
  • Added scroll to top button
  • Improved navigation bar
  • Fixed dark/light color schemes and added system preference support
  • Added links to Slack and X/Twitter links in the footer
  • Removed the blog
  • Rewrote most of the Getting Started pages

What's Changed

  • fix: Use config file namespaceTemplate if set (cherry-pick #1279) by @gcp-cherry-pick-bot in #1293
  • feat: improve home page (cherry-pick #1292) by @gcp-cherry-pick-bot in #1297
  • fix: disable instant nav (cherry-pick #1298) by @gcp-cherry-pick-bot in #1299
  • fix: improve home page (cherry-pick #1300) by @gcp-cherry-pick-bot in #1301
  • fix: mike (cherry-pick #1302) by @gcp-cherry-pick-bot in #1304
  • fix: improve home (cherry-pick #1303) by @gcp-cherry-pick-bot in #1305
  • chore: remove blog (cherry-pick #1310) by @gcp-cherry-pick-bot in #1311
  • chore: move community page to its own tab (cherry-pick #1312) by @gcp-cherry-pick-bot in #1313
  • chore: improve install page (cherry-pick #1315) by @gcp-cherry-pick-bot in #1317
  • chore(deps): Bump actions/checkout from 4.1.5 to 4.1.6 (cherry-pick #1316) by @gcp-cherry-pick-bot in #1318
  • chore: add missing adopters to the home page (cherry-pick #1319) by @gcp-cherry-pick-bot in #1320
  • chore: rework introduction (cherry-pick #1321) by @gcp-cherry-pick-bot in #1322
  • chore: add resource templating into (cherry-pick #1323) by @gcp-cherry-pick-bot in #1324
  • chore: improve assertions quick start (cherry-pick #1326) by @gcp-cherry-pick-bot in #1329
  • chore: restructure the getting started guide (cherry-pick #1330) by @gcp-cherry-pick-bot in #1331
  • chore: improve next steps page (cherry-pick #1332) by @gcp-cherry-pick-bot in #1333
  • chore: improve timeouts quick start (cherry-pick #1334) by @gcp-cherry-pick-bot in #1335
  • chore: improve bindings page (cherry-pick #1336) by @gcp-cherry-pick-bot in #1337
  • chore: improve try catch finally page (cherry-pick #1338) by @gcp-cherry-pick-bot in #1339
  • fix: linter issues (cherry-pick #1345) by @gcp-cherry-pick-bot in #1346
  • chore(deps): Bump github/codeql-action from 2.13.4 to 3.25.5 (cherry-pick #1342) by @gcp-cherry-pick-bot in #1344
  • chore(deps): Bump github/codeql-action from 3.25.5 to 3.25.6 (cherry-pick #1350) by @gcp-cherry-pick-bot in #1353
  • chore(deps): Bump codecov/codecov-action from 4.4.0 to 4.4.1 (cherry-pick #1348) by @gcp-cherry-pick-bot in #1356
  • docs: resource templating docs (cherry-pick #1354) by @gcp-cherry-pick-bot in #1357
  • chore(deps): Bump anchore/sbom-action from 0.15.11 to 0.16.0 (cherry-pick #1349) by @gcp-cherry-pick-bot in #1359
  • docs: operation outputs page (cherry-pick #1358) by @gcp-cherry-pick-bot in #1360
  • docs: add placeholder for advanced use cases (cherry-pick #1361) by @gcp-cherry-pick-bot in #1363
  • fix: catch/finally execution order (cherry-pick #1351) by @gcp-cherry-pick-bot in #1362
  • feat: add cleanup handler (cherry-pick #1364) by @gcp-cherry-pick-bot in #1367
  • chore: update release notes (cherry-pick #1369) by @gcp-cherry-pick-bot in #1372
  • docs: add cleanup docs (cherry-pick #1368) by @gcp-cherry-pick-bot in #1371
  • release: v0.2.2 (cherry-pick #1376) by @gcp-cherry-pick-bot in #1377

Full Changelog: v0.2.1...v0.2.2

v0.2.2-beta.1

21 May 15:11
1d4741a

Choose a tag to compare

v0.2.2-beta.1 Pre-release
Pre-release

Changelog

v0.2.1

15 May 22:57
f9065d7

Choose a tag to compare

‼️ Breaking changes ‼️

  • Resource templating is now enabled by default

💫 New features 💫

  • Added --pause-on-failure flag to pause when a test failure happens (to ease troubleshooting)
  • Improved cleanup management logic, alternating catch, finally and @cleanup per step
  • Added support for registering clusters dynamically, useful when a cluster is created in a test step

🔧 Fixes 🔧

  • Fixed issue with cluster incorrectly registered
  • Force background deletion propagation policy (useful when testing unmanaged Job)

What's Changed

  • chore: update issue templates (cherry-pick #1238) by @gcp-cherry-pick-bot in #1239
  • chore(deps): Bump anchore/sbom-action from 0.15.10 to 0.15.11 (cherry-pick #1229) by @gcp-cherry-pick-bot in #1240
  • chore(deps): Bump codecov/codecov-action from 4.3.0 to 4.3.1 (cherry-pick #1233) by @gcp-cherry-pick-bot in #1241
  • chore(deps): Bump golangci/golangci-lint-action from 5.0.0 to 5.1.0 (cherry-pick #1230) by @gcp-cherry-pick-bot in #1243
  • chore(deps): Bump actions/setup-go from 5.0.0 to 5.0.1 (cherry-pick #1245) by @gcp-cherry-pick-bot in #1246
  • feat: add pause on failure option (cherry-pick #1247) by @gcp-cherry-pick-bot in #1248
  • chore(deps): Bump golangci/golangci-lint-action from 5.1.0 to 5.3.0 (cherry-pick #1250) by @gcp-cherry-pick-bot in #1251
  • chore(deps): Bump zgosalvez/github-actions-ensure-sha-pinned-actions from 3.0.4 to 3.0.5 (cherry-pick #1249) by @gcp-cherry-pick-bot in #1252
  • chore(deps): Bump actions/checkout from 4.1.4 to 4.1.5 (cherry-pick #1254) by @gcp-cherry-pick-bot in #1259
  • chore(deps): Bump golangci/golangci-lint-action from 5.3.0 to 6.0.1 (cherry-pick #1257) by @gcp-cherry-pick-bot in #1260
  • chore(deps): Bump aquasecurity/trivy-action from 0.19.0 to 0.20.0 (cherry-pick #1258) by @gcp-cherry-pick-bot in #1261
  • feat: enable templating by default (cherry-pick #1264) by @gcp-cherry-pick-bot in #1265
  • chore(deps): Bump goreleaser/goreleaser-action from 5.0.0 to 5.1.0 (cherry-pick #1266) by @gcp-cherry-pick-bot in #1268
  • feat: force background propagation deletion (cherry-pick #1267) by @gcp-cherry-pick-bot in #1269
  • feat: add direct cluster config support (cherry-pick #1207) by @gcp-cherry-pick-bot in #1270
  • chore(deps): Bump codecov/codecov-action from 4.3.1 to 4.4.0 (cherry-pick #1271) by @gcp-cherry-pick-bot in #1273
  • chore(deps): Bump github.com/fatih/color from 1.16.0 to 1.17.0 (cherry-pick #1272) by @gcp-cherry-pick-bot in #1274
  • fix: make sure we resolve cluster only once (cherry-pick #1276) by @gcp-cherry-pick-bot in #1277
  • chore: update release notes (cherry-pick #1280) by @gcp-cherry-pick-bot in #1281
  • chore: update docs (cherry-pick #1282) by @gcp-cherry-pick-bot in #1283
  • release: v0.2.1 (cherry-pick #1284) by @gcp-cherry-pick-bot in #1286
  • chore: add v0.2.1 in bug reports template (cherry-pick #1285) by @gcp-cherry-pick-bot in #1288
  • release: v0.2.1 (cherry-pick #1287) by @gcp-cherry-pick-bot in #1289

Full Changelog: v0.2.0...v0.2.1

v0.2.0

02 May 11:43
8fb7732

Choose a tag to compare

‼️ Breaking changes ‼️

  • Deprecated TestStep resource support was removed as well as the related command chainsaw migrate tests

💫 New features 💫

  • Added support to wait with jsonpath conditions
  • Introduced v1alpha2 version for configuration, both v1alpha1 and v1alpha2 are supported with a conversion system
  • Rewrote quick-start guide leveraging chainsaw capabilities using relevant usecases

🔧 Fixes 🔧

  • Fixed issue with update operation failing because resource version not set correctly
  • Fixed wait operation timeout passing the timeout value to the underlying kubectl command
  • Fixed wait operation condition incorrectly formatted with quotes
  • Fixed issue reading files from embedded file systems on Windows
  • Fixed incorrect JUnit report format

🎸 Misc 🎸

  • Switched a release branch worflow

📚 Docs 📚

  • Added missing cluster doc

What's Changed

  • Brew formula update for chainsaw version v0.1.9 by @github-actions in #1117
  • chore: add v0.1.9 to issue templates by @eddycharly in #1119
  • chore(deps): Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by @dependabot in #1113
  • chore: add json_parse to match in Outputs docs by @johnathan-sq in #1123
  • chore(deps): Bump k8s.io/api from 0.29.2 to 0.29.3 by @dependabot in #1125
  • chore(deps): Bump k8s.io/client-go from 0.29.2 to 0.29.3 by @dependabot in #1126
  • chore(deps): Bump sigs.k8s.io/kubectl-validate from 0.0.2-0.20240102223437-fe143bcde89f to 0.0.3 by @dependabot in #1122
  • chore: fixing assertion docs links by @johnathan-sq in #1129
  • chore(deps): Bump slsa-framework/slsa-github-generator from 1.9.0 to 1.9.1 by @dependabot in #1132
  • chore(deps): Bump slsa-framework/slsa-github-generator from 1.9.1 to 1.10.0 by @dependabot in #1134
  • docs: Updated installation doc for nix package manager by @siddhikhapare in #1135
  • chore(deps): Bump codecov/codecov-action from 4.1.0 to 4.1.1 by @dependabot in #1136
  • chore(deps): Bump anchore/sbom-action from 0.15.9 to 0.15.10 by @dependabot in #1137
  • chore(deps): Bump aquasecurity/trivy-action from 0.18.0 to 0.19.0 by @dependabot in #1138
  • feat: remove test step support by @eddycharly in #1131
  • fix: wait timeout by @eddycharly in #1141
  • fix: wait timeout by @eddycharly in #1142
  • fix: issue reading files from embedded file systems on windows by @eddycharly in #1144
  • chore(deps): Bump codecov/codecov-action from 4.1.1 to 4.2.0 by @dependabot in #1145
  • chore: update resources with Viktor video by @eddycharly in #1148
  • chore: Add Provider Ceph to ADOPTERS.md by @nolancon in #1150
  • chore(deps): Bump sigs.k8s.io/controller-runtime from 0.17.2 to 0.17.3 by @dependabot in #1151
  • chore(deps): Bump zgosalvez/github-actions-ensure-sha-pinned-actions from 3.0.3 to 3.0.4 by @dependabot in #1149
  • chore: Add Linode CAPI to ADOPTERS.md by @mhmxs in #1152
  • chore(deps): Bump codecov/codecov-action from 4.2.0 to 4.3.0 by @dependabot in #1155
  • chore(deps): Bump sigstore/cosign-installer from 3.4.0 to 3.5.0 by @dependabot in #1157
  • chore(deps): Bump k8s.io/api from 0.29.3 to 0.29.4 by @dependabot in #1164
  • chore(deps): Bump github.com/hashicorp/go-getter from 1.7.3 to 1.7.4 by @dependabot in #1161
  • chore(deps): Bump k8s.io/client-go from 0.29.3 to 0.29.4 by @dependabot in #1162
  • docs: updated quick-start guide leveraging chainsaw capabilities using relevant usecase by @Manoramsharma in #1154
  • chore: remove ds store files by @eddycharly in #1165
  • chore: add check milestone job by @eddycharly in #1166
  • feat: add wait for jsonpath support by @eddycharly in #1167
  • fix: add missing cluster docs by @eddycharly in #1168
  • feat: introduce v1alpha2 api by @eddycharly in #1169
  • fix: shell expansion in wait with json path condition by @eddycharly in #1170
  • chore: remove direct dependency to kyverno by @eddycharly in #1176
  • chore: remove kyverno dependency by @eddycharly in #1177
  • fix: set resource version when updating by @eddycharly in #1178
  • feat: add conversion support by @eddycharly in #1175
  • chore: use v1alpha2 config in e2e tests by @eddycharly in #1179
  • chore(deps): Bump actions/upload-artifact from 4.3.1 to 4.3.2 (cherry-pick #1182) by @gcp-cherry-pick-bot in #1183
  • chore: update jobs to work on release branches (cherry-pick #1180) by @gcp-cherry-pick-bot in #1184
  • chore(deps): Bump actions/download-artifact from 4.1.4 to 4.1.5 (cherry-pick #1181) by @gcp-cherry-pick-bot in #1185
  • chore: disable semantics pr check for cherry pick bot (cherry-pick #1186) by @gcp-cherry-pick-bot in #1187
  • chore: fix ci jobs (cherry-pick #1188) by @gcp-cherry-pick-bot in #1189
  • fix: junit reports (cherry-pick #1190) by @gcp-cherry-pick-bot in #1191
  • chore(deps): Bump actions/checkout from 4.1.2 to 4.1.3 (cherry-pick #1192) by @gcp-cherry-pick-bot in #1194
  • chore(deps): Bump actions/upload-artifact from 4.3.2 to 4.3.3 (cherry-pick #1197) by @gcp-cherry-pick-bot in #1198
  • chore(deps): Bump actions/download-artifact from 4.1.5 to 4.1.6 (cherry-pick #1195) by @gcp-cherry-pick-bot in #1199
  • chore(deps): Bump github.com/kudobuilder/kuttl from 0.15.0 to 0.16.0 (cherry-pick #1193) by @gcp-cherry-pick-bot in #1200
  • fix: windows issue (cherry-pick #1201) by @gcp-cherry-pick-bot in #1202
  • docs: document command args quote behavior (cherry-pick #1208) by @gcp-cherry-pick-bot in #1209
  • docs: add Linode COSI to ADOPTERS.md (cherry-pick #1215) by @gcp-cherry-pick-bot in #1216
  • chore(deps): Bump actions/checkout from 4.1.3 to 4.1.4 (cherry-pick #1212) by @gcp-cherry-pick-bot in #1217
  • chore(deps): Bump actions/download-artifact from 4.1.6 to 4.1.7 (cherry-pick #1213) by @gcp-cherry-pick-bot in #1218
  • chore(deps): Bump golangci/golangci-lint-action from 4.0.0 to 5.0.0 (cherry-pick #1210) by @gcp-cherry-pick-bot in #1219
  • chore: bump a couple of deps (cherry-pick #1220) by @gcp-cherry-pick-bot in #1221
  • cherry-pick: release 0.2 by @eddycharly in #1222
  • chore: update release notes (cherry-pick #1223) by @gcp-cherry-pick-bot in #1224
  • chore(deps): Bump slsa-framework/slsa-github-generator from 1.10.0 to 2.0.0 (cherry-pick #1196) by @gcp-cherry-pick-bot in #1225
  • chore: use upstream kubectl-validate (cherry-pick #1226) by @gcp-cherry-pick-bot in #1227
  • release: v0.2.0 by @eddycharly in #1234

New Contributors

Full Changelog: v0.1.9...v0.2.0

v0.2.0-alpha.1

23 Apr 19:45
037f62b

Choose a tag to compare

v0.2.0-alpha.1 Pre-release
Pre-release

Changelog

v0.1.9

14 Mar 09:22
9668d99

Choose a tag to compare

💫 New features 💫

  • Added new update operation
  • Added outputs support in create, apply, patch and update operations
  • Added match support in command and script operations outputs
  • Added templating support in bindings and outputs names
  • Added templating support in env names
  • Added templating support in resource reference in all collectors
  • Added templating support for all string fields in all collectors
  • Added bindings running test info bindings
  • Removed bindings forbidden names (be careful if you override a built-in binding name)
  • Relaxed format field validation in collectors to support templating
  • Relaxed bindings name field validation to support templating
  • Relaxed env name field validation to support templating
  • Added bindings and outputs in build docs command

🔧 Fixes 🔧

  • Fixed a resource templating issue in non-resource assertions
  • Fixed test level bindings evaluated too early, potentially failing to resolve $namespace dependency
  • Fixed diff not templated in case of assert failure
  • Fixed resource templating always enabled in create operation, regardless of the configured template field
  • Fixed resource templating always enabled in patch operation, regardless of the configured template field
  • Added missing operations to the build docs command template
  • Added test-level catch statements to the build docs command template
  • Added binding name validation markers
  • Fixed build docs command for files with multiple tests
  • Fixed migrate kuttl ... commands printing diagnostics to stdout instead of stderr
  • Relaxed step file discovery regular expression to allow names with one or more digit prefixes

⭐ Examples ⭐

  • Added an example showcasing x_k8s_server_version usage

What's Changed

New Contributors

Full Changelog: v0.1.8...v0.1.9

v0.1.9-alpha.1

13 Mar 22:54
f616ebe

Choose a tag to compare

v0.1.9-alpha.1 Pre-release
Pre-release

Changelog

v0.1.8

05 Mar 11:25
7ee4368

Choose a tag to compare

💫 New features 💫

  • Support both .yaml and .yml extensions for chainsaw test files
  • Support specifying apiVersion and kind in collectors (working with resources should be considered deprecated)
  • Support all namespaces in collectors (by specifying namespace: '*')
  • Added outputs support in script and command operations
  • Added support to specify catch blocks at the configuration and test levels
  • Support waiting all in wait operation
  • Added x_k8s_server_version JMESPath function to fetch underlying cluster version
  • Added $config built-in binding mapping to the underlying cluster client rest config

🔧 Fixes 🔧

  • Fixed x_k8s_resource_exists JMESPath function not correctly processing apiVersion
  • Fixed x_k8s_exists JMESPath function not correctly processing apiVersion and kind
  • Fixed x_k8s_list JMESPath function not correctly exposing unstructured content
  • Detect clustered resources in collectors to ignore namespace
  • Fixed validation of checks in scripts
  • Added missing validation of bindings

🎸 Misc 🎸

  • Enabled cherry-pick bot

What's Changed

Full Changelog: v0.1.7...v0.1.8

v0.1.8-alpha.1

04 Mar 16:17
f4dab47

Choose a tag to compare

v0.1.8-alpha.1 Pre-release
Pre-release

Changelog

v0.1.7

28 Feb 15:48
6453598

Choose a tag to compare

💫 New features 💫

  • Added support for custom bindings (local variables) at the test, step and operation level
  • Added support for custom environment variables in script and command operations
  • Added a new wait operation to invoke kubectl wait ... (supported in try, catch and finally)
  • Added support for loading resources from a file in chainsaw assert command

🔧 Fixes 🔧

  • Fixed report path configuration not being used when saving a report
  • Fixed wrong base image used in released docker image (missing kubectl and sh)
  • Prevent double extension in the report output file
  • Fixed a potential crash related to reports
  • Fixed potentially missing operations in reports

🎸 Misc 🎸

  • Temporary KUBECONFIG files are now created in /tmp folder
  • Stopped overriding the PATH environment variable

📚 Docs 📚

  • Added chainsaw capabilities in the quick start guide

What's Changed

New Contributors

Full Changelog: v0.1.6...v0.1.7