Compare commits

..

578 Commits

Author SHA1 Message Date
dependabot[bot] c923201c9f
chore(deps): bump github/codeql-action from 3.29.7 to 3.29.8 (#2420)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.7 to 3.29.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](51f77329af...76621b61de)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-13 11:28:03 +02:00
dependabot[bot] 79b6709e2d
chore(deps): bump actions/checkout from 4.2.2 to 5.0.0 (#2421)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](11bd71901b...08c6903cd8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-13 08:26:13 +00:00
Karthik Manam 787e5aa4b9
test: add unit tests for operations/errors package (#2306)
Add unit tests for the resource error type in the operations/errors package to improve test coverage.

The tests verify:

- Basic resource error creation and message formatting

- Handling of template values in error messages

- Behavior with invalid templates

These tests help ensure error messages maintain their expected format and content.

Signed-off-by: Karthik babu Manam <karthikmanam@gmail.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-08-12 14:38:42 +02:00
Charles-Edouard Brétéché c3e918eae1
fix: docs codegen (#2419)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-08-11 17:54:00 +02:00
Karthik Manam fcdd8da755
docs: add examples for parse_json and to_boolean functions (#2338)
Signed-off-by: Karthik babu Manam <karthikmanam@gmail.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-08-11 17:38:30 +02:00
dependabot[bot] c03f744625
chore(deps): bump k8s.io/apiextensions-apiserver in /hack/controller-gen (#2415)
Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.32.3 to 0.33.3.
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.32.3...v0.33.3)

---
updated-dependencies:
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-version: 0.33.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 15:35:53 +00:00
Charles-Edouard Brétéché b602c7e3a4
chore: bump kube deps (#2408)
* chore: bump kube deps

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-08-11 17:10:51 +02:00
dependabot[bot] 354baeb734
chore(deps): bump github.com/go-logr/logr from 1.4.2 to 1.4.3 (#2417)
Bumps [github.com/go-logr/logr](https://github.com/go-logr/logr) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/go-logr/logr/releases)
- [Changelog](https://github.com/go-logr/logr/blob/master/CHANGELOG.md)
- [Commits](https://github.com/go-logr/logr/compare/v1.4.2...v1.4.3)

---
updated-dependencies:
- dependency-name: github.com/go-logr/logr
  dependency-version: 1.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 14:54:52 +00:00
Charles-Edouard Brétéché 210f67e40f
feat: bump codegen tools (#2413)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-08-08 19:40:26 +02:00
dependabot[bot] 7b90b0c1b6
chore(deps): bump github.com/spf13/pflag from 1.0.6 to 1.0.7 (#2410)
Bumps [github.com/spf13/pflag](https://github.com/spf13/pflag) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/spf13/pflag/releases)
- [Commits](https://github.com/spf13/pflag/compare/v1.0.6...v1.0.7)

---
updated-dependencies:
- dependency-name: github.com/spf13/pflag
  dependency-version: 1.0.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 13:18:47 +00:00
dependabot[bot] 6ff9d759f4
chore(deps): bump aquasecurity/trivy-action from 0.30.0 to 0.32.0 (#2411)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.30.0 to 0.32.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](6c175e9c40...dc5a429b52)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-version: 0.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 12:58:51 +00:00
dependabot[bot] bf1a17fd0e
chore(deps): bump svenstaro/upload-release-action from 2.9.0 to 2.11.2 (#2412)
Bumps [svenstaro/upload-release-action](https://github.com/svenstaro/upload-release-action) from 2.9.0 to 2.11.2.
- [Release notes](https://github.com/svenstaro/upload-release-action/releases)
- [Changelog](https://github.com/svenstaro/upload-release-action/blob/master/CHANGELOG.md)
- [Commits](04733e069f...81c65b7cd4)

---
updated-dependencies:
- dependency-name: svenstaro/upload-release-action
  dependency-version: 2.11.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 12:48:31 +00:00
dependabot[bot] d2caa8cdf5
chore(deps): bump github.com/prometheus/common from 0.63.0 to 0.65.0 (#2391)
---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-version: 0.65.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 13:08:19 +00:00
Muhammad Sheryar Butt efa0fffa88
docs: fix typos in concurrency documentation (#2397)
Signed-off-by: sheryarbutt <m.sheryarbutt@gmail.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-08-07 12:42:11 +00:00
dependabot[bot] 80f988ee45
chore(deps): bump codecov/codecov-action from 5.4.2 to 5.4.3 (#2379)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.4.2 to 5.4.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](ad3126e916...18283e04ce)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 5.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 10:54:28 +00:00
dependabot[bot] d8598992a0
chore(deps): bump actions/setup-go from 5.4.0 to 5.5.0 (#2370)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](0aaccfd150...d35c59abb0)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 5.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 10:40:56 +00:00
dependabot[bot] b5b747053d
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2381)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.24 to 3.0.25.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](2d6823da40...fc87bb5b5a)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-version: 3.0.25
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 10:27:48 +00:00
dependabot[bot] c975dcc68b
chore(deps): bump sigstore/cosign-installer from 3.8.2 to 3.9.2 (#2406)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.8.2 to 3.9.2.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](3454372f43...d58896d6a1)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-version: 3.9.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 10:16:08 +00:00
dependabot[bot] 3c18804a4a
chore(deps): bump actions/download-artifact from 4.3.0 to 5.0.0 (#2407)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.3.0 to 5.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](d3f86a106a...634f93cb29)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 10:05:33 +00:00
Tyler Auerbeck 2ebca820bb
chore(deps): bump golangci-lint to v2 (#2398)
Signed-off-by: Tyler Auerbeck <tylerauerbeck@users.noreply.github.com>
Co-authored-by: Tyler Auerbeck <tylerauerbeck@users.noreply.github.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-08-07 09:54:44 +00:00
dependabot[bot] 3c23435ab3
chore(deps): bump anchore/sbom-action from 0.19.0 to 0.20.4 (#2402)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.19.0 to 0.20.4.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](9f73021414...7b36ad622f)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-version: 0.20.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 09:28:59 +00:00
dependabot[bot] fa007ee411
chore(deps): bump github/codeql-action from 3.28.17 to 3.29.5 (#2405)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.17 to 3.29.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](60168efe1c...51f77329af)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 11:09:00 +02:00
Ondrej Kokes bab727ee05
docs: Do not use pipes in comments, they won't be rendered in Markdown tables (#2365)
* Do not use pipes in comments, they won't be rendered in Markdown tables

Signed-off-by: Ondrej Kokes <ondrej.kokes@gmail.com>

* commas, not slashes

Signed-off-by: Ondrej Kokes <ondrej.kokes@gmail.com>

---------

Signed-off-by: Ondrej Kokes <ondrej.kokes@gmail.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-05-06 20:07:13 +00:00
dependabot[bot] 77c12f7cd6
chore(deps): bump sigstore/cosign-installer from 3.8.1 to 3.8.2 (#2355)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](d7d6bc7722...3454372f43)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-version: 3.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 21:25:17 +00:00
dependabot[bot] 5bccfa414c
chore(deps): bump actions/download-artifact from 4.2.1 to 4.3.0 (#2361)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.2.1 to 4.3.0.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](95815c38cf...d3f86a106a)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 21:14:48 +00:00
dependabot[bot] 809cbbcf9c
chore(deps): bump anchore/sbom-action from 0.18.0 to 0.19.0 (#2362)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.18.0 to 0.19.0.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](f325610c9f...9f73021414)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-version: 0.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 21:04:04 +00:00
dependabot[bot] b71b2cd0ee
chore(deps): bump golang.org/x/net in /hack/controller-gen (#2367)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.37.0 to 0.38.0.
- [Commits](https://github.com/golang/net/compare/v0.37.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.38.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-05-05 22:53:12 +02:00
dependabot[bot] 983cfa61de
chore(deps): bump github/codeql-action from 3.28.15 to 3.28.17 (#2364)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.15 to 3.28.17.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](45775bd823...60168efe1c)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.17
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 19:44:47 +00:00
dependabot[bot] 53ea7ae4ee
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2366)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.23 to 3.0.24.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](4830be28ce...2d6823da40)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-version: 3.0.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 21:32:35 +02:00
dependabot[bot] dfe952c4b7
chore(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 (#2352)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.37.0 to 0.38.0.
- [Commits](https://github.com/golang/net/compare/v0.37.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.38.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-17 22:42:42 +00:00
dependabot[bot] 72c0a05595
chore(deps): bump ko-build/setup-ko from 0.8 to 0.9 (#2348)
Bumps [ko-build/setup-ko](https://github.com/ko-build/setup-ko) from 0.8 to 0.9.
- [Release notes](https://github.com/ko-build/setup-ko/releases)
- [Commits](d982fec422...d006021bd0)

---
updated-dependencies:
- dependency-name: ko-build/setup-ko
  dependency-version: '0.9'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15 18:11:15 +02:00
dependabot[bot] ad8cfdcc88
chore(deps): bump codecov/codecov-action from 5.4.0 to 5.4.2 (#2349)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.4.0 to 5.4.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](0565863a31...ad3126e916)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 5.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-15 16:50:20 +02:00
Karthik Manam 63dfbdc6d3
docs: fix grammatical issue in README Community Meetings section (#2340)
Signed-off-by: Karthik babu Manam <karthikmanam@gmail.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-04-08 20:30:37 +00:00
Karthik Manam 7e78f4118b
docs: fix Kubernetes URL typo in run-tests.md (#2339)
Signed-off-by: Karthik babu Manam <karthikmanam@gmail.com>
2025-04-08 20:09:07 +00:00
Karthik Manam 02960c38cf
docs: add documentation comments to JMESPath Kubernetes functions (#2341)
Signed-off-by: Karthik babu Manam <karthikmanam@gmail.com>
2025-04-08 11:49:09 +00:00
dependabot[bot] b8ad80b1d2
chore(deps): bump github/codeql-action from 3.28.13 to 3.28.15 (#2346)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.13 to 3.28.15.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](1b549b9259...45775bd823)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-08 13:13:18 +02:00
dependabot[bot] 4432b2d300
chore(deps): bump goreleaser/goreleaser-action from 6.2.1 to 6.3.0 (#2337)
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](90a3faa9d0...9c156ee8a1)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 14:08:42 +00:00
dependabot[bot] d7f079f4d7
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2336)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.22 to 3.0.23.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](25ed13d062...4830be28ce)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 14:42:00 +01:00
dependabot[bot] 76f2cd3338
chore(deps): bump aquasecurity/trivy-action from 0.29.0 to 0.30.0 (#2334)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.29.0 to 0.30.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](18f2510ee3...6c175e9c40)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-26 19:46:51 +00:00
dependabot[bot] c505780e00
chore(deps): bump actions/download-artifact from 4.1.8 to 4.2.1 (#2332)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.8 to 4.2.1.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](fa0a91b85d...95815c38cf)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-26 20:28:34 +01:00
dependabot[bot] 3f46fff124
chore(deps): bump sigstore/cosign-installer from 3.7.0 to 3.8.1 (#2333)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.7.0 to 3.8.1.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](dc72c7d5c4...d7d6bc7722)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-26 19:15:16 +00:00
dependabot[bot] 23d9658a05
chore(deps): bump actions/upload-artifact from 4.6.0 to 4.6.2 (#2331)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.0 to 4.6.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](65c4c4a1dd...ea165f8d65)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-26 20:04:57 +01:00
dependabot[bot] c38526b194
chore(deps): bump github.com/prometheus/common from 0.61.0 to 0.63.0 (#2330)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.61.0 to 0.63.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.61.0...v0.63.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-03-25 19:49:12 +00:00
dependabot[bot] 478efb086b
chore(deps): bump k8s.io/apiserver from 0.32.0 to 0.32.3 (#2328)
Bumps [k8s.io/apiserver](https://github.com/kubernetes/apiserver) from 0.32.0 to 0.32.3.
- [Commits](https://github.com/kubernetes/apiserver/compare/v0.32.0...v0.32.3)

---
updated-dependencies:
- dependency-name: k8s.io/apiserver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 20:26:09 +01:00
dependabot[bot] 7994fce982
chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.4 to 0.20.4 (#2327)
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.19.4 to 0.20.4.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.4...v0.20.4)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 16:19:28 +00:00
dependabot[bot] 1f4ec806e6
chore(deps): bump goreleaser/goreleaser-action from 6.1.0 to 6.2.1 (#2324)
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 6.1.0 to 6.2.1.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](9ed2f89a66...90a3faa9d0)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 15:50:49 +00:00
dependabot[bot] eae65169ae
chore(deps): bump slsa-framework/slsa-github-generator (#2323)
Bumps [slsa-framework/slsa-github-generator](https://github.com/slsa-framework/slsa-github-generator) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/slsa-framework/slsa-github-generator/releases)
- [Changelog](https://github.com/slsa-framework/slsa-github-generator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/slsa-framework/slsa-github-generator/compare/v2.0.0...v2.1.0)

---
updated-dependencies:
- dependency-name: slsa-framework/slsa-github-generator
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 16:39:07 +01:00
dependabot[bot] 38eb74776b
chore(deps): bump github/codeql-action from 3.28.12 to 3.28.13 (#2325)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.12 to 3.28.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](5f8171a638...1b549b9259)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-03-25 15:24:09 +00:00
dependabot[bot] 8458e289d1
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2326)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.20 to 3.0.22.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](c3a2b64f69...25ed13d062)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 15:58:26 +01:00
dependabot[bot] d6e3e2cf70
chore(deps): bump anchore/sbom-action from 0.17.9 to 0.18.0 (#2322)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.17.9 to 0.18.0.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](df80a981bc...f325610c9f)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 14:39:16 +00:00
Christopher Haar 71cac61ed2
fix(kube): add required interactivemode for exec (#2264)
* fix(kube): add required interactivemode for exec

Signed-off-by: Christopher Haar <christopher.haar@upbound.io>

* style(lint): fix linter for new golangci-lint

Signed-off-by: Christopher Haar <christopher.haar@upbound.io>

---------

Signed-off-by: Christopher Haar <christopher.haar@upbound.io>
Co-authored-by: Jim Bugwadia <jim@nirmata.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-03-25 09:09:21 +01:00
A. Singh de947f21dc
chore(deps): update dependencies and improve linter configuration (#2304)
* chore(deps): update actions/setup-go to v5.3.0, golangci-lint-action to v6.5.0

Signed-off-by: A. Singh <32884734+A-5ingh@users.noreply.github.com>

* chore(linter): replace exportloopref with copyloopvar and tenv with usetesting in .golangci.yml

Signed-off-by: A. Singh <32884734+A-5ingh@users.noreply.github.com>

* test(report): use t.TempDir() instead of os.MkdirTemp() in TestSave

Signed-off-by: A. Singh <32884734+A-5ingh@users.noreply.github.com>

---------

Signed-off-by: A. Singh <32884734+A-5ingh@users.noreply.github.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-03-25 00:36:57 +01:00
Charles-Edouard Brétéché 639647664a
chore: bump a couple of deps (#2321)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-03-25 00:04:54 +01:00
Karthik Manam baafd69f0b
docs: enhance shell completion documentation with practical examples (#2305)
Improve the documentation for shell completion by:

- Adding detailed step-by-step setup instructions for each supported shell (Bash, Zsh, Fish, PowerShell)

- Including both temporary and permanent setup options

- Providing clear examples with copy-paste ready commands

- Adding a section on testing completion functionality

- Organizing content with clear section headings

- Standardizing reference links to related documentation

This enhancement makes it easier for users to set up and use shell completion with Chainsaw, improving the overall user experience.

Signed-off-by: Karthik babu Manam <karthikmanam@gmail.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-03-24 22:21:44 +00:00
Ravish Rathod 0670f8dec3
doc: updated spell check (#2299)
Signed-off-by: Ravish Rathod <ravish.rathod@infosys.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-03-24 22:57:15 +01:00
Charles-Edouard Brétéché 9250ed5326
chore: bump a couple of deps (#2320)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-03-24 21:59:36 +01:00
dependabot[bot] 8b6858fa14
chore(deps): bump ko-build/setup-ko from 0.7 to 0.8 (#2269)
Bumps [ko-build/setup-ko](https://github.com/ko-build/setup-ko) from 0.7 to 0.8.
- [Release notes](https://github.com/ko-build/setup-ko/releases)
- [Commits](3aebd0597d...d982fec422)

---
updated-dependencies:
- dependency-name: ko-build/setup-ko
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 16:54:48 +00:00
dependabot[bot] fd3b4afccf
chore(deps): bump codecov/codecov-action from 5.1.2 to 5.4.0 (#2302)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.1.2 to 5.4.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](1e68e06f1d...0565863a31)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 17:08:27 +01:00
dependabot[bot] 1fb3b0d055
chore(deps): bump k8s.io/client-go from 0.32.0 to 0.32.3 (#2310)
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.32.0 to 0.32.3.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.32.0...v0.32.3)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 13:42:57 +00:00
dependabot[bot] 0d9649bfb3
chore(deps): bump golangci/golangci-lint-action from 6.1.1 to 6.5.2 (#2315)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.1.1 to 6.5.2.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](971e284b60...55c2c1448f)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 12:58:09 +00:00
dependabot[bot] 9223850b89
chore(deps): bump actions/setup-go from 5.2.0 to 5.4.0 (#2316)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.2.0 to 5.4.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](3041bf56c9...0aaccfd150)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 12:45:38 +00:00
Charles-Edouard Brétéché 496d4173fb
fix: golang ci lint (#2318)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-03-24 13:33:07 +01:00
dependabot[bot] 5ac242ceb7
chore(deps): bump github/codeql-action from 3.28.1 to 3.28.12 (#2317)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.1 to 3.28.12.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b6a472f63d...5f8171a638)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 12:36:57 +01:00
dependabot[bot] 57a4201085
chore(deps): bump github.com/hashicorp/go-getter from 1.7.6 to 1.7.8 (#2261)
Bumps [github.com/hashicorp/go-getter](https://github.com/hashicorp/go-getter) from 1.7.6 to 1.7.8.
- [Release notes](https://github.com/hashicorp/go-getter/releases)
- [Changelog](https://github.com/hashicorp/go-getter/blob/main/.goreleaser.yml)
- [Commits](https://github.com/hashicorp/go-getter/compare/v1.7.6...v1.7.8)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/go-getter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2025-01-16 04:30:56 +00:00
dependabot[bot] 019b877176
chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.3 to 0.19.4 (#2256)
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.19.3 to 0.19.4.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.3...v0.19.4)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 23:05:31 +00:00
dependabot[bot] d8d638129b
chore(deps): bump golang.org/x/net in /hack/controller-gen (#2265)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.30.0 to 0.33.0.
- [Commits](https://github.com/golang/net/compare/v0.30.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 22:54:39 +00:00
dependabot[bot] 5b45636bc4
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2259)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.18 to 3.0.20.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](6441882669...c3a2b64f69)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 22:45:10 +00:00
dependabot[bot] b36344859b
chore(deps): bump actions/upload-artifact from 4.5.0 to 4.6.0 (#2257)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](6f51ac03b9...65c4c4a1dd)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 21:45:10 +00:00
dependabot[bot] 60be808cda
chore(deps): bump github/codeql-action from 3.28.0 to 3.28.1 (#2260)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.0 to 3.28.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](48ab28a6f5...b6a472f63d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 14:15:17 +00:00
Charles-Edouard Brétéché bc982f8320
chore: bump kubectl-validate and deps (#2252)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-26 19:34:24 +01:00
dependabot[bot] 93f14ebe5c
chore(deps): bump codecov/codecov-action from 5.1.1 to 5.1.2 (#2249)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](7f8b4b4bde...1e68e06f1d)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-26 18:13:40 +00:00
dependabot[bot] dda88e999b
chore(deps): bump github/codeql-action from 3.27.9 to 3.28.0 (#2250)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.9 to 3.28.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](df409f7d92...48ab28a6f5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-26 18:01:38 +00:00
dependabot[bot] 939fe1833c
chore(deps): bump actions/upload-artifact from 4.4.3 to 4.5.0 (#2246)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.3 to 4.5.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](b4b15b8c7c...6f51ac03b9)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 12:54:49 +00:00
Charles-Edouard Brétéché bd3e7cd395
refactor: add namespacer in test context (#2247)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-18 13:44:11 +01:00
Charles-Edouard Brétéché fd11837f57
refactor: remove finally from action factory (#2245)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-18 10:21:07 +01:00
Charles-Edouard Brétéché 3abe1fced8
refactor: add base path in test context (#2244)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-18 00:40:07 +01:00
Charles-Edouard Brétéché 38c69531ff
refactor: introduce action factory (#2242)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-17 16:20:40 +01:00
Charles-Edouard Brétéché 9b108553da
chore: add unit tests (#2241)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-17 00:04:51 +01:00
Charles-Edouard Brétéché bc40b1f0f7
chore: add unit tests (#2240)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-16 13:21:23 +01:00
dependabot[bot] 9035ce6417
chore(deps): bump anchore/sbom-action from 0.17.8 to 0.17.9 (#2238)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.17.8 to 0.17.9.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](55dc4ee224...df80a981bc)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 11:43:34 +00:00
dependabot[bot] b2b2ab6713
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2239)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.17 to 3.0.18.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](5d6ac37a4c...6441882669)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 12:33:06 +01:00
Charles-Edouard Brétéché 9df3003deb
chore: add unit tests (#2237)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-16 11:51:13 +01:00
Charles-Edouard Brétéché d8845f136e
chore: add unit tests (#2236)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-14 00:14:25 +01:00
Charles-Edouard Brétéché f121618067
refactor: runner test processor (#2235)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-13 16:46:54 +01:00
dependabot[bot] 9cef44342a
chore(deps): bump golang.org/x/crypto from 0.30.0 to 0.31.0 (#2234)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.30.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-13 11:06:46 +00:00
dependabot[bot] dac0712e93
chore(deps): bump github/codeql-action from 3.27.7 to 3.27.9 (#2233)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.7 to 3.27.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](babb554ede...df409f7d92)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-13 10:54:41 +00:00
Charles-Edouard Brétéché 3f3276b668
chore: add unit tests (#2232)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-13 11:44:12 +01:00
Charles-Edouard Brétéché e3a0234d23
refactor: tests runner (#2231)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-12 23:41:28 +01:00
Charles-Edouard Brétéché 19434ceb34
refactor: move reports management into caller (#2230)
* refactor: move reports management into caller

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-12 21:51:24 +01:00
Charles-Edouard Brétéché 90d2e2c8c6
chore: add unit tests (#2229)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-12 13:31:21 +01:00
Charles-Edouard Brétéché 595060e332
chore: add unit tests (#2224)
* chore: add unit tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* report tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-12 11:48:27 +01:00
Charles-Edouard Brétéché 41b1966a91
chore: add unit tests (#2223)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-12 01:15:33 +01:00
Charles-Edouard Brétéché e44813dc4a
chore: add unit tests (#2222)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-12 00:32:16 +01:00
Charles-Edouard Brétéché e0fe5946cf
chore: add unit tests (#2221)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-11 23:47:48 +01:00
Charles-Edouard Brétéché 8891bf31e1
chore: add unit tests (#2220)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-11 23:09:53 +01:00
Charles-Edouard Brétéché 3078680efe
chore: add unit tests (#2219)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-11 21:42:43 +01:00
Charles-Edouard Brétéché f9a9f9dd60
chore: add unit tests (#2218)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-11 21:24:24 +01:00
Charles-Edouard Brétéché 461bddf61c
refactor: move test context creation to caller (#2217)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-11 18:05:29 +01:00
dependabot[bot] d7a79146d0
chore(deps): bump k8s.io/apiserver from 0.31.3 to 0.31.4 (#2212)
Bumps [k8s.io/apiserver](https://github.com/kubernetes/apiserver) from 0.31.3 to 0.31.4.
- [Commits](https://github.com/kubernetes/apiserver/compare/v0.31.3...v0.31.4)

---
updated-dependencies:
- dependency-name: k8s.io/apiserver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 17:02:15 +00:00
dependabot[bot] e2c56a0ecb
chore(deps): bump k8s.io/client-go from 0.31.3 to 0.31.4 (#2211)
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.31.3 to 0.31.4.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.31.3...v0.31.4)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 16:46:37 +00:00
dependabot[bot] 8bb564ee84
chore(deps): bump k8s.io/api from 0.31.3 to 0.31.4 (#2210)
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.31.3 to 0.31.4.
- [Commits](https://github.com/kubernetes/api/compare/v0.31.3...v0.31.4)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 16:03:40 +00:00
Charles-Edouard Brétéché d281b6e618
refactor: better logger (#2215)
* refactor: better logger

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-11 16:45:42 +01:00
dependabot[bot] c818f77884
chore(deps): bump actions/setup-go from 5.1.0 to 5.2.0 (#2213)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](41dfa10bad...3041bf56c9)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 15:33:03 +00:00
dependabot[bot] ed5c7aacdc
chore(deps): bump github/codeql-action from 3.27.6 to 3.27.7 (#2214)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.6 to 3.27.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](aa57810251...babb554ede)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 15:23:00 +00:00
Charles-Edouard Brétéché 3977046b0b
refactor: remove processors package (#2207)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-09 19:22:11 +01:00
Charles-Edouard Brétéché 05ef5b10e7
refactor: move context package in runner (#2206)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-09 15:45:19 +01:00
Mario Valderrama fe23bd0472
chore: bump go version (#2204)
Go stdlib version 1.23.0 contains a few CVEs.
I don't think they are actually exploitable, but the still show up on scan results.

Signed-off-by: Mario Valderrama <mario.valderrama@ionos.com>
2024-12-09 13:08:32 +00:00
Charles-Edouard Brétéché aa0a7bb181
refactor: replace failer with simple func (#2205)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-09 13:52:34 +01:00
Charles-Edouard Brétéché 2d80344c34
refactor: shrink failer interface (#2203)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-09 12:14:52 +01:00
Charles-Edouard Brétéché 58dbdbc308
refactor: introduce runner interface (#2202)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-09 11:43:58 +01:00
Charles-Edouard Brétéché c68f42bb02
refactor: remove testing context functions (#2201)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-09 10:38:39 +01:00
Charles-Edouard Brétéché 0acd1bdb3e
refactor: don't use FailNow and SkipNow (#2200)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-08 23:00:01 +01:00
Charles-Edouard Brétéché 366c1acf31
refactor: restructure processors (#2199)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-07 01:04:22 +01:00
Charles-Edouard Brétéché fe419e9a63
feat: treat scenarios as early bindings and support cluster templating (#2198)
* feat: treat scenarios as early bindings and support cluster templating

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-06 14:48:17 +01:00
Charles-Edouard Brétéché 4a27d4f659
refactor: remove config from processors (#2197)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-06 11:22:18 +01:00
dependabot[bot] b285ae4cbf
chore(deps): bump codecov/codecov-action from 5.0.7 to 5.1.1 (#2196)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.0.7 to 5.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](015f24e681...7f8b4b4bde)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-06 10:10:39 +00:00
Charles-Edouard Brétéché ef85df2772
refactor: add timeouts in test context (#2195)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-06 10:59:32 +01:00
Charles-Edouard Brétéché aa474dc4a7
refactor: context setup (#2194)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-05 23:32:28 +01:00
Charles-Edouard Brétéché 57be38138d
refactor: add full name in test context (#2193)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-05 18:59:23 +01:00
Charles-Edouard Brétéché 3efa453777
refactor: add fail fast in test context (#2192)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-05 18:31:56 +01:00
Charles-Edouard Brétéché e29a5e78dd
docs: add jp functions examples (#2191)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-05 17:31:26 +01:00
Noe Thalheim 006ea0967c
chore(docs): add required try block (#2186)
Signed-off-by: Noe Thalheim <noe@bespinian.io>
2024-12-05 14:53:13 +00:00
Charles-Edouard Brétéché b488897eb6
refactor: add catch in test context (#2190)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-05 15:41:58 +01:00
Charles-Edouard Brétéché 86321cd75d
refactor: add termination grace in test context (#2189)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-05 15:07:20 +01:00
Charles-Edouard Brétéché 24c568610a
refactor: add delay before cleanup in test context (#2188)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-05 14:04:44 +01:00
Charles-Edouard Brétéché 2314b2fca0
refactor: add deletion propagation in test context (#2187)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-05 13:02:29 +01:00
Charles-Edouard Brétéché aaadec5414
refactor: add templating to test context (#2185)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-05 12:19:19 +01:00
dependabot[bot] 88bfaf4d46
chore(deps): bump github.com/prometheus/common from 0.60.1 to 0.61.0 (#2183)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.60.1 to 0.61.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.60.1...v0.61.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 10:28:44 +00:00
Charles-Edouard Brétéché 6421092a10
refactor: add skip delete in test context (#2184)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-05 11:17:39 +01:00
github-actions[bot] 61b9b0a846
Brew formula update for chainsaw version v0.2.12 (#2181)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-12-04 21:21:11 +01:00
Charles-Edouard Brétéché 6459cd84a7
release: v0.2.12 (#2176)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-04 14:06:58 +01:00
dependabot[bot] d7c5d6cbd3
chore(deps): bump github.com/kudobuilder/kuttl from 0.19.0 to 0.20.0 (#2178)
Bumps [github.com/kudobuilder/kuttl](https://github.com/kudobuilder/kuttl) from 0.19.0 to 0.20.0.
- [Release notes](https://github.com/kudobuilder/kuttl/releases)
- [Changelog](https://github.com/kudobuilder/kuttl/blob/main/RELEASE.md)
- [Commits](https://github.com/kudobuilder/kuttl/compare/v0.19.0...v0.20.0)

---
updated-dependencies:
- dependency-name: github.com/kudobuilder/kuttl
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 12:21:14 +00:00
dependabot[bot] a6dbce538b
chore(deps): bump k8s.io/apiextensions-apiserver in /hack/controller-gen (#2180)
Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.31.2 to 0.31.3.
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.31.2...v0.31.3)

---
updated-dependencies:
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 12:09:52 +00:00
dependabot[bot] 994bcf8864
chore(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#2179)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 10:11:58 +00:00
dependabot[bot] c0f4f08760
chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.1 to 0.19.3 (#2177)
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.19.1 to 0.19.3.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.1...v0.19.3)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 09:59:44 +00:00
dependabot[bot] 3a91d2de0c
chore(deps): bump github/codeql-action from 3.27.5 to 3.27.6 (#2175)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.5 to 3.27.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f09c1c0a94...aa57810251)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 09:48:11 +00:00
Charles-Edouard Brétéché 3a833705be
fix: step template bindings wrong order (#2174)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-04 09:40:27 +01:00
Charles-Edouard Brétéché 71141dc847
fix: build docs command (#2173)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-03 22:00:41 +01:00
Charles-Edouard Brétéché 3563f314f4
feat: add skip command output support (#2172)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-03 21:46:38 +01:00
Charles-Edouard Brétéché ab5f0a3bc3
fix: update codegen (#2171)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-03 17:32:58 +01:00
Bert Baron 2dc1aad8c3
fix: template-functions now correctly work for name, namespace and labels (#2140)
Signed-off-by: Bert Baron <bertusbaron@gmail.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-03 16:46:16 +01:00
Charles-Edouard Brétéché 961b0c7766
chore: fix typo in makefile (#2170)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-03 13:36:26 +01:00
Chris Bandy 303a9d23b6
fix: allow escaping dollar sign in command and script (#2130)
* Allow escaping dollar sign in command and script

The behavior of os.Expand is undefined and inconsistent for runs of
dollar signs U+0024. This treats pairs of dollar signs as an escape
representing one dollar sign. This matches Kubernetes' behavior for
container command and args fields.

Signed-off-by: Chris Bandy <bandy.chris@gmail.com>

* small changes

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Chris Bandy <bandy.chris@gmail.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-12-03 13:17:18 +01:00
dependabot[bot] c3eff17d44
chore(deps): bump k8s.io/apiserver from 0.31.1 to 0.31.3 (#2162)
Bumps [k8s.io/apiserver](https://github.com/kubernetes/apiserver) from 0.31.1 to 0.31.3.
- [Commits](https://github.com/kubernetes/apiserver/compare/v0.31.1...v0.31.3)

---
updated-dependencies:
- dependency-name: k8s.io/apiserver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 11:19:53 +00:00
dependabot[bot] 0ce4047440
chore(deps): bump k8s.io/client-go from 0.31.2 to 0.31.3 (#2161)
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.31.2 to 0.31.3.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.31.2...v0.31.3)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 11:07:46 +00:00
dependabot[bot] ecfde299b3
chore(deps): bump codecov/codecov-action from 5.0.4 to 5.0.7 (#2164)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.0.4 to 5.0.7.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](985343d705...015f24e681)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 09:10:06 +00:00
dependabot[bot] 8447d7911f
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2167)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.16 to 3.0.17.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](38608ef4fb...5d6ac37a4c)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 09:00:06 +00:00
dependabot[bot] 60d583d3f7
chore(deps): bump anchore/sbom-action from 0.17.7 to 0.17.8 (#2166)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.17.7 to 0.17.8.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](fc46e51fd3...55dc4ee224)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 08:50:01 +00:00
dependabot[bot] 90a7f9bf00
chore(deps): bump github/codeql-action from 3.27.4 to 3.27.5 (#2165)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.4 to 3.27.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](ea9e4e3799...f09c1c0a94)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 08:38:21 +00:00
dependabot[bot] ec5bbae20c
chore(deps): bump codecov/codecov-action from 5.0.2 to 5.0.4 (#2158)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.0.2 to 5.0.4.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](5c47607acb...985343d705)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-20 09:46:59 +00:00
dependabot[bot] 9831f99d43
chore(deps): bump aquasecurity/trivy-action from 0.28.0 to 0.29.0 (#2159)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.28.0 to 0.29.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](915b19bbe7...18f2510ee3)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-20 09:37:09 +00:00
dependabot[bot] 4b6cf19149
chore(deps): bump github.com/prometheus/common from 0.60.0 to 0.60.1 (#2144)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.60.0 to 0.60.1.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.60.0...v0.60.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-16 04:15:42 +00:00
dependabot[bot] 08ac0d8f58
chore(deps): bump codecov/codecov-action from 4.6.0 to 5.0.2 (#2151)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.6.0 to 5.0.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](b9fd7d16f6...5c47607acb)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-16 03:19:15 +00:00
dependabot[bot] 51955db339
chore(deps): bump sigs.k8s.io/controller-tools in /hack/controller-gen (#2147)
Bumps [sigs.k8s.io/controller-tools](https://github.com/kubernetes-sigs/controller-tools) from 0.16.4 to 0.16.5.
- [Release notes](https://github.com/kubernetes-sigs/controller-tools/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-tools/blob/main/envtest-releases.yaml)
- [Commits](https://github.com/kubernetes-sigs/controller-tools/compare/v0.16.4...v0.16.5)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-tools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-16 03:01:55 +00:00
dependabot[bot] 103b6ac7da
chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.0 to 0.19.1 (#2145)
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.19.0 to 0.19.1.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.0...v0.19.1)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15 19:49:47 -07:00
dependabot[bot] 7212894600
chore(deps): bump github/codeql-action from 3.27.0 to 3.27.4 (#2149)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.0 to 3.27.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](662472033e...ea9e4e3799)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-16 00:29:51 +00:00
dependabot[bot] 360b92a3fb
chore(deps): bump k8s.io/apiextensions-apiserver in /hack/controller-gen (#2123)
Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.31.1 to 0.31.2.
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.31.1...v0.31.2)

---
updated-dependencies:
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-10 12:46:49 +00:00
dependabot[bot] 1e60f26fcc
chore(deps): bump k8s.io/client-go from 0.31.1 to 0.31.2 (#2121)
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.31.1 to 0.31.2.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.31.1...v0.31.2)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-09 22:15:45 +00:00
dependabot[bot] dd7648a5dc
chore(deps): bump actions/setup-go from 5.0.2 to 5.1.0 (#2124)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](0a12ed9d6a...41dfa10bad)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-09 10:23:30 +00:00
dependabot[bot] 8e88768403
chore(deps): bump actions/checkout from 4.2.1 to 4.2.2 (#2118)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](eef61447b9...11bd71901b)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-09 10:13:28 +00:00
dependabot[bot] 7911bf8496
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2129)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.15 to 3.0.16.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](ed00f72a3c...38608ef4fb)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-09 09:58:42 +00:00
dependabot[bot] 61a8df3c77
chore(deps): bump anchore/sbom-action from 0.17.5 to 0.17.7 (#2132)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.17.5 to 0.17.7.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](1ca97d9028...fc46e51fd3)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-09 09:49:18 +00:00
dependabot[bot] da8a094b04
chore(deps): bump goreleaser/goreleaser-action from 6.0.0 to 6.1.0 (#2135)
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](286f3b13b1...9ed2f89a66)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-09 09:39:39 +00:00
dependabot[bot] 54d8d44491
chore(deps): bump github.com/fatih/color from 1.17.0 to 1.18.0 (#2113)
Bumps [github.com/fatih/color](https://github.com/fatih/color) from 1.17.0 to 1.18.0.
- [Release notes](https://github.com/fatih/color/releases)
- [Commits](https://github.com/fatih/color/compare/v1.17.0...v1.18.0)

---
updated-dependencies:
- dependency-name: github.com/fatih/color
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-24 08:23:52 +00:00
dependabot[bot] 693f455928
chore(deps): bump github/codeql-action from 3.26.13 to 3.27.0 (#2114)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.13 to 3.27.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f779452ac5...662472033e)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23 12:57:59 +00:00
dependabot[bot] c8da404aac
chore(deps): bump anchore/sbom-action from 0.17.4 to 0.17.5 (#2112)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.17.4 to 0.17.5.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](8d0a6505bf...1ca97d9028)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23 14:48:08 +02:00
dependabot[bot] 04788e7879
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2108)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.14 to 3.0.15.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](40ba2d51b6...ed00f72a3c)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-21 13:37:00 +00:00
Charles-Edouard Brétéché ef236f6c70
fix: trivy db (#2109)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-10-21 15:19:36 +02:00
dependabot[bot] 12698261f0
chore(deps): bump aquasecurity/trivy-action from 0.27.0 to 0.28.0 (#2106)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.27.0 to 0.28.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](5681af892c...915b19bbe7)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 11:27:11 +00:00
dependabot[bot] 0b9476e14f
chore(deps): bump actions/upload-artifact from 4.4.2 to 4.4.3 (#2095)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.2 to 4.4.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](84480863f2...b4b15b8c7c)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 08:16:40 +00:00
dependabot[bot] b3ef058b74
chore(deps): bump sigs.k8s.io/controller-tools in /hack/controller-gen (#2096)
Bumps [sigs.k8s.io/controller-tools](https://github.com/kubernetes-sigs/controller-tools) from 0.16.3 to 0.16.4.
- [Release notes](https://github.com/kubernetes-sigs/controller-tools/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-tools/blob/main/envtest-releases.yaml)
- [Commits](https://github.com/kubernetes-sigs/controller-tools/compare/v0.16.3...v0.16.4)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-tools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 10:04:09 +02:00
dependabot[bot] fec1d54534
chore(deps): bump github/codeql-action from 3.26.12 to 3.26.13 (#2099)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.12 to 3.26.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](c36620d31a...f779452ac5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 07:39:32 +00:00
dependabot[bot] 3e60a55118
chore(deps): bump anchore/sbom-action from 0.17.2 to 0.17.4 (#2100)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.17.2 to 0.17.4.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](61119d458a...8d0a6505bf)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 09:19:45 +02:00
dependabot[bot] 1585687cc7
chore(deps): bump aquasecurity/trivy-action from 0.26.0 to 0.27.0 (#2097)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.26.0 to 0.27.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](a20de5420d...5681af892c)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 08:58:11 +02:00
dependabot[bot] e1ffa7eafb
chore(deps): bump actions/upload-artifact from 4.4.1 to 4.4.2 (#2089)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.1 to 4.4.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](604373da63...84480863f2)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 13:07:24 +00:00
dependabot[bot] e11804b29f
chore(deps): bump aquasecurity/trivy-action from 0.25.0 to 0.26.0 (#2090)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.25.0 to 0.26.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](f781cce5aa...a20de5420d)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 12:57:07 +00:00
dependabot[bot] e26262cfa7
chore(deps): bump github.com/google/cel-go from 0.20.1 to 0.21.0 (#2091)
Bumps [github.com/google/cel-go](https://github.com/google/cel-go) from 0.20.1 to 0.21.0.
- [Release notes](https://github.com/google/cel-go/releases)
- [Commits](https://github.com/google/cel-go/compare/v0.20.1...v0.21.0)

---
updated-dependencies:
- dependency-name: github.com/google/cel-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 14:43:25 +02:00
Charles-Edouard Brétéché 7545f461f7
feat: add k8s cel libs (#2086)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-10-08 14:43:13 +02:00
Charles-Edouard Brétéché 2c3d27852f
feat: bump kyverno-json (#2084)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-10-08 14:13:04 +02:00
dependabot[bot] b5fcc779d6
chore(deps): bump actions/checkout from 4.2.0 to 4.2.1 (#2078)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](d632683dd7...eef61447b9)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 10:52:44 +00:00
dependabot[bot] 8d773783c4
chore(deps): bump actions/upload-artifact from 4.4.0 to 4.4.1 (#2077)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.0 to 4.4.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](50769540e7...604373da63)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 10:42:00 +00:00
dependabot[bot] beb0f63197
chore(deps): bump aquasecurity/trivy-action from 0.24.0 to 0.25.0 (#2076)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.24.0 to 0.25.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](6e7b7d1fd3...f781cce5aa)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 10:31:43 +00:00
dependabot[bot] f9588b77b8
chore(deps): bump github/codeql-action from 3.26.11 to 3.26.12 (#2079)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.11 to 3.26.12.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](6db8d6351f...c36620d31a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 12:21:07 +02:00
dependabot[bot] 8d94591f03
chore(deps): bump sigstore/cosign-installer from 3.6.0 to 3.7.0 (#2072)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](4959ce089c...dc72c7d5c4)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 15:17:30 +00:00
dependabot[bot] 639aec0bee
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2073)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.13 to 3.0.14.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](b8f9a25a51...40ba2d51b6)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 15:06:34 +00:00
dependabot[bot] d248745e9e
chore(deps): bump github/codeql-action from 3.26.10 to 3.26.11 (#2070)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.10 to 3.26.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e2b3eafc8d...6db8d6351f)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-04 11:57:44 +02:00
dependabot[bot] b9ef52207f
chore(deps): bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 (#2068)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](aaa42aa062...971e284b60)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-03 12:25:06 +02:00
dependabot[bot] 6b7c694ec9
chore(deps): bump github.com/prometheus/common from 0.59.1 to 0.60.0 (#2065)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.59.1 to 0.60.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.59.1...v0.60.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 11:57:43 +00:00
dependabot[bot] 0ad76501e7
chore(deps): bump codecov/codecov-action from 4.5.0 to 4.6.0 (#2064)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](e28ff129e5...b9fd7d16f6)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 11:47:30 +00:00
github-actions[bot] 252a45f9a0
Brew formula update for chainsaw version v0.2.11 (#2062)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-10-02 09:58:53 +02:00
Charles-Edouard Brétéché 2224d46478
release: v0.2.11 (#2060)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-10-02 09:13:46 +02:00
Charles-Edouard Brétéché fb9f55f9df
chore: update release notes (#2058)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-10-01 21:39:53 +02:00
Charles-Edouard Brétéché 7c5e0c687a
docs: add more jp functions examples (#2055)
* docs: add more jp functions examples

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* docs: add more jp functions examples

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-10-01 15:17:33 +02:00
dependabot[bot] 0f01d17313
chore(deps): bump github/codeql-action from 3.26.9 to 3.26.10 (#2054)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.9 to 3.26.10.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](461ef6c76d...e2b3eafc8d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 15:06:36 +02:00
Charles-Edouard Brétéché 06375030e4
chore: bump jp lib (#2052)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-30 20:32:50 +02:00
Charles-Edouard Brétéché e70c040abe
feat: add cel test (#2049)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-30 13:11:25 +02:00
Charles-Edouard Brétéché f11987801c
feat: add default compiler at the operation api level (#2047)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-30 12:47:28 +02:00
dependabot[bot] dbbe5e83e0
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#2045)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.12 to 3.0.13.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](0901cf7b71...b8f9a25a51)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-30 09:49:21 +00:00
Charles-Edouard Brétéché e876efe102
feat: add compiler at the step api level (#2043)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-30 11:13:34 +02:00
Charles-Edouard Brétéché 2a11382f7b
feat: add default compiler at the test api level (#2041)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-30 10:25:15 +02:00
Charles-Edouard Brétéché e8e95e2b77
feat: add default compiler flag (#2039)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-30 10:01:28 +02:00
Charles-Edouard Brétéché 072a531bab
feat: add compiler field in configuration api (#2037)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-29 21:50:38 +02:00
Charles-Edouard Brétéché d56d81b19a
feat: add compiler to the namespace template api (#2035)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-29 16:18:20 +02:00
Charles-Edouard Brétéché 4f2bc3cd17
feat: add compiler to the binding api (#2033)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-29 14:43:57 +02:00
Charles-Edouard Brétéché 75ed8df8d6
feat: add cel support (#2031)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-28 11:17:18 +02:00
Charles-Edouard Brétéché 1d2d64bc85
feat: add CEL support in assertion trees (#2029)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-28 10:56:59 +02:00
Charles-Edouard Brétéché ba6a01a907
feat: bump kyverno-json (#2027)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-27 20:55:42 +02:00
Charles-Edouard Brétéché e7877e98d5
feat: bump kyverno-json (#2025)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-27 15:42:36 +02:00
Charles-Edouard Brétéché 21e113d7c3
feat: add sharding support (#2023)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-27 11:44:24 +02:00
Charles-Edouard Brétéché 0bf4992677
docs: add jp funcs docs in menu (#2021)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-26 16:32:12 +02:00
Charles-Edouard Brétéché ae17c4fe4d
feat: embed jp functions docs (#1980)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-26 15:53:57 +02:00
Charles-Edouard Brétéché 804435f82a
feat: improve jp docs (#2018)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-26 15:00:50 +02:00
dependabot[bot] 8b1ade57b5
chore(deps): bump actions/checkout from 4.1.7 to 4.2.0 (#2015)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](692973e3d9...d632683dd7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-26 12:07:32 +02:00
Charles-Edouard Brétéché ca9426508b
fix: no-cluster option (#2014)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-26 11:57:27 +02:00
Charles-Edouard Brétéché b310d8c250
chore: update kind to 1.31 (#2012)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-26 11:27:35 +02:00
dependabot[bot] f46e488d55
chore(deps): bump github/codeql-action from 3.26.8 to 3.26.9 (#2010)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.8 to 3.26.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](294a9d9291...461ef6c76d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-25 19:44:53 +00:00
Amir Blum 81916ce8e6
chore: add odigos to adopters (#2009)
Signed-off-by: Amir Blum <amirgiraffe@gmail.com>
2024-09-25 19:34:18 +00:00
dependabot[bot] 0cf92f710b
chore(deps): bump github/codeql-action from 3.26.7 to 3.26.8 (#2004)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.7 to 3.26.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](8214744c54...294a9d9291)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 10:09:28 +00:00
Charles-Edouard Brétéché a9d1db95df
fix: exit code when failing in root test run (#2002)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-19 10:12:14 +02:00
github-actions[bot] ac253919dc
Brew formula update for chainsaw version v0.2.10 (#1999)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-09-17 10:39:30 +02:00
Charles-Edouard Brétéché 0621e0a2c7
release: v0.2.10 (#1997)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-17 09:40:54 +02:00
Charles-Edouard Brétéché ce3f6923a2
chore: update release notes (#1995)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-16 21:16:04 +02:00
Charles-Edouard Brétéché ae96478fe6
feat: add bindings support to step templates (#1985)
* feat: add bindings support to step templates

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix comment

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-16 15:10:21 +02:00
dependabot[bot] 01c20fb152
chore(deps): bump k8s.io/apiextensions-apiserver in /hack/controller-gen (#1989)
Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.31.0 to 0.31.1.
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.31.0...v0.31.1)

---
updated-dependencies:
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 14:52:15 +02:00
dependabot[bot] ddb186fb5a
chore(deps): bump sigs.k8s.io/controller-tools in /hack/controller-gen (#1990)
Bumps [sigs.k8s.io/controller-tools](https://github.com/kubernetes-sigs/controller-tools) from 0.16.1 to 0.16.3.
- [Release notes](https://github.com/kubernetes-sigs/controller-tools/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-tools/blob/main/envtest-releases.yaml)
- [Commits](https://github.com/kubernetes-sigs/controller-tools/compare/v0.16.1...v0.16.3)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-tools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 12:41:45 +00:00
Charles-Edouard Brétéché 404084144e
fix: dependabot gomod directories (#1987)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-16 14:32:00 +02:00
Charles-Edouard Brétéché 351e47a97a
fix: make template required in step template (#1984)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-16 14:17:23 +02:00
Charles-Edouard Brétéché 0cd5fa6113
feat: remove v1alpha2 tests api for now (#1982)
* feat: remove v1alpha2 tests api for now

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-16 13:52:40 +02:00
dependabot[bot] 8a946b8ae8
chore(deps): bump github/codeql-action from 3.26.6 to 3.26.7 (#1979)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.6 to 3.26.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](4dd16135b6...8214744c54)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 12:12:46 +02:00
Charles-Edouard Brétéché 4f78603f81
refactor: junit report structure (#1977)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-13 17:14:36 +02:00
Charles-Edouard Brétéché 6cebaf49ff
feat: add test cleanup to report (#1975)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-13 15:02:13 +02:00
Charles-Edouard Brétéché fca3457948
feat: move cleanup in separate report steps (#1973)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-13 13:08:47 +02:00
Charles-Edouard Brétéché 5914bccdb6
feat: operation type to report (#1971)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-13 11:40:37 +02:00
Charles-Edouard Brétéché 652e62cf1d
refactor: reports failures propagation (#1969)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-13 11:12:57 +02:00
Charles-Edouard Brétéché 30883c276e
feat: add cleanup operations in reports (#1966)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-13 10:46:53 +02:00
Charles-Edouard Brétéché 3d33acbcae
feat: improve json report format (#1964)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-13 10:21:57 +02:00
Charles-Edouard Brétéché de0a5f0b65
refactor: decouple operation execution from failer (#1958) (#1962)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-13 09:39:00 +02:00
Charles-Edouard Brétéché 686432be5b
refactor: failure propagation in reports (#1960)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-12 22:36:39 +02:00
Charles-Edouard Brétéché f342f73fb6
refactor: decouple operation execution from failer (#1958)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-12 18:16:27 +02:00
Charles-Edouard Brétéché 864c63880f
refactor: report system (#1956)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-12 17:42:37 +02:00
Charles-Edouard Brétéché 45a1a42c40
feat: restructure junit reports (#1954)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-12 16:50:57 +02:00
Charles-Edouard Brétéché c6c7e3cbdd
feat: use jstemmer/go-junit-report (#1951)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-12 15:36:27 +02:00
Charles-Edouard Brétéché 24b27445d1
fix: reports system (#1950)
* fix: reports system

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fixes

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-12 14:22:14 +02:00
dependabot[bot] dbced8a8c7
chore(deps): bump k8s.io/client-go from 0.31.0 to 0.31.1 (#1947)
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.31.0 to 0.31.1.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.31.0...v0.31.1)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-12 08:30:11 +00:00
dependabot[bot] 37595bf9aa
chore(deps): bump k8s.io/api from 0.31.0 to 0.31.1 (#1945)
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.31.0 to 0.31.1.
- [Commits](https://github.com/kubernetes/api/compare/v0.31.0...v0.31.1)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-12 08:00:51 +00:00
Charles-Edouard Brétéché c10b2431e6
chore: remove checkout when uploading to codecov (#1942)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-11 16:27:23 +02:00
James Lucktaylor 7f2229e75e
Update bindings.md with 'x_k8s_get()' example (#1915)
* Update bindings.md with 'x_k8s_get()' example

Added a commented example on how to bind other objects with the 'x_k8s_get()' function, then refer and assert against.

Signed-off-by: James Lucktaylor <jlucktay@users.noreply.github.com>

* docs: move x_k8s_get example to its own page

Signed-off-by: James Lucktaylor <jlucktay+github@gmail.com>

* restructure

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: James Lucktaylor <jlucktay@users.noreply.github.com>
Signed-off-by: James Lucktaylor <jlucktay+github@gmail.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-11 15:40:22 +02:00
Charles-Edouard Brétéché e178df0335
fix: default report name not set correctly (#1939)
* chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#1936)

Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.11 to 3.0.12.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](3c16e895bb...0901cf7b71)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix: default report name not set correctly

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-11 14:44:49 +02:00
dependabot[bot] 3159301d8c
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#1936)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.11 to 3.0.12.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](3c16e895bb...0901cf7b71)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-07 12:06:05 +00:00
github-actions[bot] cbddf600af
Brew formula update for chainsaw version v0.2.9 (#1934)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-09-06 17:24:19 +02:00
Charles-Edouard Brétéché 17a636ee5c
release: v0.2.9 (#1931)
* release: v0.2.9

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* goreleaser version

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-06 16:54:17 +02:00
Charles-Edouard Brétéché 58ba6bd7a2
chore: update release notes (#1928)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-06 16:28:40 +02:00
Charles-Edouard Brétéché 11530fff85
chore: update goreleaser config (#1926)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-06 15:50:20 +02:00
Charles-Edouard Brétéché 4be9942ee9
fix: lint different versions (#1924)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-06 15:14:50 +02:00
dependabot[bot] ab00abbc06
chore(deps): bump github.com/prometheus/common from 0.58.0 to 0.59.1 (#1922)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.58.0 to 0.59.1.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.58.0...v0.59.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 11:24:04 +02:00
Charles-Edouard Brétéché 4de43dd227
feat: work dir override follow-up (#1920)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-06 10:32:43 +02:00
Sergen Yalçın 2d2fcf47a6
feat: Add workDir API to the script and command operation APIs to make parametrize the working directory (#1913)
* Add workDir API to the script and command operation APIs to make parametrize the working directory

Signed-off-by: Sergen Yalçın <yalcinsergen97@gmail.com>

* update codegen

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Sergen Yalçın <yalcinsergen97@gmail.com>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-06 09:51:09 +02:00
dependabot[bot] 54866f9138
chore(deps): bump github.com/prometheus/common from 0.57.0 to 0.58.0 (#1914)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.57.0 to 0.58.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.57.0...v0.58.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 15:00:40 +02:00
Charles-Edouard Brétéché dd89a42096
feat: add ppc64le and s390x builds (#1910)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-09-03 01:22:00 +02:00
dependabot[bot] b652b82fd7
chore(deps): bump github.com/kudobuilder/kuttl from 0.18.0 to 0.19.0 (#1905)
Bumps [github.com/kudobuilder/kuttl](https://github.com/kudobuilder/kuttl) from 0.18.0 to 0.19.0.
- [Release notes](https://github.com/kudobuilder/kuttl/releases)
- [Changelog](https://github.com/kudobuilder/kuttl/blob/main/RELEASE.md)
- [Commits](https://github.com/kudobuilder/kuttl/compare/v0.18.0...v0.19.0)

---
updated-dependencies:
- dependency-name: github.com/kudobuilder/kuttl
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 11:34:12 +00:00
dependabot[bot] 684ebc1e00
chore(deps): bump actions/upload-artifact from 4.3.6 to 4.4.0 (#1904)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](834a144ee9...50769540e7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 13:21:54 +02:00
dependabot[bot] 0e4b3e1b11
chore(deps): bump github.com/prometheus/common from 0.56.0 to 0.57.0 (#1900)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.56.0 to 0.57.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.56.0...v0.57.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 09:58:17 +02:00
dependabot[bot] fa480f5274
chore(deps): bump github/codeql-action from 3.26.5 to 3.26.6 (#1901)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.5 to 3.26.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](2c779ab0d0...4dd16135b6)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 07:42:45 +00:00
dependabot[bot] a5e637397d
chore(deps): bump github.com/prometheus/common from 0.55.0 to 0.56.0 (#1898)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.55.0 to 0.56.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.55.0...v0.56.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-28 16:29:26 +02:00
Charles-Edouard Brétéché 5abe84c8f1
feat: add server side validation support (#1894)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-28 00:34:58 +02:00
Charles-Edouard Brétéché aa9468fee7
feat: bump kubectl-validate and k8s to 1.31 (#1892)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-27 23:35:05 +02:00
Charles-Edouard Brétéché 6dbc53abe4
chore: bump a couple of deps (#1889)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-27 02:05:39 +02:00
Charles-Edouard Brétéché c638f6469f
fix: make wait for jsonpath value optional (#1887)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-27 00:46:54 +02:00
Charles-Edouard Brétéché 7093e0cc28
feat: add go 1.23 support (#1881)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-27 00:15:13 +02:00
dependabot[bot] adab74f53c
chore(deps): bump github/codeql-action from 3.26.4 to 3.26.5 (#1879)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.4 to 3.26.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f0f3afee80...2c779ab0d0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 09:37:31 +00:00
dependabot[bot] bbee980f37
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#1880)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.10 to 3.0.11.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](b88cd0aad2...3c16e895bb)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 09:27:25 +00:00
dependabot[bot] a5b1fddb6a
chore(deps): bump anchore/sbom-action from 0.17.1 to 0.17.2 (#1872)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.17.1 to 0.17.2.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Commits](ab9d16d4b4...61119d458a)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-25 13:31:50 +00:00
dependabot[bot] 5e047e8152
chore(deps): bump github/codeql-action from 3.26.2 to 3.26.4 (#1873)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.2 to 3.26.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](429e197704...f0f3afee80)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-25 15:21:52 +02:00
dependabot[bot] 694827fd9e
chore(deps): bump github.com/hashicorp/go-getter from 1.7.5 to 1.7.6 (#1865)
Bumps [github.com/hashicorp/go-getter](https://github.com/hashicorp/go-getter) from 1.7.5 to 1.7.6.
- [Release notes](https://github.com/hashicorp/go-getter/releases)
- [Changelog](https://github.com/hashicorp/go-getter/blob/main/.goreleaser.yml)
- [Commits](https://github.com/hashicorp/go-getter/compare/v1.7.5...v1.7.6)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/go-getter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-16 18:07:12 +01:00
dependabot[bot] 7a97e6a37b
chore(deps): bump anchore/sbom-action from 0.17.0 to 0.17.1 (#1853)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.17.0 to 0.17.1.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Commits](d94f46e13c...ab9d16d4b4)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-14 23:34:24 +01:00
dependabot[bot] 0c6223e6d9
chore(deps): bump github/codeql-action from 3.26.0 to 3.26.2 (#1861)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.0 to 3.26.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](eb055d739a...429e197704)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-14 22:05:57 +00:00
dependabot[bot] 51bf6ba3bc
chore(deps): bump sigs.k8s.io/controller-runtime from 0.18.4 to 0.18.5 (#1850)
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.18.4 to 0.18.5.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.18.4...v0.18.5)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-14 22:54:25 +01:00
Charles-Edouard Brétéché 4d132f91be
feat: add begin, end, and warning log statuses (#1848)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-12 23:48:26 +01:00
Charles-Edouard Brétéché 4124072173
feat: compile expressions when unmarshaling (#1845)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-12 22:06:16 +01:00
Charles-Edouard Brétéché 7fb94ad995
feat: migrate to new expressions (#1843)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-10 23:25:45 +01:00
Charles-Edouard Brétéché 92ec50d170
feat: add expression method to get value (#1841)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-10 23:13:40 +01:00
Charles-Edouard Brétéché 6c8e9470e6
feat: simplify string expressions management (#1839)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-10 22:36:29 +01:00
Charles-Edouard Brétéché 8e36f27b7e
feat: add type for string expressions (#1837)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-09 10:32:27 +01:00
Charles-Edouard Brétéché 556385b200
feat: support templating in files (#1826)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-08 21:19:09 +01:00
dependabot[bot] e7d0047c2d
chore(deps): bump sigstore/cosign-installer from 3.5.0 to 3.6.0 (#1832)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](59acb6260d...4959ce089c)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-08 19:39:36 +00:00
dependabot[bot] d6b957aebc
chore(deps): bump actions/upload-artifact from 4.3.4 to 4.3.6 (#1829)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.4 to 4.3.6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](0b2256b8c0...834a144ee9)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-08 19:29:28 +00:00
dependabot[bot] 722b68647b
chore(deps): bump github/codeql-action from 3.25.15 to 3.26.0 (#1828)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.15 to 3.26.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](afb54ba388...eb055d739a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-08 19:13:06 +01:00
Charles-Edouard Brétéché 4b8269d714
refactor: more engine package (#1824)
* chore: add unit tests (#1815)

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* refactor: more engine package

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-02 23:50:50 +02:00
Charles-Edouard Brétéché f2cc745f60
chore: add unit tests (#1821)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-08-01 00:53:34 +02:00
Charles-Edouard Brétéché f53dafcea0
chore: add unit tests (#1819)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-31 18:03:16 +02:00
Charles-Edouard Brétéché cbf26e0171
chore: add unit tests (#1815)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-31 17:06:27 +02:00
github-actions[bot] 24088b55a7
Brew formula update for chainsaw version v0.2.8 (#1816)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-07-31 16:29:49 +02:00
Charles-Edouard Brétéché b9d6bcae5b
release: v0.2.8 (#1812)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-31 15:57:47 +02:00
Charles-Edouard Brétéché 2951ca20db
chore: add unit tests (#1811)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-31 15:38:02 +02:00
Charles-Edouard Brétéché db55f26619
fix: openapi2jsonschema strict mode (#1809)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-31 15:09:43 +02:00
Charles-Edouard Brétéché fa067b0f25
fix: propagation policy (#1806)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-31 02:39:53 +02:00
Charles-Edouard Brétéché 6cfcb423d3
chore: bump kyverno-json (#1802)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-30 17:10:43 +02:00
Charles-Edouard Brétéché b462e511a5
chore: add unit tests (#1800)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-30 16:39:45 +02:00
Charles-Edouard Brétéché 7dab320cfc
chore: add unit tests (#1798)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-30 15:47:40 +02:00
Charles-Edouard Brétéché 147a062d13
chore: add unit tests (#1794)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-30 15:12:53 +02:00
Charles-Edouard Brétéché badb0f8735
chore: bump kyverno-json (#1793)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-30 15:02:03 +02:00
Charles-Edouard Brétéché 9b63b864d8
fix: bump kyverno-json (#1791)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-30 14:12:17 +02:00
dependabot[bot] eab2035ba0
chore(deps): bump golangci/golangci-lint-action from 6.0.1 to 6.1.0 (#1789)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.0.1 to 6.1.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](a4f60bb28d...aaa42aa062)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-30 11:37:50 +02:00
Charles-Edouard Brétéché 6ea7051839
fix: use strict json schemas (#1784)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-30 02:45:43 +02:00
Charles-Edouard Brétéché bc87c470a5
refactor: templating packages (#1783)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-30 01:55:27 +02:00
Charles-Edouard Brétéché c578df870b
refactor: test context (#1781)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-30 01:07:01 +02:00
Charles-Edouard Brétéché 080cb14cee
refactor: test context (#1779)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 23:24:45 +02:00
Charles-Edouard Brétéché 76a7c20ce2
refactor: processors (#1777)
* refactor: engine bindings

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* refactor: processors

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* context data

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* rm dead code

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 20:31:56 +02:00
Charles-Edouard Brétéché 2129593e70
refactor: engine bindings (#1775)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 19:00:33 +02:00
Charles-Edouard Brétéché 4fbfa30af3
chore: add unit tests (#1773)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 17:31:27 +02:00
Charles-Edouard Brétéché 9f6eb3270b
refactor: engine context (#1771)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 15:32:12 +02:00
Charles-Edouard Brétéché de6ba2088b
chore: add unit tests (#1765)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 14:07:20 +02:00
Charles-Edouard Brétéché 77adfadd41
refactor: namespacer interface (#1768)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 13:24:11 +02:00
dependabot[bot] 2659d1acf5
chore(deps): bump github/codeql-action from 3.25.14 to 3.25.15 (#1766)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.14 to 3.25.15.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](5cf07d8b70...afb54ba388)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-29 11:46:01 +02:00
Charles-Edouard Brétéché 1f6bf6ff30
chore: add unit tests (#1763)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 09:40:08 +02:00
Charles-Edouard Brétéché a331548664
chore: add unit tests (#1761)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 02:39:10 +02:00
Charles-Edouard Brétéché 8be8931110
chore: add unit tests (#1759)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 01:49:06 +02:00
Charles-Edouard Brétéché 5a192aa95c
chore: add cleaner unit tests (#1757)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-29 01:00:07 +02:00
Charles-Edouard Brétéché 9f5ea20454
chore: improve codecov config (#1755)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-28 23:57:05 +02:00
Charles-Edouard Brétéché 1618d0aee9
feat: delay operation loading until execution (#1753)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-28 23:35:43 +02:00
Charles-Edouard Brétéché 56bb8611f2
chore: bump a couple of deps (#1751)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-28 20:30:43 +02:00
Charles-Edouard Brétéché 49f95eddd4
chore: bump a couple of deps (#1749)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-28 11:36:13 +02:00
Charles-Edouard Brétéché e74dd6af1d
refactor: timeout management (#1747)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-27 01:55:01 +02:00
Charles-Edouard Brétéché b0d0c4f072
feat: add failfast support per test (#1745)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-26 14:29:50 +02:00
Charles-Edouard Brétéché dbfe50e124
refactor: dry run management (#1743)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-26 11:15:33 +02:00
Charles-Edouard Brétéché 4a667d2735
fix: operation info not registered before other bindings (#1741)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-26 00:15:17 +02:00
dependabot[bot] a398c1f9f7
chore(deps): bump github/codeql-action from 3.25.13 to 3.25.14 (#1735)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.13 to 3.25.14.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](2d790406f5...5cf07d8b70)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-25 13:24:17 +00:00
Charles-Edouard Brétéché b73ab00483
feat: use string pointer for cluster in step and actions (#1738)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-25 14:58:55 +02:00
Charles-Edouard Brétéché f2fbf2f115
refactor: test context setup (#1736)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-25 14:21:35 +02:00
Charles-Edouard Brétéché 919468c1f5
refactor: more test context (#1733)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-25 00:25:38 +02:00
Charles-Edouard Brétéché 4be728e237
refactor: more engine package (#1731)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 17:41:02 +02:00
Charles-Edouard Brétéché 702f07ca1d
refactor: more test context (#1729)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 17:03:37 +02:00
Charles-Edouard Brétéché e114afa485
refactor: more test context (#1727)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 15:10:05 +02:00
Charles-Edouard Brétéché f9063af1c9
refactor: introduce engine package (#1725)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 14:55:37 +02:00
Charles-Edouard Brétéché 89a409aefe
refactor: fail fast management (#1723)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 13:50:19 +02:00
Charles-Edouard Brétéché 8b2c16716f
refactor: cleanup management (#1721)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 11:58:34 +02:00
Charles-Edouard Brétéché f00417c840
refactor: timeouts management (#1719)
* refactor: timeouts management

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 11:03:40 +02:00
Charles-Edouard Brétéché 6a9ee23e31
refactor: move summary in context (#1717)
* refactor: move summary in context

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 03:21:01 +02:00
Charles-Edouard Brétéché 751f45713d
refactor: default timeouts (#1711)
* refactor: default timeouts

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 02:23:16 +02:00
Charles-Edouard Brétéché 111abb48ba
refactor: data package (#1714)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 01:39:05 +02:00
Charles-Edouard Brétéché ee7018cb8b
refactor: default loaders (#1712)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-24 01:16:29 +02:00
Charles-Edouard Brétéché ee20a89b76
refactor: simplify test context (#1709)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-23 23:44:58 +02:00
Charles-Edouard Brétéché 3b77d6bec5
refactor: cleanup part 1 (#1707)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-23 22:35:14 +02:00
Charles-Edouard Brétéché 05ff4b24cf
refactor: make test context a simple struct (#1705)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-23 13:29:14 +02:00
Charles-Edouard Brétéché 90906dc95a
refactor: more test context (#1703)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-23 12:25:26 +02:00
Charles-Edouard Brétéché 2bd0d2ecc3
refactor: introduce test context (#1701)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-23 11:27:40 +02:00
Charles-Edouard Brétéché c51641b4ef
refactor: move runner client (#1699)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-23 10:18:37 +02:00
Charles-Edouard Brétéché d31402ec4f
chore: split model package (#1696)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-23 09:57:58 +02:00
Charles-Edouard Brétéché d953f4b61b
refactor: names package (#1695)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-23 09:43:18 +02:00
Charles-Edouard Brétéché 2409bc15de
refactor: reduce coupling to test framework (#1693)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-22 21:46:08 +02:00
Charles-Edouard Brétéché 36e6deb2c5
refactor: client package (#1691)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-22 20:07:21 +02:00
Charles-Edouard Brétéché eaf5860837
refactor: kube utils (#1689)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-22 17:55:23 +02:00
Charles-Edouard Brétéché c3399063c4
feat: add a renovate config command (#1687)
* feat: add a renovate config command

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-22 15:42:47 +02:00
Charles-Edouard Brétéché 7258052b6d
chore: remove unused code (#1685)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-22 13:00:48 +02:00
dependabot[bot] e046f2d3f4
chore(deps): bump github/codeql-action from 3.25.12 to 3.25.13 (#1682)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.12 to 3.25.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](4fa2a79536...2d790406f5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 12:36:23 +02:00
github-actions[bot] f0bc7d173b
Brew formula update for chainsaw version v0.2.7 (#1680)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-07-22 10:28:28 +02:00
Charles-Edouard Brétéché da3e3f3096
release: v0.2.7 (#1678)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-22 10:00:44 +02:00
Charles-Edouard Brétéché 4011b4dc21
chore: update release notes (#1676)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-21 23:58:53 +02:00
Charles-Edouard Brétéché 0fc8023702
fix: null vs empty object comparison (#1673)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-21 23:00:17 +02:00
Charles-Edouard Brétéché a7d84c852a
chore: improve step template reference (#1670)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-19 14:31:51 +02:00
Charles-Edouard Brétéché 047eaf2a2a
chore: rename from to use (#1667)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-19 00:15:52 +02:00
Charles-Edouard Brétéché c2ff8bbfa9
feat: introduce model package (#1664)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-18 18:07:28 +02:00
Charles-Edouard Brétéché 83562ff008
feat: introduce step template (#1623)
* feat: introduce step template

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* from

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* codegen

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* codegen

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* codegen

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* schema

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* loading

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-18 17:29:11 +02:00
dependabot[bot] d39b624a8b
chore(deps): bump k8s.io/apiextensions-apiserver from 0.30.2 to 0.30.3 (#1658)
Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.30.2 to 0.30.3.
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.30.2...v0.30.3)

---
updated-dependencies:
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-18 12:59:57 +02:00
dependabot[bot] 94b83d1f96
chore(deps): bump k8s.io/client-go from 0.30.2 to 0.30.3 (#1657)
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.30.2 to 0.30.3.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.30.2...v0.30.3)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-18 12:39:53 +02:00
dependabot[bot] 78e0b0dbe5
chore(deps): bump k8s.io/apimachinery from 0.30.2 to 0.30.3 (#1656)
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.30.2 to 0.30.3.
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.30.2...v0.30.3)

---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-18 12:24:22 +02:00
Charles-Edouard Brétéché bd8b53d796
refactor: remove code based validation (#1654)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-18 09:24:06 +02:00
Charles-Edouard Brétéché 079d442739
feat: more model based validation (#1652)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-17 18:37:23 +02:00
Charles-Edouard Brétéché 006dbcaee6
feat: more schema based valdation (#1650)
* feat: more schema based valdation

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* not

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-17 16:18:42 +02:00
Charles-Edouard Brétéché a60de55f7d
feat: model schema based validation (#1648)
* feat: model schema based validation

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* more

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-16 16:19:05 +02:00
dependabot[bot] 8d14831159
chore(deps): bump anchore/sbom-action from 0.16.1 to 0.17.0 (#1646)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.16.1 to 0.17.0.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Commits](95b086ac30...d94f46e13c)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-16 13:57:28 +02:00
Charles-Edouard Brétéché 6bb32f2260
chore: move apis related packages (#1644)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-16 11:41:26 +02:00
Charles-Edouard Brétéché bcaa04cfaf
chore: remove useless config validation (#1642)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-16 11:26:49 +02:00
Charles-Edouard Brétéché 9a9d0ec59e
refactor: move loader packages (#1640)
* refactor: move loader packages

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-16 11:06:24 +02:00
Charles-Edouard Brétéché d8927c83a5
feat: use custom crd generator (#1625)
* feat: use custom crd generator

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* one of

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix linter

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* test

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* schemas

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* schemas

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-16 03:07:46 +02:00
Charles-Edouard Brétéché 4b02cd755f
refactor: conversion funcs (#1637)
* refactor: conversion funcs

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* codegen

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* runner

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-15 23:56:33 +02:00
Charles-Edouard Brétéché 098ad3ac1c
refactor: config v1alpha2 (#1635)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-15 20:36:13 +02:00
Charles-Edouard Brétéché 79b2eecc52
chore: use a named field for test (#1633)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-15 14:38:08 +02:00
Charles-Edouard Brétéché 73528bed44
feat: add code of conduct (#1631)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-15 14:16:42 +02:00
Manoramsharma b7ac6b7fc7
Added a structured content to community section of chainsaw website (#1594)
* Added astructured content to community section of chainsaw website

Signed-off-by: Manoram Sharma <img_2020037@iiitm.ac.in>

* remove translations

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Manoram Sharma <img_2020037@iiitm.ac.in>
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-12 12:10:30 +02:00
dependabot[bot] d1e7cb5db5
chore(deps): bump github/codeql-action from 3.25.11 to 3.25.12 (#1627)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.11 to 3.25.12.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b611370bb5...4fa2a79536)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-12 11:56:13 +02:00
dependabot[bot] 03ea226339
chore(deps): bump actions/setup-go from 5.0.1 to 5.0.2 (#1624)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](cdcb360436...0a12ed9d6a)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-11 19:35:54 +02:00
Charles-Edouard Brétéché f65a235e5a
chore: bump a couple of deps (#1621)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-10 13:39:06 +02:00
dependabot[bot] a130317395
chore(deps): bump anchore/sbom-action from 0.16.0 to 0.16.1 (#1619)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.16.0 to 0.16.1.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Commits](e8d2a6937e...95b086ac30)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-10 09:22:14 +00:00
github-actions[bot] 60adeea499
Brew formula update for chainsaw version v0.2.6 (#1617)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-07-10 11:12:46 +02:00
Charles-Edouard Brétéché 62242167f7
release: v0.2.6 (#1613)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-10 09:29:33 +02:00
dependabot[bot] 26e6caa4b4
chore(deps): bump google.golang.org/grpc from 1.64.0 to 1.64.1 (#1614)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.64.0 to 1.64.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.64.0...v1.64.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-10 00:35:43 +02:00
Charles-Edouard Brétéché 779ec37d43
chore: update release notes (#1611)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-09 21:25:48 +02:00
Charles-Edouard Brétéché dc6d69e2bc
feat: add as_string jp function (#1608)
* feat: add as_string jp function

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* codegen

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-07-09 18:22:53 +02:00
sandert-k8s cb8ef56369
Fix parameter cleanup delay in docs (#1605)
The command in the docs doesn't exist, replaced by the correct one: `cleanup-delay`.

Signed-off-by: sandert-k8s <32864332+sandert-k8s@users.noreply.github.com>
2024-07-09 13:38:02 +00:00
dependabot[bot] a032196d1a
chore(deps): bump aquasecurity/trivy-action from 0.23.0 to 0.24.0 (#1604)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](7c2007bcb5...6e7b7d1fd3)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-09 13:49:08 +02:00
dependabot[bot] 9552c5a296
chore(deps): bump github.com/kudobuilder/kuttl from 0.17.0 to 0.18.0 (#1598)
Bumps [github.com/kudobuilder/kuttl](https://github.com/kudobuilder/kuttl) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/kudobuilder/kuttl/releases)
- [Changelog](https://github.com/kudobuilder/kuttl/blob/main/RELEASE.md)
- [Commits](https://github.com/kudobuilder/kuttl/compare/v0.17.0...v0.18.0)

---
updated-dependencies:
- dependency-name: github.com/kudobuilder/kuttl
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 20:20:20 +00:00
dependabot[bot] c1f2981eb8
chore(deps): bump actions/download-artifact from 4.1.7 to 4.1.8 (#1599)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.7 to 4.1.8.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](65a9edc588...fa0a91b85d)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 20:10:56 +00:00
dependabot[bot] 8b3c39ad90
chore(deps): bump actions/upload-artifact from 4.3.3 to 4.3.4 (#1600)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.3 to 4.3.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](65462800fd...0b2256b8c0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 22:01:22 +02:00
dependabot[bot] 6b21a1c9a7
chore(deps): bump amannn/action-semantic-pull-request (#1592)
Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/amannn/action-semantic-pull-request/releases)
- [Changelog](https://github.com/amannn/action-semantic-pull-request/blob/main/CHANGELOG.md)
- [Commits](cfb60706e1...0723387faa)

---
updated-dependencies:
- dependency-name: amannn/action-semantic-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-02 12:32:31 +00:00
dependabot[bot] 82a85c29c7
chore(deps): bump github/codeql-action from 3.25.10 to 3.25.11 (#1593)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.10 to 3.25.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](23acc5c183...b611370bb5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-02 12:10:25 +00:00
dependabot[bot] 028c7f4a8d
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#1595)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.9 to 3.0.10.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](74606c3045...b88cd0aad2)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-02 12:01:39 +00:00
Charles-Edouard Brétéché 20bfb5a58a
feat: add proxy helper (#1589)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-27 21:38:29 +02:00
Charles-Edouard Brétéché f5804be7c6
feat: add jp function to decode metrics (#1587)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-27 14:20:41 +02:00
dependabot[bot] ec6d0f1883
chore(deps): bump github.com/hashicorp/go-getter from 1.7.4 to 1.7.5 (#1581)
Bumps [github.com/hashicorp/go-getter](https://github.com/hashicorp/go-getter) from 1.7.4 to 1.7.5.
- [Release notes](https://github.com/hashicorp/go-getter/releases)
- [Changelog](https://github.com/hashicorp/go-getter/blob/main/.goreleaser.yml)
- [Commits](https://github.com/hashicorp/go-getter/compare/v1.7.4...v1.7.5)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/go-getter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-24 17:38:08 +00:00
github-actions[bot] c078452226
Brew formula update for chainsaw version v0.2.5 (#1584)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-06-24 13:47:31 +02:00
Charles-Edouard Brétéché fb4aa3f1be
release: v0.2.5 (#1582)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-24 12:44:34 +02:00
Charles-Edouard Brétéché 2b4fa76aab
chore: update release notes (#1578)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-24 09:47:18 +02:00
Charles-Edouard Brétéché ac9f03f41a
feat: add test scenarios support (#1576)
* feat: add test scenarios support

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* scenario id

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-23 22:53:55 +02:00
dependabot[bot] 2f3c548eb2
chore(deps): bump ko-build/setup-ko from 0.6 to 0.7 (#1572)
Bumps [ko-build/setup-ko](https://github.com/ko-build/setup-ko) from 0.6 to 0.7.
- [Release notes](https://github.com/ko-build/setup-ko/releases)
- [Commits](ace48d7935...3aebd0597d)

---
updated-dependencies:
- dependency-name: ko-build/setup-ko
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 15:20:01 +00:00
dependabot[bot] 54eb299c52
chore(deps): bump aquasecurity/trivy-action from 0.22.0 to 0.23.0 (#1573)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.22.0 to 0.23.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](595be6a0f6...7c2007bcb5)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 17:11:25 +02:00
Charles-Edouard Brétéché 8b2c70b632
refactor: v1alpha2 api (#1567)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-17 12:59:13 +02:00
dependabot[bot] 647f8f5907
chore(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 (#1568)
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.8.0...v1.8.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 11:56:48 +02:00
dependabot[bot] 00ca330dc4
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#1565)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.7 to 3.0.9.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](76d1d8e0b0...74606c3045)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 09:43:18 +00:00
dependabot[bot] 5b387658d2
chore(deps): bump github/codeql-action from 3.25.9 to 3.25.10 (#1563)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.9 to 3.25.10.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](530d4feaa9...23acc5c183)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-14 10:13:43 +00:00
dependabot[bot] 3e5463522a
chore(deps): bump actions/checkout from 4.1.6 to 4.1.7 (#1551)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](a5ac7e51b4...692973e3d9)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-13 12:25:50 +00:00
dependabot[bot] 15c2cce1d8
chore(deps): bump codecov/codecov-action from 4.4.1 to 4.5.0 (#1552)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.4.1 to 4.5.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](125fc84a9a...e28ff129e5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-13 11:22:32 +00:00
dependabot[bot] 211f28906f
chore(deps): bump github/codeql-action from 3.25.8 to 3.25.9 (#1553)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.8 to 3.25.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](2e230e8fe0...530d4feaa9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-13 10:26:37 +00:00
dependabot[bot] 25c7e19005
chore(deps): bump k8s.io/client-go from 0.30.1 to 0.30.2 (#1555)
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.30.1 to 0.30.2.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.30.1...v0.30.2)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-13 10:16:15 +00:00
dependabot[bot] 72fb202859
chore(deps): bump k8s.io/apimachinery from 0.30.1 to 0.30.2 (#1556)
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.30.1 to 0.30.2.
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.30.1...v0.30.2)

---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-13 10:07:48 +00:00
Charles-Edouard Brétéché e1dd5cae1a
feat: more test v1alpha2 changes (#1533)
* feat: more test v1alpha2 changes

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* action types

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* operation

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* catch

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-13 10:30:31 +02:00
Charles-Edouard Brétéché b84ea6ef65
refactor: action api structs (#1548)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-12 13:47:26 +02:00
Charles-Edouard Brétéché 5a99c5a900
refactor: action api structs (#1546)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-12 11:26:03 +02:00
Charles-Edouard Brétéché ef2bdafc30
fix: use python virtual env (#1544)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-10 21:43:27 +02:00
dependabot[bot] 70d1569970
chore(deps): bump github.com/kudobuilder/kuttl from 0.16.0 to 0.17.0 (#1542)
Bumps [github.com/kudobuilder/kuttl](https://github.com/kudobuilder/kuttl) from 0.16.0 to 0.17.0.
- [Release notes](https://github.com/kudobuilder/kuttl/releases)
- [Changelog](https://github.com/kudobuilder/kuttl/blob/main/RELEASE.md)
- [Commits](https://github.com/kudobuilder/kuttl/compare/v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: github.com/kudobuilder/kuttl
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 12:16:23 +02:00
dependabot[bot] 50499c319b
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#1540)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.6 to 3.0.7.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](2f2ebc6d91...76d1d8e0b0)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 09:23:48 +00:00
dependabot[bot] 529031711f
chore(deps): bump aquasecurity/trivy-action from 0.21.0 to 0.22.0 (#1534)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.21.0 to 0.22.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](fd25fed697...595be6a0f6)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-07 11:50:41 +00:00
dependabot[bot] 629cde72c2
chore(deps): bump goreleaser/goreleaser-action from 5.1.0 to 6.0.0 (#1518)
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 5.1.0 to 6.0.0.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](5742e2a039...286f3b13b1)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-06 22:26:08 +02:00
Charles-Edouard Brétéché bf73fa76de
fix: default values in api (#1530)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-06 21:56:34 +02:00
Charles-Edouard Brétéché 7c8279f85c
chore: fix release notes (#1527)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-06 15:23:20 +02:00
github-actions[bot] f6a47d7824
Brew formula update for chainsaw version v0.2.4 (#1525)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-06-06 14:50:02 +02:00
Charles-Edouard Brétéché a99127701b
release: v0.2.4 (#1523)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-06 13:58:16 +02:00
Charles-Edouard Brétéché 266e15b040
chore: update release notes (#1521)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-06 13:43:47 +02:00
dependabot[bot] 87ed804319
chore(deps): bump github/codeql-action from 3.25.7 to 3.25.8 (#1517)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.7 to 3.25.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f079b84933...2e230e8fe0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-06 11:29:42 +00:00
dependabot[bot] 162c3513fe
chore(deps): bump sigs.k8s.io/controller-runtime from 0.18.3 to 0.18.4 (#1519)
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.18.3 to 0.18.4.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.18.3...v0.18.4)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-06 13:18:26 +02:00
Charles-Edouard Brétéché a627b06c75
feat: introduce test v1alpha2 (#1493)
* feat: introduce test v1alpha2

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix merge

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* test options

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-04 09:19:06 +02:00
Charles-Edouard Brétéché 78ff106bf4
refactor: merge catch and finally structs (#1514)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-04 01:28:25 +02:00
Charles-Edouard Brétéché cd2c5c890b
feat: add missing operations (#1510)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-04 00:20:09 +02:00
Charles-Edouard Brétéché 3888c720df
fix: patch validation incorrect field (#1511)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-03 23:34:33 +02:00
Charles-Edouard Brétéché 8e32373817
fix: templating options defaulting in v1alpha2 (#1508)
* fix: templating options defaulting in v1alpha2

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-03 19:39:23 +02:00
dependabot[bot] f57de883c0
chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#1506)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](40e45e738b...2f2ebc6d91)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 13:40:15 +00:00
Charles-Edouard Brétéché 592008bc5e
chore: bump a couple of deps (#1503)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-02 01:47:40 +02:00
Charles-Edouard Brétéché 22675c0dd0
chore: bump kyverno-json (#1501)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-06-01 10:58:15 +02:00
dependabot[bot] d8c933037d
chore(deps): bump github/codeql-action from 3.25.6 to 3.25.7 (#1500)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.6 to 3.25.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](9fdb3e4972...f079b84933)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-31 11:57:00 +02:00
Charles-Edouard Brétéché dc29601812
chore: remove old config file (#1498)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-31 01:55:20 +02:00
Charles-Edouard Brétéché cb2e64bba4
feat: add file support to delete operation (#1496)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-31 00:23:00 +02:00
Charles-Edouard Brétéché 2d1c4f6168
refactor: delete operation reference (#1494)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-30 15:12:25 +02:00
Charles-Edouard Brétéché 029ff4e7ec
chore: bump kubectl-validate (#1490)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-30 12:21:24 +02:00
Charles-Edouard Brétéché 621bba2657
fix: yaml anchors processing (#1487)
* fix: yaml anchors processing

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* feature flag

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix test

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-30 11:41:38 +02:00
Charles-Edouard Brétéché 7994403a51
fix: remove deprecated direct resource support (#1479)
* fix: remove deprecated direct resource support

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* rm dead code

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* clean

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-29 23:10:05 +02:00
Charles-Edouard Brétéché be718fb882
feat: add test metadata binding (#1484)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-29 16:44:32 +02:00
Charles-Edouard Brétéché 0720eb6730
refactor: introduce api clusters type (#1482)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-29 10:51:29 +02:00
Charles-Edouard Brétéché ee675ef908
docs: remove code markers on titles in api reference documentation (#1480)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-29 10:34:04 +02:00
github-actions[bot] 2d9b66f5ae
Brew formula update for chainsaw version v0.2.3 (#1477)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-05-29 09:33:04 +02:00
Charles-Edouard Brétéché 2c2f20ab54
release: v0.2.3 (#1473)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-29 08:54:14 +02:00
Charles-Edouard Brétéché 916828f5e6
fix: deletion propagation flag (#1474)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-29 01:41:37 +02:00
Charles-Edouard Brétéché 50586e5ec9
chore: proof read docs (#1470)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-28 23:16:47 +02:00
Charles-Edouard Brétéché 34713d7ac7
chore: update v0.2.3 release notes (#1468)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-27 21:40:56 +02:00
Charles-Edouard Brétéché cae181e3f7
chore: add positive/negative testing to home (#1466)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-27 20:48:53 +02:00
Charles-Edouard Brétéché 4f7bb55046
chore: update home (#1463)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-27 19:29:30 +02:00
Charles-Edouard Brétéché a44db07e46
refactor: introduce operation base (#1462)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-27 18:05:21 +02:00
Charles-Edouard Brétéché 9ac1bd2f72
docs: restructure test docs (#1460)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-27 17:37:53 +02:00
Charles-Edouard Brétéché 78706e032a
docs: restructure test docs (#1458)
* docs: restructure test docs

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* docs: restructure test docs

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-27 15:02:06 +02:00
Charles-Edouard Brétéché 71a0ddb2b6
docs: restructure test docs (#1454)
* docs: restructure test docs

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* save

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-27 12:59:28 +02:00
Charles-Edouard Brétéché b25b333267
fix: linter error (#1455)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-27 12:51:20 +02:00
odubajDT 0a8540b550
chore: add OpenFeature to list of adopters (#1452)
Signed-off-by: odubajDT <93584209+odubajDT@users.noreply.github.com>
2024-05-27 12:26:40 +02:00
Charles-Edouard Brétéché 4a8c9c3a81
docs: restructure test docs (#1450)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-24 01:50:03 +02:00
Charles-Edouard Brétéché dff8ab896a
docs: restructure test docs (#1448)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 23:22:47 +02:00
Charles-Edouard Brétéché 8dac77c513
docs: restructure test docs (#1446)
* chore: reorganise reference docs storage (#1443)

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* docs: restructure test docs

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 19:16:14 +02:00
Charles-Edouard Brétéché be17317fb4
chore: reorganise reference docs storage (#1443)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 16:55:55 +02:00
Charles-Edouard Brétéché 3ddf8eccaf
docs: restructure test docs (#1441)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 16:32:11 +02:00
Charles-Edouard Brétéché 33bf20976e
fix: social cards (#1439)
* chore: reference docs nits

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix: social cards

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 12:58:32 +02:00
Charles-Edouard Brétéché fc2f9011ae
chore: enable social cards (#1433)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 12:38:23 +02:00
Charles-Edouard Brétéché 0576980c12
fix: docs typos (#1436)
* chore: reference docs nits

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix: docs typos

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 12:28:38 +02:00
Charles-Edouard Brétéché 68637213c6
chore: reference docs nits (#1434)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 12:12:21 +02:00
dependabot[bot] 4e311fd0ef
chore(deps): bump aquasecurity/trivy-action from 0.20.0 to 0.21.0 (#1431)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](b2933f565d...fd25fed697)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-23 09:42:26 +00:00
Charles-Edouard Brétéché ddb3b46e85
feat: update default config to v1alpha2 (part 3) (#1429)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 11:33:51 +02:00
Charles-Edouard Brétéché 9b0682a3bb
feat: update default config to v1alpha2 (part 2) (#1422)
* feat: update default config to v1alpha2 (part 2)

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* updates

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 10:55:37 +02:00
Charles-Edouard Brétéché bae937e857
refactor: v1alpha2 configuration api (#1425)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 09:03:33 +02:00
Charles-Edouard Brétéché 45b8269b2a
feat: add arrows to navigate home sections (#1423)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 02:23:23 +02:00
Charles-Edouard Brétéché 277e0b1659
docs: update config to v1alpha2 (#1418)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-23 00:39:54 +02:00
Charles-Edouard Brétéché 614085a816
feat: update default config to v1alpha2 (#1419)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-22 22:48:18 +02:00
Charles-Edouard Brétéché 54dedd2748
docs: improve docs pages (#1415)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-22 17:39:16 +02:00
Charles-Edouard Brétéché 6f47d3accb
docs: add bindings reference docs (#1413)
* docs: rework configuration docs

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* docs: add bindings reference docs

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-22 16:44:54 +02:00
Mariam Fahmy 359493c4c9
feat: allow the configuration of the deletion propagation policy (#1325)
* feat: allow the configuration of the deletion propagation policy

Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com>

* chore: fix unit tests

Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com>

* chore: fix codegen

Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com>

* chore: fix codegen

Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com>

---------

Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com>
2024-05-22 13:51:46 +00:00
Charles-Edouard Brétéché 8e5f391b78
docs: rework configuration docs (#1410)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-22 15:39:08 +02:00
dependabot[bot] e2aab972bc
--- (#1408)
updated-dependencies:
- dependency-name: github.com/go-logr/logr
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-22 11:00:52 +00:00
Charles-Edouard Brétéché 2150a6f579
docs: multi cluster guide (#1406)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-22 10:58:59 +02:00
Charles-Edouard Brétéché 32f5530843
docs: remove examples (#1404)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-22 10:27:56 +02:00
Charles-Edouard Brétéché 4b7c7e8310
docs: improve assertion guide (#1402)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-22 09:49:03 +02:00
free6om 93b2db4a4e
docs: fixed broken link in README (#1400)
Signed-off-by: free6om <free6om.c@gmail.com>
2024-05-22 07:08:20 +00:00
Charles-Edouard Brétéché 38295f578d
docs: label selectors guide (#1398)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-22 01:53:23 +02:00
Charles-Edouard Brétéché ebbb8b7a3c
docs: negative testing guide (#1396)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-22 01:23:46 +02:00
Charles-Edouard Brétéché 68b565ef5d
fix: css min-height (#1394)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-22 01:07:36 +02:00
Charles-Edouard Brétéché 550a148b07
docs: add more advanced guides (#1392)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 23:58:10 +02:00
Charles-Edouard Brétéché 220e6a7195
docs: add non resource assertion guide (#1389)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 23:11:29 +02:00
Charles-Edouard Brétéché cff2c52a8b
docs: advanced check kube version docs (#1386)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 22:57:46 +02:00
Charles-Edouard Brétéché 04d167649f
feat: add cleanup support to tests catalog (#1384)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 22:43:25 +02:00
Charles-Edouard Brétéché 899f51bcd4
feat: add cleanup validation logic (#1385)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 22:27:05 +02:00
Charles-Edouard Brétéché 5faf877b9a
docs: add reference docs tab (#1375)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 21:30:08 +02:00
Charles-Edouard Brétéché 2842af3f94
docs: move configuration in its own tab (#1374)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 21:19:41 +02:00
Charles-Edouard Brétéché ae17ff8da4
docs: crds use case docs (#1370)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 21:02:26 +02:00
github-actions[bot] 35c5725aa6
Brew formula update for chainsaw version v0.2.2 (#1378)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-05-21 20:39:33 +02:00
Charles-Edouard Brétéché 06639e226c
release: v0.2.2 (#1376)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 18:43:06 +02:00
Charles-Edouard Brétéché e29455312c
chore: update release notes (#1369)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 17:01:41 +02:00
Charles-Edouard Brétéché 5b6bad4d0f
docs: add cleanup docs (#1368)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 16:54:57 +02:00
Charles-Edouard Brétéché bce0a60a50
feat: add cleanup handler (#1364)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 15:07:56 +02:00
Charles-Edouard Brétéché 397a8db1ec
docs: add placeholder for advanced use cases (#1361)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 13:17:28 +02:00
Charles-Edouard Brétéché 278f3bce14
fix: catch/finally execution order (#1351)
* fix: catch/finally execution order

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* skip bad test

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 13:11:37 +02:00
Charles-Edouard Brétéché 074b3222c1
docs: operation outputs page (#1358)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 12:37:43 +02:00
dependabot[bot] 0ed7083839
--- (#1349)
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 10:21:03 +00:00
Charles-Edouard Brétéché c8ae0541cc
docs: resource templating docs (#1354)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-21 11:58:53 +02:00
dependabot[bot] 76a5be7b3f
--- (#1348)
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 09:52:55 +00:00
dependabot[bot] a8976f10fd
--- (#1350)
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 11:44:12 +02:00
Charles-Edouard Brétéché 11a3b128ca
fix: linter issues (#1345)
* fix: linter issues

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix: linter issues

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-20 23:33:56 +02:00
dependabot[bot] 437b8a49bb
chore(deps): Bump github/codeql-action from 2.13.4 to 3.25.5 (#1342)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.13.4 to 3.25.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](cdcdbb5797...b7cec75265)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-20 21:05:49 +02:00
Charles-Edouard Brétéché c693ceac12
chore: improve try catch finally page (#1338)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-18 02:04:18 +02:00
Charles-Edouard Brétéché 81ea4738b6
chore: improve bindings page (#1336)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-18 01:55:17 +02:00
Charles-Edouard Brétéché 26dd875444
chore: improve timeouts quick start (#1334)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-17 23:27:54 +02:00
Charles-Edouard Brétéché c92d6f8e90
chore: improve next steps page (#1332)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-17 22:14:42 +02:00
Charles-Edouard Brétéché e7cf99589e
chore: restructure the getting started guide (#1330)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-17 20:23:34 +02:00
Charles-Edouard Brétéché 5b0349c776
chore: improve assertions quick start (#1326)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-17 19:37:56 +02:00
Charles-Edouard Brétéché cd7f0c99bc
chore: add resource templating into (#1323)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-17 16:59:37 +02:00
Charles-Edouard Brétéché de2d0bad3f
chore: rework introduction (#1321)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-17 15:17:16 +02:00
Charles-Edouard Brétéché 090440bd0a
chore: add missing adopters to the home page (#1319)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-17 12:10:18 +02:00
dependabot[bot] 38851c5d89
chore(deps): Bump actions/checkout from 4.1.5 to 4.1.6 (#1316)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](44c2b7a8a4...a5ac7e51b4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 09:34:57 +00:00
Charles-Edouard Brétéché 650a726b25
chore: improve install page (#1315)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-17 11:26:06 +02:00
Charles-Edouard Brétéché d058ce7c8b
chore: move community page to its own tab (#1312)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-17 10:20:06 +02:00
Charles-Edouard Brétéché 042745efd5
chore: remove blog (#1310)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-17 09:19:22 +02:00
Charles-Edouard Brétéché f443264e18
fix: improve home (#1303)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-16 18:30:59 +02:00
Charles-Edouard Brétéché 427e0d58c2
fix: mike (#1302)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-16 18:25:05 +02:00
Charles-Edouard Brétéché d4b0dda8cc
fix: improve home page (#1300)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-16 18:01:08 +02:00
Charles-Edouard Brétéché 8ef255bf45
fix: disable instant nav (#1298)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-16 15:49:05 +02:00
Charles-Edouard Brétéché 4dc59f83e8
feat: improve home page (#1292)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-16 14:00:44 +02:00
Mike Bryant fb25a2a30b
fix: Use config file namespaceTemplate if set (#1279)
Signed-off-by: Mike Bryant <mike@mikebryant.me.uk>
2024-05-16 07:32:50 +00:00
github-actions[bot] fc8c31c694
Brew formula update for chainsaw version v0.2.1 (#1290)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-05-16 01:36:17 +02:00
Charles-Edouard Brétéché e3397c3cc4
release: v0.2.1 (#1287)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-16 00:30:14 +02:00
Charles-Edouard Brétéché 05c5a8972d
chore: add v0.2.1 in bug reports template (#1285)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-16 00:22:09 +02:00
Charles-Edouard Brétéché aa769c9153
release: v0.2.1 (#1284)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-16 00:13:59 +02:00
Charles-Edouard Brétéché df7827a663
chore: update docs (#1282)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-15 21:47:37 +02:00
Charles-Edouard Brétéché 3a0034d23e
chore: update release notes (#1280)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-15 20:59:22 +02:00
Charles-Edouard Brétéché 76d93770da
fix: make sure we resolve cluster only once (#1276)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-15 10:15:01 +02:00
dependabot[bot] b397cb10f5
chore(deps): Bump github.com/fatih/color from 1.16.0 to 1.17.0 (#1272)
Bumps [github.com/fatih/color](https://github.com/fatih/color) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/fatih/color/releases)
- [Commits](https://github.com/fatih/color/compare/v1.16.0...v1.17.0)

---
updated-dependencies:
- dependency-name: github.com/fatih/color
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-14 21:19:56 +00:00
dependabot[bot] a5ead230e6
chore(deps): Bump codecov/codecov-action from 4.3.1 to 4.4.0 (#1271)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.3.1 to 4.4.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](5ecb98a3c6...6d798873df)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-14 23:05:32 +02:00
Charles-Edouard Brétéché 9370918ae8
feat: add direct cluster config support (#1207)
* feat: add direct cluster config support

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* refactor: clusters bank

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* add note about cleanup changes

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* cleanup

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* dummy

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* tests

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-14 00:22:26 +02:00
Charles-Edouard Brétéché c332839223
feat: force background propagation deletion (#1267)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-13 16:37:27 +02:00
dependabot[bot] a651a49ff4
chore(deps): Bump goreleaser/goreleaser-action from 5.0.0 to 5.1.0 (#1266)
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](7ec5c2b0c6...5742e2a039)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 14:00:56 +02:00
Charles-Edouard Brétéché cd2c0af3b7
feat: enable templating by default (#1264)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-12 21:38:42 +02:00
dependabot[bot] 17caf145b4
chore(deps): Bump aquasecurity/trivy-action from 0.19.0 to 0.20.0 (#1258)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.19.0 to 0.20.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](d710430a67...b2933f565d)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-08 09:49:47 +00:00
dependabot[bot] 9f0b9edcfa
chore(deps): Bump golangci/golangci-lint-action from 5.3.0 to 6.0.1 (#1257)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5.3.0 to 6.0.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](38e1018663...a4f60bb28d)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-08 09:41:20 +00:00
dependabot[bot] 069b1fbdde
chore(deps): Bump actions/checkout from 4.1.4 to 4.1.5 (#1254)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](0ad4b8fada...44c2b7a8a4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-08 11:32:26 +02:00
dependabot[bot] d7d33f9d2e
chore(deps): Bump zgosalvez/github-actions-ensure-sha-pinned-actions (#1249)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.4 to 3.0.5.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](19ebcb0bab...40e45e738b)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 12:15:07 +00:00
dependabot[bot] 86adf25a13
chore(deps): Bump golangci/golangci-lint-action from 5.1.0 to 5.3.0 (#1250)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5.1.0 to 5.3.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](9d1e0624a7...38e1018663)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 11:55:33 +02:00
Charles-Edouard Brétéché f6bc655d66
feat: add pause on failure option (#1247)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-05 12:35:24 +02:00
dependabot[bot] 5be8d9adbf
chore(deps): Bump actions/setup-go from 5.0.0 to 5.0.1 (#1245)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](0c52d547c9...cdcb360436)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-03 11:28:09 +02:00
dependabot[bot] f9e37b11a0
chore(deps): Bump golangci/golangci-lint-action from 5.0.0 to 5.1.0 (#1230)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](82d40c283a...9d1e0624a7)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 12:44:25 +00:00
dependabot[bot] 594c4e370b
chore(deps): Bump anchore/sbom-action from 0.15.10 to 0.15.11 (#1229)
Bumps [anchore/sbom-action](https://github.com/anchore/sbom-action) from 0.15.10 to 0.15.11.
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Commits](ab5d7b5f48...7ccf588e3c)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 12:36:32 +00:00
dependabot[bot] 6033a0fe3c
chore(deps): Bump codecov/codecov-action from 4.3.0 to 4.3.1 (#1233)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](84508663e9...5ecb98a3c6)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 12:29:11 +00:00
Charles-Edouard Brétéché c3e17e04d0
chore: update issue templates (#1238)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-02 14:21:35 +02:00
gcp-cherry-pick-bot[bot] c16b23c999
release: v0.2.0 (#1234) (#1237)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-05-02 12:21:03 +00:00
github-actions[bot] b2cdd9e1ae
Brew formula update for chainsaw version v0.2.0 (#1235)
Co-authored-by: goreleaserbot <bot@goreleaser.com>
2024-05-02 13:56:24 +02:00
Charles-Edouard Brétéché 87941d05bd
chore: use upstream kubectl-validate (#1226)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-27 13:39:58 +02:00
dependabot[bot] fa1211a96b
chore(deps): Bump slsa-framework/slsa-github-generator (#1196)
Bumps [slsa-framework/slsa-github-generator](https://github.com/slsa-framework/slsa-github-generator) from 1.10.0 to 2.0.0.
- [Release notes](https://github.com/slsa-framework/slsa-github-generator/releases)
- [Changelog](https://github.com/slsa-framework/slsa-github-generator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/slsa-framework/slsa-github-generator/compare/v1.10.0...v2.0.0)

---
updated-dependencies:
- dependency-name: slsa-framework/slsa-github-generator
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-25 20:31:03 +02:00
Charles-Edouard Brétéché 109842209a
chore: update release notes (#1223)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-25 19:44:55 +02:00
Charles-Edouard Brétéché f25babcd87
chore: bump a couple of deps (#1220)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-25 17:56:21 +02:00
dependabot[bot] 9c9419ebb4
chore(deps): Bump golangci/golangci-lint-action from 4.0.0 to 5.0.0 (#1210)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 4.0.0 to 5.0.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](3cfe3a4abb...82d40c283a)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 15:28:51 +00:00
dependabot[bot] d19ce19346
chore(deps): Bump actions/download-artifact from 4.1.6 to 4.1.7 (#1213)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](9c19ed7fe5...65a9edc588)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 15:12:23 +00:00
dependabot[bot] a9a6bfa44c
chore(deps): Bump actions/checkout from 4.1.3 to 4.1.4 (#1212)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](1d96c772d1...0ad4b8fada)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 15:04:48 +00:00
dependabot[bot] 82ce93849f
chore(deps): Bump amannn/action-semantic-pull-request (#1211)
Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 5.5.0 to 5.5.2.
- [Release notes](https://github.com/amannn/action-semantic-pull-request/releases)
- [Changelog](https://github.com/amannn/action-semantic-pull-request/blob/main/CHANGELOG.md)
- [Commits](c24d6dd07c...cfb60706e1)

---
updated-dependencies:
- dependency-name: amannn/action-semantic-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-25 14:57:18 +00:00
Richard Kovacs 58bf8ed6d5
docs: add Linode COSI to ADOPTERS.md (#1215)
Signed-off-by: Richard Kovacs <kovacsricsi@gmail.com>
2024-04-25 16:46:10 +02:00
Richard Kovacs 86897ca770
docs: document command args quote behavior (#1208)
Signed-off-by: Richard Kovacs <kovacsricsi@gmail.com>
2024-04-25 01:36:28 +02:00
dependabot[bot] d0c5c72f8a
chore(deps): Bump amannn/action-semantic-pull-request (#1204)
Bumps [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/amannn/action-semantic-pull-request/releases)
- [Changelog](https://github.com/amannn/action-semantic-pull-request/blob/main/CHANGELOG.md)
- [Commits](e9fabac35e...c24d6dd07c)

---
updated-dependencies:
- dependency-name: amannn/action-semantic-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-24 14:31:18 +00:00
Charles-Edouard Brétéché 47e28b5857
fix: windows issue (#1201)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-23 20:43:23 +02:00
dependabot[bot] d022adff11
chore(deps): Bump github.com/kudobuilder/kuttl from 0.15.0 to 0.16.0 (#1193)
Bumps [github.com/kudobuilder/kuttl](https://github.com/kudobuilder/kuttl) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/kudobuilder/kuttl/releases)
- [Changelog](https://github.com/kudobuilder/kuttl/blob/main/RELEASE.md)
- [Commits](https://github.com/kudobuilder/kuttl/compare/v0.15.0...v0.16.0)

---
updated-dependencies:
- dependency-name: github.com/kudobuilder/kuttl
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-23 17:37:24 +00:00
dependabot[bot] 188f32adab
chore(deps): Bump actions/download-artifact from 4.1.5 to 4.1.6 (#1195)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](8caf195ad4...9c19ed7fe5)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-23 17:25:26 +00:00
dependabot[bot] c131549f26
chore(deps): Bump actions/upload-artifact from 4.3.2 to 4.3.3 (#1197)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](1746f4ab65...65462800fd)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-23 19:16:44 +02:00
dependabot[bot] 4043ba44ec
chore(deps): Bump actions/checkout from 4.1.2 to 4.1.3 (#1192)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](9bb56186c3...1d96c772d1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 14:27:03 +00:00
Charles-Edouard Brétéché f0fa29ef44
fix: junit reports (#1190)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-19 21:55:49 +02:00
Charles-Edouard Brétéché 36eab419f6
chore: fix ci jobs (#1188)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-19 12:51:14 +02:00
Charles-Edouard Brétéché 5c0056e1ee
chore: disable semantics pr check for cherry pick bot (#1186)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-19 12:24:17 +02:00
dependabot[bot] c6e8f36c9d
chore(deps): Bump actions/download-artifact from 4.1.4 to 4.1.5 (#1181)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](c850b930e6...8caf195ad4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 09:45:36 +00:00
Charles-Edouard Brétéché c810adaafc
chore: update jobs to work on release branches (#1180)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2024-04-19 11:40:27 +02:00
dependabot[bot] 31d1fdc350
chore(deps): Bump actions/upload-artifact from 4.3.1 to 4.3.2 (#1182)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.1 to 4.3.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](5d5d22a312...1746f4ab65)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 11:35:10 +02:00
508 changed files with 15126 additions and 6032 deletions

View File

@ -81,6 +81,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -96,7 +103,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -129,6 +135,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -148,9 +161,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -164,6 +183,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -178,6 +201,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
delete:
description: Delete represents a deletion operation.
not:
@ -191,6 +221,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -245,11 +282,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -547,6 +582,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -562,7 +604,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -596,6 +637,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -615,9 +663,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -631,6 +685,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -773,6 +831,13 @@ spec:
description: Clusters holds a registry to clusters to support multi-cluster
tests.
type: object
compiler:
description: Compiler defines the default compiler to use when evaluating
expressions.
enum:
- jp
- cel
type: string
delayBeforeCleanup:
description: DelayBeforeCleanup adds a delay between the time a test
ends and the time cleanup starts.
@ -816,8 +881,14 @@ spec:
namespaceTemplate:
description: NamespaceTemplate defines a template to create the test
namespace.
type: object
x-kubernetes-preserve-unknown-fields: true
namespaceTemplateCompiler:
description: NamespaceTemplateCompiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
parallel:
description: The maximum number of tests to run at once.
format: int
@ -831,7 +902,7 @@ spec:
type: integer
reportFormat:
description: |-
ReportFormat determines test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION|nil) nil == no report.
ReportFormat determines test report format (JSON, XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION, nil) nil == no report.
maps to report.Type, however we don't want generated.deepcopy to have reference to it.
enum:
- JSON
@ -1037,6 +1108,13 @@ spec:
description: Binding represents a key/value set as
a binding in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1052,7 +1130,6 @@ spec:
check:
description: Check is an assertion tree to validate
the operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will
@ -1086,6 +1163,13 @@ spec:
description: Binding represents a key/value set as
a binding in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1105,9 +1189,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -1121,6 +1211,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the
command. Useful for sensitive logs or to reduce noise.
@ -1135,6 +1229,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use
when evaluating expressions.
enum:
- jp
- cel
type: string
delete:
description: Delete represents a deletion operation.
not:
@ -1148,6 +1249,13 @@ spec:
description: Binding represents a key/value set as
a binding in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1202,11 +1310,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -1507,6 +1613,13 @@ spec:
description: Binding represents a key/value set as
a binding in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1522,7 +1635,6 @@ spec:
check:
description: Check is an assertion tree to validate
the operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will
@ -1556,6 +1668,13 @@ spec:
description: Binding represents a key/value set as
a binding in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1575,9 +1694,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -1591,6 +1716,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the
command. Useful for sensitive logs or to reduce noise.
@ -1748,6 +1877,13 @@ spec:
description: Namespace contains properties for the namespace to use
for tests.
properties:
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: |-
Name defines the namespace to use for tests.
@ -1756,7 +1892,6 @@ spec:
type: string
template:
description: Template defines a template to create the test namespace.
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
report:
@ -1764,7 +1899,8 @@ spec:
properties:
format:
default: JSON
description: ReportFormat determines test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION).
description: ReportFormat determines test report format (JSON,
XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION).
enum:
- JSON
- XML
@ -1785,6 +1921,13 @@ spec:
default: {}
description: Templating contains the templating config.
properties:
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
enabled:
default: true
description: Enabled determines whether resources should be considered

View File

@ -45,6 +45,13 @@ spec:
description: Binding represents a key/value set as a binding in
an executing test.
properties:
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -97,6 +104,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -112,7 +126,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -145,6 +158,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -164,9 +184,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -180,6 +206,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -194,6 +224,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
delete:
description: Delete represents a deletion operation.
not:
@ -207,6 +244,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -261,11 +305,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -563,6 +605,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -578,7 +627,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -612,6 +660,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -631,9 +686,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -647,6 +708,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -813,6 +878,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -828,7 +900,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -861,6 +932,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -880,9 +958,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -896,6 +980,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -910,6 +998,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
delete:
description: Delete represents a deletion operation.
not:
@ -923,6 +1018,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -977,11 +1079,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -1279,6 +1379,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1294,7 +1401,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -1328,6 +1434,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1347,9 +1460,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -1363,6 +1482,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -1529,6 +1652,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1544,7 +1674,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -1577,6 +1706,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1596,9 +1732,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -1612,6 +1754,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -1626,6 +1772,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
delete:
description: Delete represents a deletion operation.
not:
@ -1639,6 +1792,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1693,11 +1853,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -1995,6 +2153,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2010,7 +2175,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -2044,6 +2208,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2063,9 +2234,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -2079,6 +2256,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -2257,6 +2438,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2305,11 +2493,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -2328,9 +2514,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -2372,6 +2564,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2414,7 +2613,6 @@ spec:
type: string
resource:
description: Check provides a check used in assertions.
type: object
x-kubernetes-preserve-unknown-fields: true
template:
description: Template determines whether resources should
@ -2439,6 +2637,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2454,7 +2659,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -2487,6 +2691,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2506,9 +2717,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -2522,6 +2739,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -2536,6 +2757,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
continueOnError:
description: |-
ContinueOnError determines whether a test should continue or not in case the operation was not successful.
@ -2554,6 +2782,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2602,11 +2837,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -2625,9 +2858,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -2668,6 +2907,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2722,11 +2968,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -2858,6 +3102,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2900,7 +3151,6 @@ spec:
type: string
resource:
description: Check provides a check used in assertions.
type: object
x-kubernetes-preserve-unknown-fields: true
template:
description: Template determines whether resources should
@ -3039,6 +3289,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -3087,11 +3344,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -3110,9 +3365,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -3247,9 +3508,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -3288,6 +3555,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -3303,7 +3577,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -3337,6 +3610,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -3356,9 +3636,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -3372,6 +3658,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -3406,6 +3696,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -3454,11 +3751,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -3477,9 +3772,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.

File diff suppressed because it is too large Load Diff

View File

@ -14,6 +14,9 @@ body:
label: chainsaw version Version
description: What version of chainsaw are you running?
options:
- v0.2.12
- v0.2.11
- v0.2.10
- v0.2.9
- v0.2.8
- v0.2.7

View File

@ -23,6 +23,9 @@ body:
label: chainsaw version Version
description: What version of chainsaw are you running?
options:
- v0.2.12
- v0.2.11
- v0.2.10
- v0.2.9
- v0.2.8
- v0.2.7

View File

@ -23,9 +23,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Ensure SHA pinned actions
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@0901cf7b71c7ea6261ec69a3dc2bd3f9264f893e # v3.0.12
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@fc87bb5b5a97953d987372e74478de634726b3e5 # v3.0.25
with:
# slsa-github-generator requires using a semver tag for reusable workflows.
# See: https://github.com/slsa-framework/slsa-github-generator#referencing-slsa-builders-and-generators

View File

@ -23,9 +23,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache-dependency-path: go.sum

View File

@ -25,11 +25,11 @@ jobs:
security-events: write
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- name: Run Trivy vulnerability scanner in repo mode
uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.24.0
uses: aquasecurity/trivy-action@dc5a429b52fcf669ce959baa2c2dd26090d2a6c4 # v0.32.0
with:
scan-type: fs
ignore-unfixed: false
@ -39,8 +39,10 @@ jobs:
scanners: vuln,secret
exit-code: '0'
vuln-type: os,library
env:
TRIVY_DB_REPOSITORY: 'public.ecr.aws/aquasecurity/trivy-db:2'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7
uses: github/codeql-action/upload-sarif@df559355d593797519d70b90fc8edd5db049e7a2 # v3.29.5
with:
sarif_file: trivy-results.sarif
category: code
category: code

View File

@ -20,9 +20,9 @@ jobs:
contents: write
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache-dependency-path: go.sum

View File

@ -23,9 +23,9 @@ jobs:
version_extractor_regex: '^docs-v(.*)$'
- name: Checkout
if: ${{ steps.semver.outputs.prerelease == '' }}
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
if: ${{ steps.semver.outputs.prerelease == '' }}
with:
go-version-file: go.mod

View File

@ -23,13 +23,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache-dependency-path: go.sum
- name: golangci-lint
uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v3.7.1
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
with:
skip-cache: true

View File

@ -44,7 +44,6 @@ concurrency:
jobs:
check-semantic-pr:
runs-on: ubuntu-latest
if: ${{ github.actor != 'gcp-cherry-pick-bot' }}
steps:
- name: Validate Pull Request
uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017

View File

@ -33,7 +33,7 @@ jobs:
docker-images: true
swap-storage: false
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- name: Fetch all tags
@ -41,19 +41,19 @@ jobs:
set -e
git fetch --force --tags
- name: Setup Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache-dependency-path: go.sum
- name: Install Cosign
uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3.6.0
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
- name: Install Syft
uses: anchore/sbom-action/download-syft@61119d458adab75f756bc0b9e4bde25725f86a7a # v0.17.2
uses: anchore/sbom-action/download-syft@7b36ad622f042cab6f59a75c2ac24ccb256e9b45 # v0.20.4
- name: Install Ko
uses: ko-build/setup-ko@3aebd0597dc1e9d1a26bcfdb7cbeb19c131d3037 # v0.7
uses: ko-build/setup-ko@d006021bd0c28d1ce33a07e7943d48b079944c8d # v0.9
- name: Run GoReleaser
id: goreleaser
uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0
uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552 # v6.3.0
with:
distribution: goreleaser
version: latest
@ -61,14 +61,14 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload artifacts.json
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # 2.9.0
uses: svenstaro/upload-release-action@81c65b7cd4de9b2570615ce3aad67a41de5b1a13 # 2.11.2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: dist/artifacts.json
asset_name: artifacts.json
tag: ${{ github.ref }}
- name: Upload metadata.json
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # 2.9.0
uses: svenstaro/upload-release-action@81c65b7cd4de9b2570615ce3aad67a41de5b1a13 # 2.11.2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: dist/metadata.json
@ -102,7 +102,7 @@ jobs:
actions: read
id-token: write
contents: write
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.0.0
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0
with:
base64-subjects: "${{ needs.goreleaser.outputs.hashes }}"
upload-assets: true
@ -114,7 +114,7 @@ jobs:
actions: read
id-token: write
packages: write
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2.0.0
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2.1.0
with:
image: ${{ needs.goreleaser.outputs.image }}
digest: ${{ needs.goreleaser.outputs.digest }}

View File

@ -23,9 +23,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache-dependency-path: go.sum
@ -38,7 +38,7 @@ jobs:
set -e
make tests
- name: Upload coverage
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: coverage.out
path: coverage.out
@ -51,11 +51,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download coverage
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: coverage.out
- name: Upload Report to Codecov
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
with:
files: ./coverage.out
fail_ci_if_error: true
@ -67,9 +67,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache-dependency-path: go.sum
@ -82,18 +82,33 @@ jobs:
set -e
make e2e-tests
e2e-tests-no-cluster:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache-dependency-path: go.sum
- name: Run tests
run: |
set -e
make e2e-tests-no-cluster
e2e-test-ko:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache-dependency-path: go.sum
- name: Install ko
uses: ko-build/setup-ko@3aebd0597dc1e9d1a26bcfdb7cbeb19c131d3037 #v0.7
uses: ko-build/setup-ko@d006021bd0c28d1ce33a07e7943d48b079944c8d #v0.9
- name: Create test cluster
run: |
set -e

View File

@ -1,3 +1,4 @@
version: "2"
linters:
enable:
- asasalint
@ -5,46 +6,49 @@ linters:
- bidichk
- bodyclose
- containedctx
- copyloopvar
- decorder
- dogsled
- durationcheck
- errcheck
- errname
- exportloopref
- gci
- gochecknoinits
- gofmt
- gofumpt
- goimports
- goprintffuncname
- gosec
- gosimple
- govet
- grouper
- importas
- ineffassign
- makezero
- misspell
- noctx
- nolintlint
- nosprintfhostport
# - paralleltest
- staticcheck
- tenv
- thelper
- tparallel
- typecheck
- unconvert
- unused
- usetesting
- wastedassign
- whitespace
run:
timeout: 15m
output:
sort-results: true
issues:
exclude-files:
- ".+\\.generated.go"
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
paths:
- .+\.generated.go
- third_party$
- builtin$
- examples$
formatters:
enable:
- gci
- gofmt
- gofumpt
- goimports
exclusions:
generated: lax
paths:
- .+\.generated.go
- third_party$
- builtin$
- examples$

View File

@ -13,11 +13,13 @@ Release notes for `TODO`.
## ⛵ Tutorials ⛵
## 🔧 Fixes 🔧
## 📚 Docs 📚
## 🎸 Misc 🎸
-->
## 🔧 Fixes 🔧
## 💫 New features 💫
- Fixed default report name not set correctly
- Continue tests when an error happens when computing the test name

24
.release-notes/v0.2.10.md Normal file
View File

@ -0,0 +1,24 @@
# Release notes
Release notes for `v0.2.10`.
## 💫 New features 💫
- Added bindings support when referencing step templates
- Restructured the reports system
- Added reports in JSON format back
- Added new JUnit report formats with different granularity (`JUNIT-TEST`, `JUNIT-STEP`, `JUNIT-OPERATION`)
- `XML` report format should be considered deprecated and replaced with one of the `JUNIT-*` format
## 🔧 Fixes 🔧
- Fixed default report name not set correctly
- Made `template` required when referencing a step template
## 📚 Docs 📚
- Started a JMESPath function example page in the docs (only `x_k8s_get` is available at this time)
## 🎸 Misc 🎸
- Removed test `v1alpha2` API for now

17
.release-notes/v0.2.11.md Normal file
View File

@ -0,0 +1,17 @@
# Release notes
Release notes for `v0.2.11`.
## 💫 New features 💫
- Added CEL support everywhere (bindings, assertion trees, projection trees, outputs...)
- Added test sharding support
## 🔧 Fixes 🔧
- Fixed exit code when failing in root test run
- Fixed `--no-cluster` flag not working
## 📚 Docs 📚
- Added most JMESPath functions docs and examples

15
.release-notes/v0.2.12.md Normal file
View File

@ -0,0 +1,15 @@
# Release notes
Release notes for `v0.2.12`.
## 💫 New features 💫
- Registered Kubernetes CEL libs, optional types, and various other std libs
- Support conditions in labels in assertion templates
- Added `skipCommandOutput` support to not log the `command` and `script` being executed
## 🔧 Fixes 🔧
- Allow escaping dollar sign in `command` and `script`
- Fixed `chainsaw build docs` rendering invalid yaml
- Fixed step template bindings registered in the wrong order

View File

@ -96,6 +96,7 @@
],
"default": ""
},
"x-kubernetes-list-type": "set",
"x-kubernetes-patch-strategy": "merge"
},
"generateName": {
@ -207,7 +208,8 @@
"additionalProperties": false
}
]
}
},
"x-kubernetes-list-type": "atomic"
},
"name": {
"description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
@ -285,6 +287,10 @@
}
]
},
"x-kubernetes-list-map-keys": [
"uid"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "uid",
"x-kubernetes-patch-strategy": "merge"
},
@ -421,6 +427,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -436,10 +453,6 @@
},
"check": {
"description": "Check is an assertion tree to validate the operation outcome.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
},
"cluster": {
@ -501,6 +514,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -531,12 +555,19 @@
"value"
],
"properties": {
"match": {
"description": "Match defines the matching statement.",
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"object",
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"match": {
"description": "Match defines the matching statement.",
"x-kubernetes-preserve-unknown-fields": true
},
"name": {
@ -552,6 +583,13 @@
"additionalProperties": false
}
},
"skipCommandOutput": {
"description": "SkipCommandOutput removes the command from the output logs.",
"type": [
"boolean",
"null"
]
},
"skipLogOutput": {
"description": "SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise.",
"type": [
@ -576,6 +614,17 @@
},
"additionalProperties": false
},
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"delete": {
"description": "Delete represents a deletion operation.",
"type": [
@ -606,6 +655,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -687,15 +747,10 @@
"properties": {
"check": {
"description": "Check defines the verification statement.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"match": {
"description": "Match defines the matching statement.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
}
},
@ -1195,6 +1250,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -1210,10 +1276,6 @@
},
"check": {
"description": "Check is an assertion tree to validate the operation outcome.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
},
"cluster": {
@ -1278,6 +1340,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -1308,12 +1381,19 @@
"value"
],
"properties": {
"match": {
"description": "Match defines the matching statement.",
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"object",
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"match": {
"description": "Match defines the matching statement.",
"x-kubernetes-preserve-unknown-fields": true
},
"name": {
@ -1329,6 +1409,13 @@
"additionalProperties": false
}
},
"skipCommandOutput": {
"description": "SkipCommandOutput removes the command from the output logs.",
"type": [
"boolean",
"null"
]
},
"skipLogOutput": {
"description": "SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise.",
"type": [
@ -1570,6 +1657,17 @@
"additionalProperties": false
}
},
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"delayBeforeCleanup": {
"description": "DelayBeforeCleanup adds a delay between the time a test ends and the time cleanup starts.",
"type": [
@ -1634,11 +1732,18 @@
},
"namespaceTemplate": {
"description": "NamespaceTemplate defines a template to create the test namespace.",
"x-kubernetes-preserve-unknown-fields": true
},
"namespaceTemplateCompiler": {
"description": "NamespaceTemplateCompiler defines the default compiler to use when evaluating expressions.",
"type": [
"object",
"string",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
"enum": [
"jp",
"cel"
]
},
"parallel": {
"description": "The maximum number of tests to run at once.",
@ -1659,7 +1764,7 @@
"minimum": 1
},
"reportFormat": {
"description": "ReportFormat determines test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION|nil) nil == no report.\nmaps to report.Type, however we don't want generated.deepcopy to have reference to it.",
"description": "ReportFormat determines test report format (JSON, XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION, nil) nil == no report.\nmaps to report.Type, however we don't want generated.deepcopy to have reference to it.",
"type": [
"string",
"null"

View File

@ -96,6 +96,7 @@
],
"default": ""
},
"x-kubernetes-list-type": "set",
"x-kubernetes-patch-strategy": "merge"
},
"generateName": {
@ -207,7 +208,8 @@
"additionalProperties": false
}
]
}
},
"x-kubernetes-list-type": "atomic"
},
"name": {
"description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
@ -285,6 +287,10 @@
}
]
},
"x-kubernetes-list-map-keys": [
"uid"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "uid",
"x-kubernetes-patch-strategy": "merge"
},
@ -549,6 +555,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -564,10 +581,6 @@
},
"check": {
"description": "Check is an assertion tree to validate the operation outcome.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
},
"cluster": {
@ -629,6 +642,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -659,12 +683,19 @@
"value"
],
"properties": {
"match": {
"description": "Match defines the matching statement.",
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"object",
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"match": {
"description": "Match defines the matching statement.",
"x-kubernetes-preserve-unknown-fields": true
},
"name": {
@ -680,6 +711,13 @@
"additionalProperties": false
}
},
"skipCommandOutput": {
"description": "SkipCommandOutput removes the command from the output logs.",
"type": [
"boolean",
"null"
]
},
"skipLogOutput": {
"description": "SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise.",
"type": [
@ -704,6 +742,17 @@
},
"additionalProperties": false
},
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"delete": {
"description": "Delete represents a deletion operation.",
"type": [
@ -734,6 +783,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -815,15 +875,10 @@
"properties": {
"check": {
"description": "Check defines the verification statement.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"match": {
"description": "Match defines the matching statement.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
}
},
@ -1323,6 +1378,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -1338,10 +1404,6 @@
},
"check": {
"description": "Check is an assertion tree to validate the operation outcome.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
},
"cluster": {
@ -1406,6 +1468,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -1436,12 +1509,19 @@
"value"
],
"properties": {
"match": {
"description": "Match defines the matching statement.",
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"object",
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"match": {
"description": "Match defines the matching statement.",
"x-kubernetes-preserve-unknown-fields": true
},
"name": {
@ -1457,6 +1537,13 @@
"additionalProperties": false
}
},
"skipCommandOutput": {
"description": "SkipCommandOutput removes the command from the output logs.",
"type": [
"boolean",
"null"
]
},
"skipLogOutput": {
"description": "SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise.",
"type": [
@ -1721,6 +1808,17 @@
],
"default": {},
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name defines the namespace to use for tests.\nIf not specified, every test will execute in a random ephemeral namespace\nunless the namespace is overridden in a the test spec.",
"type": [
@ -1730,10 +1828,6 @@
},
"template": {
"description": "Template defines a template to create the test namespace.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
}
},
@ -1747,7 +1841,7 @@
],
"properties": {
"format": {
"description": "ReportFormat determines test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION).",
"description": "ReportFormat determines test report format (JSON, XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION).",
"type": [
"string",
"null"
@ -1787,6 +1881,17 @@
],
"default": {},
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"enabled": {
"description": "Enabled determines whether resources should be considered for templating.",
"type": [

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1
.vscode/launch.json vendored
View File

@ -16,6 +16,7 @@
"./testdata/e2e/examples",
"--config",
"./testdata/e2e/config.yaml",
"--remarshal",
]
},
{

View File

@ -9,6 +9,7 @@ The list of organizations that have publicly shared the usage of Chainsaw:
| Organization | Success Story |
|:--|:--|
| [Keptn](https://github.com/keptn/lifecycle-toolkit)| Chainsaw replaced Kuttl, and helped us get rid of many unreadable bash scripts |
| [OpenFeature](https://github.com/open-feature/open-feature-operator)| Chainsaw replaced Kuttl, helped us improve logging and remove native kubectl calls |
| [Kyverno](https://kyverno.io) | Running all end to end tests for both Kyverno and the policies catalog |
| [Nirmata](https://nirmata.com/) | Using Chainsaw extensively to test curated Kyverno policies, Kyverno Operator and other e2e internal testing |
| [Redis-operator](https://github.com/OT-CONTAINER-KIT/redis-operator) | Chainsaw helped a lot for declarative assertion of Redis Cluster state against various e2e test |
@ -20,6 +21,7 @@ The list of organizations that have publicly shared the usage of Chainsaw:
| [Provider-ceph](https://github.com/linode/provider-ceph) | Chainsaw replaced Kuttl and made our e2e tests much more readable and easier to debug |
| [Linode CAPI provider](https://github.com/linode/cluster-api-provider-linode) | Chainsaw replaced Kuttl and made our e2e tests much more readable and easier to debug. 🙏 @eddycharly |
| [Linode COSI driver](https://github.com/linode/linode-cosi-driver) | Running all end to end tests for object store driver |
| [Odigos](https://github.com/odigos-io/odigos) | Chainsaw helps us run complex e2e tests confidently, ensuring project reliability. |
<!-- append the line below to the table

View File

@ -7,9 +7,6 @@
GIT_SHA := $(shell git rev-parse HEAD)
ORG ?= kyverno
PACKAGE ?= github.com/$(ORG)/chainsaw
GOPATH_SHIM := ${PWD}/.gopath
PACKAGE_SHIM := $(GOPATH_SHIM)/src/$(PACKAGE)
INPUT_DIRS := $(PACKAGE)/pkg/apis/v1alpha1,$(PACKAGE)/pkg/apis/v1alpha2
CRDS_PATH := ${PWD}/.crds
CLI_BIN := chainsaw
CGO_ENABLED ?= 0
@ -21,7 +18,7 @@ LD_FLAGS := "-s -w"
endif
KO_REGISTRY := ko.local
KO_TAGS := $(GIT_SHA)
KIND_IMAGE ?= kindest/node:v1.29.2
KIND_IMAGE ?= kindest/node:v1.33.2
#########
# TOOLS #
@ -32,13 +29,13 @@ CONTROLLER_GEN := $(TOOLS_DIR)/controller-gen
REGISTER_GEN := $(TOOLS_DIR)/register-gen
DEEPCOPY_GEN := $(TOOLS_DIR)/deepcopy-gen
CONVERSION_GEN := $(TOOLS_DIR)/conversion-gen
CODE_GEN_VERSION := v0.28.0
CODE_GEN_VERSION := v0.33.3
REFERENCE_DOCS := $(TOOLS_DIR)/genref
REFERENCE_DOCS_VERSION := latest
KIND := $(TOOLS_DIR)/kind
KIND_VERSION := v0.22.0
KIND_VERSION := v0.29.0
KO ?= $(TOOLS_DIR)/ko
KO_VERSION ?= v0.15.1
KO_VERSION ?= v0.18.0
TOOLS := $(CONTROLLER_GEN) $(REGISTER_GEN) $(DEEPCOPY_GEN) $(CONVERSION_GEN) $(REFERENCE_DOCS) $(KIND) $(KO)
PIP ?= "pip"
ifeq ($(GOOS), darwin)
@ -50,7 +47,7 @@ COMMA := ,
$(CONTROLLER_GEN):
@echo Install controller-gen... >&2
@cd ./hack/controller-gen && GOBIN=$(TOOLS_DIR) go install
@cd ./hack/controller-gen && GOBIN=$(TOOLS_DIR) go install -buildvcs=false
$(REGISTER_GEN):
@echo Install register-gen... >&2
@ -89,54 +86,42 @@ clean-tools: ## Remove installed tools
# CODEGEN #
###########
$(GOPATH_SHIM):
@echo Create gopath shim... >&2
@mkdir -p $(GOPATH_SHIM)
.INTERMEDIATE: $(PACKAGE_SHIM)
$(PACKAGE_SHIM): $(GOPATH_SHIM)
@echo Create package shim... >&2
@mkdir -p $(GOPATH_SHIM)/src/github.com/$(ORG) && ln -s -f ${PWD} $(PACKAGE_SHIM)
.PHONY: codegen-register
codegen-register: ## Generate types registrations
codegen-register: $(PACKAGE_SHIM)
codegen-register: $(REGISTER_GEN)
@echo Generate registration... >&2
@GOPATH=$(GOPATH_SHIM) $(REGISTER_GEN) \
@$(REGISTER_GEN) \
--go-header-file=./hack/boilerplate.go.txt \
--input-dirs=$(INPUT_DIRS)
--output-file zz_generated.register.go \
./pkg/apis/...
.PHONY: codegen-deepcopy
codegen-deepcopy: ## Generate deep copy functions
codegen-deepcopy: $(PACKAGE_SHIM)
codegen-deepcopy: $(DEEPCOPY_GEN)
@echo Generate deep copy functions... >&2
@GOPATH=$(GOPATH_SHIM) $(DEEPCOPY_GEN) \
@$(DEEPCOPY_GEN) \
--go-header-file=./hack/boilerplate.go.txt \
--input-dirs=$(INPUT_DIRS) \
--output-file-base=zz_generated.deepcopy
--output-file=zz_generated.deepcopy.go \
./pkg/apis/...
.PHONY: codegen-conversion
codegen-conversion: ## Generate conversion functions
codegen-conversion: $(PACKAGE_SHIM)
codegen-conversion: $(CONVERSION_GEN)
@echo Generate conversion functions... >&2
@GOPATH=$(GOPATH_SHIM) $(CONVERSION_GEN) \
@$(CONVERSION_GEN) \
--go-header-file=./hack/boilerplate.go.txt \
--input-dirs=$(INPUT_DIRS) \
--output-file-base=zz_generated.conversion
--output-file=zz_generated.conversion.go \
./pkg/apis/...
.PHONY: codegen-crds
codegen-crds: ## Generate CRDs
codegen-crds: $(PACKAGE_SHIM)
codegen-crds: $(CONTROLLER_GEN)
codegen-crds: codegen-deepcopy
codegen-crds: codegen-register
codegen-crds: codegen-conversion
@echo Generate crds... >&2
@rm -rf $(CRDS_PATH)
@GOPATH=$(GOPATH_SHIM) $(CONTROLLER_GEN) paths=./pkg/apis/... crd:crdVersions=v1,ignoreUnexportedFields=true,generateEmbeddedObjectMeta=false output:dir=$(CRDS_PATH)
@$(CONTROLLER_GEN) paths=./pkg/apis/... crd:crdVersions=v1,ignoreUnexportedFields=true,generateEmbeddedObjectMeta=false output:dir=$(CRDS_PATH)
@echo Copy generated CRDs to embed in the CLI... >&2
@rm -rf pkg/data/crds && mkdir -p pkg/data/crds
@cp $(CRDS_PATH)/* pkg/data/crds
@ -145,7 +130,7 @@ codegen-crds: codegen-conversion
codegen-cli-docs: ## Generate CLI docs
codegen-cli-docs: build
@echo Generate cli docs... >&2
@rm -rf website/docs/reference/commands && mkdir -p website/reference/docs/commands
@rm -rf website/docs/reference/commands && mkdir -p website/docs/reference/commands
@./$(CLI_BIN) docs -o website/docs/reference/commands --autogenTag=false
.PHONY: codegen-api-docs
@ -241,7 +226,7 @@ verify-codegen: codegen
.PHONY: mkdocs-serve
mkdocs-serve: ## Generate and serve mkdocs website
@echo Generate and servemkdocs website... >&2
@echo Generate and serve mkdocs website... >&2
@$(PIP) install -r requirements.txt
@mkdocs serve -f ./website/mkdocs.yaml
@ -298,7 +283,14 @@ tests: $(CLI_BIN)
e2e-tests: ## Run e2e tests
e2e-tests: $(CLI_BIN)
@echo Running e2e tests... >&2
@./$(CLI_BIN) test --test-dir ./testdata/e2e --remarshal --config ./testdata/e2e/config.yaml --values ./testdata/e2e/values.yaml
@./$(CLI_BIN) test ./testdata/e2e --remarshal --config ./testdata/e2e/config.yaml --values ./testdata/e2e/values.yaml
.PHONY: e2e-tests-no-cluster
e2e-tests-no-cluster: ## Run e2e tests with --no-cluster
e2e-tests-no-cluster: $(CLI_BIN)
@echo Running e2e tests with --no-cluster... >&2
@./$(CLI_BIN) test testdata/e2e/examples/script-env --no-cluster --remarshal --config ./testdata/e2e/config.yaml --values ./testdata/e2e/values.yaml
@./$(CLI_BIN) test testdata/e2e/examples/dynamic-clusters --no-cluster --remarshal --config ./testdata/e2e/config.yaml --values ./testdata/e2e/values.yaml
.PHONY: e2e-tests-ko
e2e-tests-ko: ## Run e2e tests from a docker container

View File

@ -51,7 +51,7 @@ To attend our community meetings, join the [Chainsaw group](https://groups.googl
You will then be sent a meeting invite and will have access to the agenda and meeting notes.
Any member may suggest topics for discussion.
This is a public, weekly for Kyverno-Chainsaw maintainers to make announcements and provide project updates, and request input and feedback.
This is a public, weekly meeting for Kyverno-Chainsaw maintainers to make announcements and provide project updates, and request input and feedback.
This forum allows community members to raise agenda items of any sort, including but not limited to any PRs or issues on which they are working.
Weekly every Thursday at 2:00 PM UTC

View File

@ -5,20 +5,20 @@
class Chainsaw < Formula
desc "Declarative Kubernetes end-to-end testing."
homepage "https://kyverno.github.io/chainsaw"
version "0.1.9"
version "0.2.12"
on_macos do
if Hardware::CPU.arm?
url "https://github.com/kyverno/chainsaw/releases/download/v0.1.9/chainsaw_darwin_arm64.tar.gz"
sha256 "4187956ba26fd5dadf6552bfa77e769afdac48c08e5741c46a8e38b07ca708bc"
on_intel do
url "https://github.com/kyverno/chainsaw/releases/download/v0.2.12/chainsaw_darwin_amd64.tar.gz"
sha256 "b49dba1214b32024567b1edc7653498a644fbef18111bcc3e1c46dc52e1d194e"
def install
bin.install "chainsaw"
end
end
if Hardware::CPU.intel?
url "https://github.com/kyverno/chainsaw/releases/download/v0.1.9/chainsaw_darwin_amd64.tar.gz"
sha256 "8c65f3ee952aa04754d644f2ef3d5f489153638de4e71de6348d4628e5af0378"
on_arm do
url "https://github.com/kyverno/chainsaw/releases/download/v0.2.12/chainsaw_darwin_arm64.tar.gz"
sha256 "717a07fcc4d781fff967b287880fed1d8b1e6af9fbecc7650a714c467f296d33"
def install
bin.install "chainsaw"
@ -27,20 +27,24 @@ class Chainsaw < Formula
end
on_linux do
if Hardware::CPU.intel?
url "https://github.com/kyverno/chainsaw/releases/download/v0.1.9/chainsaw_linux_amd64.tar.gz"
sha256 "4080d3bb5ea6de6f85198e413e24a5c7aee941f027ba8b545f7a1ddbaa2e2856"
on_intel do
if Hardware::CPU.is_64_bit?
url "https://github.com/kyverno/chainsaw/releases/download/v0.2.12/chainsaw_linux_amd64.tar.gz"
sha256 "d6bfb17ba47af2db85edc0365288f92b5e1a4566f7ff130ec9b326f96856e209"
def install
bin.install "chainsaw"
def install
bin.install "chainsaw"
end
end
end
if Hardware::CPU.arm? && Hardware::CPU.is_64_bit?
url "https://github.com/kyverno/chainsaw/releases/download/v0.1.9/chainsaw_linux_arm64.tar.gz"
sha256 "05f2cdce3f34989e71f47cd30e005a49fa8d7abefbede20311f96eed016a34b8"
on_arm do
if Hardware::CPU.is_64_bit?
url "https://github.com/kyverno/chainsaw/releases/download/v0.2.12/chainsaw_linux_arm64.tar.gz"
sha256 "72a6273d6da16a04e29e0fae232631b084852d21ddf25f88ed3d3de480125d30"
def install
bin.install "chainsaw"
def install
bin.install "chainsaw"
end
end
end
end

164
go.mod
View File

@ -1,96 +1,104 @@
module github.com/kyverno/chainsaw
go 1.23.0
go 1.24.2
require (
github.com/Masterminds/sprig v2.22.0+incompatible
github.com/dustinkirkland/golang-petname v0.0.0-20240428194347-eebcea082ee0
github.com/evanphx/json-patch v5.9.0+incompatible
github.com/fatih/color v1.17.0
github.com/go-logr/logr v1.4.2
github.com/evanphx/json-patch v5.9.11+incompatible
github.com/fatih/color v1.18.0
github.com/go-logr/logr v1.4.3
github.com/google/cel-go v0.23.2
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
github.com/hashicorp/go-getter v1.7.6
github.com/jmespath-community/go-jmespath v1.1.2-0.20240627155901-bdbb290f571e
github.com/hashicorp/go-getter v1.7.8
github.com/jmespath-community/go-jmespath v1.1.2-0.20240930152130-6eb5a346873f
github.com/jstemmer/go-junit-report/v2 v2.1.0
github.com/kudobuilder/kuttl v0.19.0
github.com/kyverno/kyverno-json v0.0.4-0.20240730143747-aade3d42fc0e
github.com/kudobuilder/kuttl v0.20.0
github.com/kyverno/kyverno-json v0.0.4-0.20241008103124-b294ee72a2bf
github.com/kyverno/pkg/ext v0.0.0-20240418121121-df8add26c55c
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
github.com/prometheus/common v0.59.1
github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0
github.com/prometheus/common v0.65.0
github.com/spf13/cobra v1.9.1
github.com/spf13/pflag v1.0.7
github.com/stretchr/testify v1.10.0
github.com/xeipuuv/gojsonschema v1.2.0
go.uber.org/multierr v1.11.0
gopkg.in/yaml.v3 v3.0.1
k8s.io/api v0.31.1
k8s.io/apimachinery v0.31.1
k8s.io/client-go v0.31.1
k8s.io/utils v0.0.0-20240821151609-f90d01438635
sigs.k8s.io/controller-runtime v0.19.0
sigs.k8s.io/kubectl-validate v0.0.5-0.20240827210056-ce13d95db263
sigs.k8s.io/yaml v1.4.0
k8s.io/api v0.33.3
k8s.io/apimachinery v0.33.3
k8s.io/apiserver v0.33.3
k8s.io/client-go v0.33.3
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
sigs.k8s.io/controller-runtime v0.21.0
sigs.k8s.io/kubectl-validate v0.0.5-0.20241223122011-eb064d2f92d5
sigs.k8s.io/yaml v1.6.0
)
require (
cel.dev/expr v0.19.1 // indirect
cloud.google.com/go v0.115.1 // indirect
cloud.google.com/go/auth v0.9.1 // indirect
cloud.google.com/go/auth v0.9.7 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect
cloud.google.com/go/compute/metadata v0.5.0 // indirect
cloud.google.com/go/iam v1.2.0 // indirect
cloud.google.com/go/storage v1.43.0 // indirect
cloud.google.com/go/compute/metadata v0.5.2 // indirect
cloud.google.com/go/iam v1.2.1 // indirect
cloud.google.com/go/monitoring v1.21.1 // indirect
cloud.google.com/go/storage v1.44.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 // indirect
github.com/IGLOU-EU/go-wildcard v1.0.3 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver v1.5.0 // indirect
github.com/NYTimes/gziphandler v1.1.1 // indirect
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
github.com/aquilax/truncate v1.0.0 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/aws/aws-sdk-go v1.55.5 // indirect
github.com/aquilax/truncate v1.0.1 // indirect
github.com/aws/aws-sdk-go v1.55.6 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 // indirect
github.com/coreos/go-semver v0.3.1 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
github.com/envoyproxy/go-control-plane/envoy v1.32.3 // indirect
github.com/envoyproxy/go-control-plane/ratelimit v0.1.0 // indirect
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/cel-go v0.20.1 // indirect
github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/btree v1.1.3 // indirect
github.com/google/gnostic-models v0.6.9 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/s2a-go v0.1.8 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.3 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
github.com/googleapis/gax-go/v2 v2.13.0 // indirect
github.com/gopherjs/gopherjs v1.17.2 // indirect
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.1-0.20210315223345-82c243799c99 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-safetemp v1.0.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/imdario/mergo v0.3.16 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jinzhu/copier v0.4.0 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/jtolds/gls v4.20.0+incompatible // indirect
github.com/klauspost/compress v1.17.9 // indirect
github.com/klauspost/compress v1.18.0 // indirect
github.com/kylelemons/godebug v1.1.0 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
@ -102,10 +110,10 @@ require (
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/onsi/gomega v1.34.1 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_golang v1.20.2 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
github.com/prometheus/client_golang v1.22.0 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/stoewer/go-strcase v1.3.0 // indirect
@ -114,44 +122,48 @@ require (
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
github.com/zach-klippenstein/goregen v0.0.0-20160303162051-795b5e3961ea // indirect
go.etcd.io/etcd/api/v3 v3.5.15 // indirect
go.etcd.io/etcd/client/pkg/v3 v3.5.15 // indirect
go.etcd.io/etcd/client/v3 v3.5.15 // indirect
go.etcd.io/etcd/api/v3 v3.5.21 // indirect
go.etcd.io/etcd/client/pkg/v3 v3.5.21 // indirect
go.etcd.io/etcd/client/v3 v3.5.21 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
go.opentelemetry.io/otel v1.29.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.29.0 // indirect
go.opentelemetry.io/otel/metric v1.29.0 // indirect
go.opentelemetry.io/otel/sdk v1.29.0 // indirect
go.opentelemetry.io/otel/trace v1.29.0 // indirect
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/contrib/detectors/gcp v1.29.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.58.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 // indirect
go.opentelemetry.io/otel v1.33.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 // indirect
go.opentelemetry.io/otel/metric v1.33.0 // indirect
go.opentelemetry.io/otel/sdk v1.33.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect
go.opentelemetry.io/otel/trace v1.33.0 // indirect
go.opentelemetry.io/proto/otlp v1.4.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/crypto v0.26.0 // indirect
golang.org/x/exp v0.0.0-20240823005443-9b4947da3948 // indirect
golang.org/x/net v0.28.0 // indirect
golang.org/x/oauth2 v0.22.0 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/sys v0.24.0 // indirect
golang.org/x/term v0.23.0 // indirect
golang.org/x/text v0.17.0 // indirect
golang.org/x/time v0.6.0 // indirect
google.golang.org/api v0.194.0 // indirect
google.golang.org/genproto v0.0.0-20240827150818-7e3bb234dfed // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240827150818-7e3bb234dfed // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed // indirect
google.golang.org/grpc v1.65.0 // indirect
google.golang.org/protobuf v1.34.2 // indirect
go.yaml.in/yaml/v2 v2.4.2 // indirect
golang.org/x/crypto v0.38.0 // indirect
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sync v0.14.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/term v0.32.0 // indirect
golang.org/x/text v0.25.0 // indirect
golang.org/x/time v0.11.0 // indirect
google.golang.org/api v0.199.0 // indirect
google.golang.org/genproto v0.0.0-20241007155032-5fefd90f89a9 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect
google.golang.org/grpc v1.68.1 // indirect
google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
k8s.io/apiextensions-apiserver v0.31.0 // indirect
k8s.io/apiserver v0.31.0 // indirect
k8s.io/component-base v0.31.0 // indirect
k8s.io/apiextensions-apiserver v0.33.0 // indirect
k8s.io/component-base v0.33.3 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/kube-openapi v0.0.0-20240827152857-f7e401e7b4c2 // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
sigs.k8s.io/randfill v1.0.0 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
)

1124
go.sum

File diff suppressed because it is too large Load Diff

View File

@ -1,37 +1,39 @@
module github.com/kyverno/chainsaw/hack/controller-gen
go 1.22.0
go 1.24.0
require (
github.com/spf13/cobra v1.8.1
k8s.io/apiextensions-apiserver v0.31.1
sigs.k8s.io/controller-tools v0.16.3
github.com/spf13/cobra v1.9.1
k8s.io/apiextensions-apiserver v0.33.3
sigs.k8s.io/controller-tools v0.17.2
)
require (
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/gobuffalo/flect v1.0.2 // indirect
github.com/gobuffalo/flect v1.0.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/x448/float16 v0.8.4 // indirect
golang.org/x/mod v0.20.0 // indirect
golang.org/x/net v0.28.0 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/text v0.17.0 // indirect
golang.org/x/tools v0.24.0 // indirect
golang.org/x/mod v0.24.0 // indirect
golang.org/x/net v0.38.0 // indirect
golang.org/x/sync v0.12.0 // indirect
golang.org/x/text v0.23.0 // indirect
golang.org/x/tools v0.31.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
k8s.io/apimachinery v0.31.1 // indirect
k8s.io/apimachinery v0.33.3 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e // indirect
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
sigs.k8s.io/randfill v1.0.0 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)

View File

@ -1,25 +1,22 @@
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/gobuffalo/flect v1.0.2 h1:eqjPGSo2WmjgY2XlpGwo2NXgL3RucAKo4k4qQMNA5sA=
github.com/gobuffalo/flect v1.0.2/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs=
github.com/gobuffalo/flect v1.0.3 h1:xeWBM2nui+qnVvNM4S3foBhCAL2XgPU+a7FdpelbTq4=
github.com/gobuffalo/flect v1.0.3/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
@ -42,18 +39,19 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
github.com/onsi/gomega v1.34.2 h1:pNCwDkzrsv7MS9kpaQvVb1aVLahQXyJ/Tv5oAZMI3i8=
github.com/onsi/gomega v1.34.2/go.mod h1:v1xfxRgk0KIsG+QOdm7p8UosrOzPYRo60fd3B/1Dukc=
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
@ -61,8 +59,8 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@ -72,34 +70,34 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0=
golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE=
golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg=
golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU=
golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@ -111,25 +109,27 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40=
k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ=
k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
k8s.io/apiextensions-apiserver v0.33.3 h1:qmOcAHN6DjfD0v9kxL5udB27SRP6SG/MTopmge3MwEs=
k8s.io/apiextensions-apiserver v0.33.3/go.mod h1:oROuctgo27mUsyp9+Obahos6CWcMISSAPzQ77CAQGz8=
k8s.io/apimachinery v0.33.3 h1:4ZSrmNa0c/ZpZJhAgRdcsFcZOw1PQU1bALVQ0B3I5LA=
k8s.io/apimachinery v0.33.3/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A=
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
sigs.k8s.io/controller-tools v0.16.3 h1:z48C5/d4jCVQQvtiSBL5MYyZ3EO2eFIOXrIKMgHVhFY=
sigs.k8s.io/controller-tools v0.16.3/go.mod h1:AEj6k+w1kYpLZv2einOH3mj52ips4W/6FUjnB5tkJGs=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e h1:KqK5c/ghOm8xkHYhlodbp6i6+r+ChV2vuAuVRdFbLro=
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
sigs.k8s.io/controller-tools v0.17.2 h1:jNFOKps8WnaRKZU2R+4vRCHnXyJanVmXBWqkuUPFyFg=
sigs.k8s.io/controller-tools v0.17.2/go.mod h1:4q5tZG2JniS5M5bkiXY2/potOiXyhoZVw/U48vLkXk0=
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc=
sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=

45
pkg/apis/compiler.go Normal file
View File

@ -0,0 +1,45 @@
package apis
import (
"sync"
gocel "github.com/google/cel-go/cel"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/engine/functions"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
"github.com/kyverno/kyverno-json/pkg/core/compilers/cel"
"github.com/kyverno/kyverno-json/pkg/core/compilers/jp"
"k8s.io/apiserver/pkg/cel/library"
)
var (
env = sync.OnceValues(func() (*gocel.Env, error) {
env, err := cel.DefaultEnv()
if err != nil {
return nil, err
}
return env.Extend(
library.URLs(),
library.Regex(),
library.Lists(),
library.Authz(),
library.Quantity(),
library.IP(),
library.CIDR(),
library.Format(),
library.AuthzSelectors(),
)
})
defaultCompilers = compilers.Compilers{
Jp: jp.NewCompiler(jp.WithFunctionCaller(functions.Caller())),
Cel: cel.NewCompiler(env),
}
DefaultCompilers = defaultCompilers.WithDefaultCompiler(compilers.CompilerJP)
)
type Bindings = binding.Bindings
var (
NewBinding = binding.NewBinding
NewBindings = binding.NewBindings
)

View File

@ -22,12 +22,14 @@ func Convert_v1alpha2_ConfigurationSpec_To_v1alpha1_ConfigurationSpec(in *v1alph
out.ForceTerminationGracePeriod = in.Execution.ForceTerminationGracePeriod
out.Namespace = in.Namespace.Name
out.NamespaceTemplate = in.Namespace.Template
out.NamespaceTemplateCompiler = in.Namespace.Compiler
if in := in.Report; in != nil {
out.ReportFormat = v1alpha1.ReportFormatType(in.Format)
out.ReportPath = in.Path
out.ReportName = in.Name
}
out.Template = in.Templating.Enabled
out.Compiler = in.Templating.Compiler
out.Timeouts = in.Timeouts
return nil
}
@ -58,6 +60,7 @@ func Convert_v1alpha1_ConfigurationSpec_To_v1alpha2_ConfigurationSpec(in *v1alph
}
out.Namespace = v1alpha2.NamespaceOptions{
Name: in.Namespace,
Compiler: in.NamespaceTemplateCompiler,
Template: in.NamespaceTemplate,
}
out.Report = &v1alpha2.ReportOptions{
@ -66,7 +69,8 @@ func Convert_v1alpha1_ConfigurationSpec_To_v1alpha2_ConfigurationSpec(in *v1alph
Name: in.ReportName,
}
out.Templating = v1alpha2.TemplatingOptions{
Enabled: in.Template,
Enabled: in.Template,
Compiler: in.Compiler,
}
out.Timeouts = in.Timeouts
return nil

View File

@ -26,7 +26,7 @@ type ActionCheckRef struct {
// Check provides a check used in assertions.
// +optional
Check *Check `json:"resource,omitempty"`
Check *Projection `json:"resource,omitempty"`
// Template determines whether resources should be considered for templating.
// +optional
@ -60,6 +60,10 @@ type ActionEnv struct {
// SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise.
// +optional
SkipLogOutput bool `json:"skipLogOutput,omitempty"`
// SkipCommandOutput removes the command from the output logs.
// +optional
SkipCommandOutput bool `json:"skipCommandOutput,omitempty"`
}
// ActionExpectations contains expectations for an action.

View File

@ -15,6 +15,10 @@ type CatchFinally struct {
// +optional
Description string `json:"description,omitempty"`
// Compiler defines the default compiler to use when evaluating expressions.
// +optional
Compiler *Compiler `json:"compiler,omitempty"`
// PodLogs determines the pod logs collector to execute.
// +optional
PodLogs *PodLogs `json:"podLogs,omitempty"`

View File

@ -25,14 +25,14 @@ func TestFinally_Bindings(t *testing.T) {
}{{
fields: fields{
Command: &Command{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
}, {
fields: fields{
Delete: &Delete{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
@ -55,7 +55,7 @@ func TestFinally_Bindings(t *testing.T) {
}, {
fields: fields{
Script: &Script{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
@ -107,7 +107,7 @@ func TestFinally_Outputs(t *testing.T) {
}{{
fields: fields{
Command: &Command{
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{"foo", Any{Value: "bar"}}}}},
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{Name: "foo", Value: NewProjection("bar")}}}},
},
},
want: 1,
@ -134,7 +134,7 @@ func TestFinally_Outputs(t *testing.T) {
}, {
fields: fields{
Script: &Script{
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{"foo", Any{Value: "bar"}}}}},
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{Name: "foo", Value: NewProjection("bar")}}}},
},
},
want: 1,

View File

@ -37,6 +37,10 @@ type ConfigurationSpec struct {
// +kubebuilder:default:=true
Template bool `json:"template"`
// Compiler defines the default compiler to use when evaluating expressions.
// +optional
Compiler *Compiler `json:"compiler,omitempty"`
// FailFast determines whether the test should stop upon encountering the first failure.
// +optional
FailFast bool `json:"failFast,omitempty"`
@ -54,7 +58,7 @@ type ConfigurationSpec struct {
// +kubebuilder:default:=Background
DeletionPropagationPolicy metav1.DeletionPropagation `json:"deletionPropagationPolicy,omitempty"`
// ReportFormat determines test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION|nil) nil == no report.
// ReportFormat determines test report format (JSON, XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION, nil) nil == no report.
// maps to report.Type, however we don't want generated.deepcopy to have reference to it.
// +optional
// +kubebuilder:validation:Enum:=JSON;XML;JUNIT-TEST;JUNIT-STEP;JUNIT-OPERATION;
@ -75,9 +79,13 @@ type ConfigurationSpec struct {
// +optional
Namespace string `json:"namespace,omitempty"`
// NamespaceTemplateCompiler defines the default compiler to use when evaluating expressions.
// +optional
NamespaceTemplateCompiler *Compiler `json:"namespaceTemplateCompiler,omitempty"`
// NamespaceTemplate defines a template to create the test namespace.
// +optional
NamespaceTemplate *Any `json:"namespaceTemplate,omitempty"`
NamespaceTemplate *Projection `json:"namespaceTemplate,omitempty"`
// FullName makes use of the full test case folder path instead of the folder name.
// +optional

View File

@ -10,6 +10,10 @@ type OperationBase struct {
// Even if the test continues executing, it will still be reported as failed.
// +optional
ContinueOnError *bool `json:"continueOnError,omitempty"`
// Compiler defines the default compiler to use when evaluating expressions.
// +optional
Compiler *Compiler `json:"compiler,omitempty"`
}
// Operation defines a single operation, only one action is permitted for a given operation.

View File

@ -14,35 +14,35 @@ func TestOperation_Bindings(t *testing.T) {
}{{
operation: Operation{
Apply: &Apply{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
}, {
operation: Operation{
Assert: &Assert{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
}, {
operation: Operation{
Command: &Command{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
}, {
operation: Operation{
Create: &Create{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
}, {
operation: Operation{
Delete: &Delete{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
@ -54,7 +54,7 @@ func TestOperation_Bindings(t *testing.T) {
}, {
operation: Operation{
Error: &Error{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
@ -71,7 +71,7 @@ func TestOperation_Bindings(t *testing.T) {
}, {
operation: Operation{
Patch: &Patch{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
@ -88,7 +88,7 @@ func TestOperation_Bindings(t *testing.T) {
}, {
operation: Operation{
Script: &Script{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
@ -99,7 +99,7 @@ func TestOperation_Bindings(t *testing.T) {
}, {
operation: Operation{
Update: &Update{
ActionBindings: ActionBindings{Bindings: []Binding{{"foo", Any{Value: "bar"}}}},
ActionBindings: ActionBindings{Bindings: []Binding{{Name: "foo", Value: NewProjection("bar")}}},
},
},
want: 1,
@ -125,7 +125,7 @@ func TestOperation_Outputs(t *testing.T) {
}{{
operation: Operation{
Apply: &Apply{
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{"foo", Any{Value: "bar"}}}}},
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{Name: "foo", Value: NewProjection("bar")}}}},
},
},
want: 1,
@ -136,14 +136,14 @@ func TestOperation_Outputs(t *testing.T) {
}, {
operation: Operation{
Command: &Command{
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{"foo", Any{Value: "bar"}}}}},
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{Name: "foo", Value: NewProjection("bar")}}}},
},
},
want: 1,
}, {
operation: Operation{
Create: &Create{
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{"foo", Any{Value: "bar"}}}}},
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{Name: "foo", Value: NewProjection("bar")}}}},
},
},
want: 1,
@ -170,7 +170,7 @@ func TestOperation_Outputs(t *testing.T) {
}, {
operation: Operation{
Patch: &Patch{
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{"foo", Any{Value: "bar"}}}}},
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{Name: "foo", Value: NewProjection("bar")}}}},
},
},
want: 1,
@ -185,7 +185,7 @@ func TestOperation_Outputs(t *testing.T) {
}, {
operation: Operation{
Script: &Script{
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{"foo", Any{Value: "bar"}}}}},
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{Name: "foo", Value: NewProjection("bar")}}}},
},
},
want: 1,
@ -196,7 +196,7 @@ func TestOperation_Outputs(t *testing.T) {
}, {
operation: Operation{
Update: &Update{
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{"foo", Any{Value: "bar"}}}}},
ActionOutputs: ActionOutputs{Outputs: []Output{{Binding: Binding{Name: "foo", Value: NewProjection("bar")}}}},
},
},
want: 1,

View File

@ -0,0 +1,52 @@
package v1alpha1
import (
"encoding/json"
"github.com/kyverno/kyverno-json/pkg/utils/copy"
)
// Projection can be any type.
// +k8s:deepcopy-gen=false
// +kubebuilder:validation:XPreserveUnknownFields
// +kubebuilder:validation:Type:=""
type Projection struct {
_value any
}
func NewProjection(value any) Projection {
return Projection{
_value: value,
}
}
func (a *Projection) Value() any {
return a._value
}
func (a *Projection) MarshalJSON() ([]byte, error) {
return json.Marshal(a._value)
}
func (a *Projection) UnmarshalJSON(data []byte) error {
var v any
err := json.Unmarshal(data, &v)
if err != nil {
return err
}
a._value = v
return nil
}
func (in *Projection) DeepCopyInto(out *Projection) {
out._value = copy.DeepCopy(in._value)
}
func (in *Projection) DeepCopy() *Projection {
if in == nil {
return nil
}
out := new(Projection)
in.DeepCopyInto(out)
return out
}

View File

@ -110,6 +110,10 @@ type TestStepSpec struct {
// +optional
Template *bool `json:"template,omitempty"`
// Compiler defines the default compiler to use when evaluating expressions.
// +optional
Compiler *Compiler `json:"compiler,omitempty"`
// Bindings defines additional binding key/values.
// +optional
Bindings []Binding `json:"bindings,omitempty"`

View File

@ -60,13 +60,21 @@ type TestSpec struct {
// +optional
Template *bool `json:"template,omitempty"`
// Compiler defines the default compiler to use when evaluating expressions.
// +optional
Compiler *Compiler `json:"compiler,omitempty"`
// Namespace determines whether the test should run in a random ephemeral namespace or not.
// +optional
Namespace string `json:"namespace,omitempty"`
// NamespaceTemplate defines a template to create the test namespace.
// +optional
NamespaceTemplate *Any `json:"namespaceTemplate,omitempty"`
NamespaceTemplate *Projection `json:"namespaceTemplate,omitempty"`
// NamespaceTemplateCompiler defines the default compiler to use when evaluating expressions.
// +optional
NamespaceTemplateCompiler *Compiler `json:"namespaceTemplateCompiler,omitempty"`
// Scenarios defines test scenarios.
// +optional

View File

@ -6,17 +6,27 @@ import (
"fmt"
"regexp"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/jmespath-community/go-jmespath/pkg/parsing"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/expressions"
"github.com/kyverno/kyverno-json/pkg/apis/policy/v1alpha1"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
var identifier = regexp.MustCompile(`^(?:\w+|\(.+\))$`)
const (
EngineJP = v1alpha1.EngineJP
EngineCEL = v1alpha1.EngineCEL
)
// Any represents any type.
type Any = v1alpha1.Any
var (
identifier = regexp.MustCompile(`^(?:\w+|\(.+\))$`)
NewAny = v1alpha1.NewAny
NewCheck = v1alpha1.NewAssertionTree
NewMatch = v1alpha1.NewAssertionTree
)
type Compiler = v1alpha1.Compiler
// Binding represents a key/value set as a binding in an executing test.
type Binding struct {
@ -25,10 +35,12 @@ type Binding struct {
// +kubebuilder:validation:Pattern:=`^(?:\w+|\(.+\))$`
Name Expression `json:"name"`
// Compiler defines the default compiler to use when evaluating expressions.
// +optional
Compiler *Compiler `json:"compiler,omitempty"`
// Value value of the binding.
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
Value Any `json:"value"`
Value Projection `json:"value"`
}
func (b Binding) CheckName() error {
@ -39,7 +51,7 @@ func (b Binding) CheckName() error {
}
// Check represents a check to be applied on the result of an operation.
type Check = Any
type Check = v1alpha1.AssertionTree
// Cluster defines cluster config and context.
type Cluster struct {
@ -96,8 +108,8 @@ func (e *Expression) UnmarshalJSON(data []byte) error {
return nil
}
func (e Expression) Value(ctx context.Context, bindings binding.Bindings) (string, error) {
return expressions.String(ctx, string(e), bindings)
func (e Expression) Value(ctx context.Context, compilers compilers.Compilers, bindings apis.Bindings) (string, error) {
return expressions.String(ctx, compilers, string(e), bindings)
}
// Format determines the output format (json or yaml).
@ -106,7 +118,7 @@ func (e Expression) Value(ctx context.Context, bindings binding.Bindings) (strin
type Format Expression
// Match represents a match condition against an evaluated object.
type Match = Any
type Match = v1alpha1.AssertionTree
// ObjectName represents an object namespace and name.
type ObjectName struct {
@ -186,31 +198,6 @@ type DefaultTimeouts struct {
Exec metav1.Duration `json:"exec"`
}
func (t DefaultTimeouts) Combine(override *Timeouts) DefaultTimeouts {
if override == nil {
return t
}
if override.Apply != nil {
t.Apply = *override.Apply
}
if override.Assert != nil {
t.Assert = *override.Assert
}
if override.Error != nil {
t.Error = *override.Error
}
if override.Delete != nil {
t.Delete = *override.Delete
}
if override.Cleanup != nil {
t.Cleanup = *override.Cleanup
}
if override.Exec != nil {
t.Exec = *override.Exec
}
return t
}
// Timeouts contains timeouts per operation.
type Timeouts struct {
// Apply defines the timeout for the apply operation

View File

@ -2,17 +2,15 @@ package v1alpha1
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
func TestBinding_CheckName(t *testing.T) {
tests := []struct {
name string
bindingName Expression
bindingValue Any
bindingValue Projection
wantErr bool
}{{
name: "empty",
@ -57,51 +55,3 @@ func TestBinding_CheckName(t *testing.T) {
})
}
}
func TestTimeouts_Combine(t *testing.T) {
base := DefaultTimeouts{
Apply: metav1.Duration{Duration: 1 * time.Minute},
Assert: metav1.Duration{Duration: 1 * time.Minute},
Cleanup: metav1.Duration{Duration: 1 * time.Minute},
Delete: metav1.Duration{Duration: 1 * time.Minute},
Error: metav1.Duration{Duration: 1 * time.Minute},
Exec: metav1.Duration{Duration: 1 * time.Minute},
}
override := Timeouts{
Apply: &metav1.Duration{Duration: 2 * time.Minute},
Assert: &metav1.Duration{Duration: 2 * time.Minute},
Cleanup: &metav1.Duration{Duration: 2 * time.Minute},
Delete: &metav1.Duration{Duration: 2 * time.Minute},
Error: &metav1.Duration{Duration: 2 * time.Minute},
Exec: &metav1.Duration{Duration: 2 * time.Minute},
}
tests := []struct {
name string
base DefaultTimeouts
override *Timeouts
want DefaultTimeouts
}{{
name: "nil",
base: base,
override: nil,
want: base,
}, {
name: "override",
base: base,
override: &override,
want: DefaultTimeouts{
Apply: metav1.Duration{Duration: 2 * time.Minute},
Assert: metav1.Duration{Duration: 2 * time.Minute},
Cleanup: metav1.Duration{Duration: 2 * time.Minute},
Delete: metav1.Duration{Duration: 2 * time.Minute},
Error: metav1.Duration{Duration: 2 * time.Minute},
Exec: metav1.Duration{Duration: 2 * time.Minute},
},
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := tt.base.Combine(tt.override)
assert.Equal(t, tt.want, got)
})
}
}

View File

@ -22,6 +22,7 @@ limitations under the License.
package v1alpha1
import (
policyv1alpha1 "github.com/kyverno/kyverno-json/pkg/apis/policy/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
@ -377,6 +378,11 @@ func (in *Assert) DeepCopy() *Assert {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Binding) DeepCopyInto(out *Binding) {
*out = *in
if in.Compiler != nil {
in, out := &in.Compiler, &out.Compiler
*out = new(policyv1alpha1.Compiler)
**out = **in
}
in.Value.DeepCopyInto(&out.Value)
return
}
@ -394,6 +400,11 @@ func (in *Binding) DeepCopy() *Binding {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CatchFinally) DeepCopyInto(out *CatchFinally) {
*out = *in
if in.Compiler != nil {
in, out := &in.Compiler, &out.Compiler
*out = new(policyv1alpha1.Compiler)
**out = **in
}
if in.PodLogs != nil {
in, out := &in.PodLogs, &out.PodLogs
*out = new(PodLogs)
@ -553,11 +564,21 @@ func (in *Configuration) DeepCopyObject() runtime.Object {
func (in *ConfigurationSpec) DeepCopyInto(out *ConfigurationSpec) {
*out = *in
out.Timeouts = in.Timeouts
if in.Compiler != nil {
in, out := &in.Compiler, &out.Compiler
*out = new(policyv1alpha1.Compiler)
**out = **in
}
if in.Parallel != nil {
in, out := &in.Parallel, &out.Parallel
*out = new(int)
**out = **in
}
if in.NamespaceTemplateCompiler != nil {
in, out := &in.NamespaceTemplateCompiler, &out.NamespaceTemplateCompiler
*out = new(policyv1alpha1.Compiler)
**out = **in
}
if in.NamespaceTemplate != nil {
in, out := &in.NamespaceTemplate, &out.NamespaceTemplate
*out = (*in).DeepCopy()
@ -967,6 +988,11 @@ func (in *OperationBase) DeepCopyInto(out *OperationBase) {
*out = new(bool)
**out = **in
}
if in.Compiler != nil {
in, out := &in.Compiler, &out.Compiler
*out = new(policyv1alpha1.Compiler)
**out = **in
}
return
}
@ -1286,10 +1312,20 @@ func (in *TestSpec) DeepCopyInto(out *TestSpec) {
*out = new(bool)
**out = **in
}
if in.Compiler != nil {
in, out := &in.Compiler, &out.Compiler
*out = new(policyv1alpha1.Compiler)
**out = **in
}
if in.NamespaceTemplate != nil {
in, out := &in.NamespaceTemplate, &out.NamespaceTemplate
*out = (*in).DeepCopy()
}
if in.NamespaceTemplateCompiler != nil {
in, out := &in.NamespaceTemplateCompiler, &out.NamespaceTemplateCompiler
*out = new(policyv1alpha1.Compiler)
**out = **in
}
if in.Scenarios != nil {
in, out := &in.Scenarios, &out.Scenarios
*out = make([]Scenario, len(*in))
@ -1403,6 +1439,11 @@ func (in *TestStepSpec) DeepCopyInto(out *TestStepSpec) {
*out = new(bool)
**out = **in
}
if in.Compiler != nil {
in, out := &in.Compiler, &out.Compiler
*out = new(policyv1alpha1.Compiler)
**out = **in
}
if in.Bindings != nil {
in, out := &in.Bindings, &out.Bindings
*out = make([]Binding, len(*in))

View File

@ -1,3 +1,6 @@
//go:build !ignore_autogenerated
// +build !ignore_autogenerated
/*
Copyright The Kubernetes Authors.
@ -20,8 +23,8 @@ package v1alpha1
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"
)
// GroupName specifies the group name used to register the objects.
@ -43,7 +46,7 @@ var (
// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
SchemeBuilder runtime.SchemeBuilder
localSchemeBuilder = &SchemeBuilder
// Depreciated: use Install instead
// Deprecated: use Install instead
AddToScheme = localSchemeBuilder.AddToScheme
Install = localSchemeBuilder.AddToScheme
)

View File

@ -2,7 +2,6 @@ package v1alpha2
import (
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
_ "github.com/kyverno/kyverno-json/pkg/apis/policy/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -87,9 +86,13 @@ type NamespaceOptions struct {
// +optional
Name string `json:"name,omitempty"`
// Compiler defines the default compiler to use when evaluating expressions.
// +optional
Compiler *Compiler `json:"compiler,omitempty"`
// Template defines a template to create the test namespace.
// +optional
Template *Any `json:"template,omitempty"`
Template *Projection `json:"template,omitempty"`
}
type ReportFormatType string
@ -104,7 +107,7 @@ const (
// ReportOptions contains the configuration used for reporting.
type ReportOptions struct {
// ReportFormat determines test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION).
// ReportFormat determines test report format (JSON, XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION).
// +optional
// +kubebuilder:validation:Enum:=JSON;XML;JUNIT-TEST;JUNIT-STEP;JUNIT-OPERATION
// +kubebuilder:default:="JSON"
@ -126,4 +129,8 @@ type TemplatingOptions struct {
// +optional
// +kubebuilder:default:=true
Enabled bool `json:"enabled"`
// Compiler defines the default compiler to use when evaluating expressions.
// +optional
Compiler *Compiler `json:"compiler,omitempty"`
}

View File

@ -5,8 +5,14 @@ import (
_ "github.com/kyverno/kyverno-json/pkg/apis/policy/v1alpha1"
)
type (
Any = v1alpha1.Any
Clusters = v1alpha1.Clusters
DefaultTimeouts = v1alpha1.DefaultTimeouts
const (
EngineJP = v1alpha1.EngineJP
EngineCEL = v1alpha1.EngineCEL
)
type (
Clusters = v1alpha1.Clusters
Compiler = v1alpha1.Compiler
DefaultTimeouts = v1alpha1.DefaultTimeouts
Projection = v1alpha1.Projection
)

View File

@ -23,6 +23,7 @@ package v1alpha2
import (
v1alpha1 "github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
policyv1alpha1 "github.com/kyverno/kyverno-json/pkg/apis/policy/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
@ -96,7 +97,7 @@ func (in *ConfigurationSpec) DeepCopyInto(out *ConfigurationSpec) {
*out = new(ReportOptions)
**out = **in
}
out.Templating = in.Templating
in.Templating.DeepCopyInto(&out.Templating)
out.Timeouts = in.Timeouts
return
}
@ -200,6 +201,11 @@ func (in *ExecutionOptions) DeepCopy() *ExecutionOptions {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NamespaceOptions) DeepCopyInto(out *NamespaceOptions) {
*out = *in
if in.Compiler != nil {
in, out := &in.Compiler, &out.Compiler
*out = new(policyv1alpha1.Compiler)
**out = **in
}
if in.Template != nil {
in, out := &in.Template, &out.Template
*out = (*in).DeepCopy()
@ -236,6 +242,11 @@ func (in *ReportOptions) DeepCopy() *ReportOptions {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TemplatingOptions) DeepCopyInto(out *TemplatingOptions) {
*out = *in
if in.Compiler != nil {
in, out := &in.Compiler, &out.Compiler
*out = new(policyv1alpha1.Compiler)
**out = **in
}
return
}

View File

@ -1,3 +1,6 @@
//go:build !ignore_autogenerated
// +build !ignore_autogenerated
/*
Copyright The Kubernetes Authors.
@ -20,8 +23,8 @@ package v1alpha2
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"
)
// GroupName specifies the group name used to register the objects.
@ -43,7 +46,7 @@ var (
// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
SchemeBuilder runtime.SchemeBuilder
localSchemeBuilder = &SchemeBuilder
// Depreciated: use Install instead
// Deprecated: use Install instead
AddToScheme = localSchemeBuilder.AddToScheme
Install = localSchemeBuilder.AddToScheme
)

View File

@ -73,8 +73,11 @@ func (c *cleaner) Run(ctx context.Context, stepReport *model.StepReport) []error
}
func (c *cleaner) delete(ctx context.Context, entry cleanupEntry) error {
ctx, cancel := context.WithTimeout(ctx, c.timeout)
defer cancel()
if c.timeout != 0 {
_ctx, cancel := context.WithTimeout(ctx, c.timeout)
defer cancel()
ctx = _ctx
}
if err := entry.client.Delete(ctx, entry.object, client.PropagationPolicy(c.propagation)); err != nil {
if !kerrors.IsNotFound(err) {
return err

View File

@ -8,6 +8,7 @@ import (
"github.com/kyverno/chainsaw/pkg/client"
tclient "github.com/kyverno/chainsaw/pkg/client/testing"
"github.com/kyverno/chainsaw/pkg/model"
"github.com/stretchr/testify/assert"
corev1 "k8s.io/api/core/v1"
kerror "k8s.io/apimachinery/pkg/api/errors"
@ -196,7 +197,7 @@ func Test_cleaner_Run(t *testing.T) {
timeout: 1 * time.Second,
entries: tt.entries,
}
got := c.Run(context.TODO(), nil)
got := c.Run(context.TODO(), &model.StepReport{})
assert.Equal(t, tt.want, got)
})
}

View File

@ -6,6 +6,7 @@ import (
"io"
"time"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/client"
"github.com/kyverno/chainsaw/pkg/client/simple"
tclient "github.com/kyverno/chainsaw/pkg/client/testing"
@ -137,9 +138,13 @@ func runE(opts options, cmd *cobra.Command, client client.Client, namespacer nsp
}
func assert(opts options, client client.Client, resource unstructured.Unstructured, namespacer nspacer.Namespacer) error {
ctx, cancel := context.WithTimeout(context.Background(), opts.timeout.Duration)
defer cancel()
op := opassert.New(client, resource, namespacer, false)
ctx := context.Background()
if opts.timeout.Duration != 0 {
_ctx, cancel := context.WithTimeout(ctx, opts.timeout.Duration)
defer cancel()
ctx = _ctx
}
op := opassert.New(apis.DefaultCompilers, client, resource, namespacer, false)
_, err := op.Exec(ctx, nil)
return err
}

View File

@ -3,23 +3,30 @@ package assert
import (
"bytes"
"context"
"errors"
"io"
"os"
"path"
"path/filepath"
"testing"
"time"
"github.com/kyverno/chainsaw/pkg/client"
tclient "github.com/kyverno/chainsaw/pkg/client/testing"
"github.com/kyverno/chainsaw/pkg/commands/root"
fakeNamespacer "github.com/kyverno/chainsaw/pkg/engine/namespacer/testing"
"github.com/kyverno/chainsaw/pkg/testing"
"github.com/spf13/cobra"
testify "github.com/stretchr/testify/assert"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)
type errReader struct{}
func (e *errReader) Read(p []byte) (n int, err error) {
return 0, errors.New("error reading from stdin")
}
func Test_Execute(t *testing.T) {
basePath := path.Join("..", "..", "..", "testdata", "commands", "assert")
tests := []struct {
@ -320,7 +327,7 @@ data:
cmd.Args = cobra.RangeArgs(0, 1)
cmd.SilenceUsage = true
cmd.SetOut(bytes.NewBufferString(""))
cmd.SetIn(&testing.ErrReader{})
cmd.SetIn(&errReader{})
return cmd
},
opts: options{

View File

@ -108,7 +108,7 @@ wait
{{- with .Test.Spec.Steps }}
| # | Name | Bindings | Try | Catch | Finally | Cleanup |
|:-:|---|:-:|:-:|:-:|:-:|
|:-:|---|:-:|:-:|:-:|:-:|:-:|
{{- range $i, $step := . }}
{{- $name := default (print "step-" (add $i 1)) $step.Name }}
| {{ add $i 1 }} | [{{ $name }}](#step-{{ $name }}) | {{ len $step.Bindings }} | {{ len $step.Try }} | {{ add (len $step.Catch) (len $test.Test.Spec.Catch) }} | {{ len $step.Finally }} | {{ len $step.Cleanup }} |

View File

@ -19,7 +19,7 @@ func websitePrepender(filename string) string {
now := time.Now().Format(time.RFC3339)
name := filepath.Base(filename)
base := strings.TrimSuffix(name, path.Ext(name))
return fmt.Sprintf(fmTemplate, now, strings.Replace(base, "_", " ", -1))
return fmt.Sprintf(fmTemplate, now, strings.ReplaceAll(base, "_", " "))
}
func websiteLinkHandler(filename string) string {

View File

@ -151,7 +151,7 @@ func processStep(stderr io.Writer, step *v1alpha1.TestStep, s discovery.Step, fo
}
}
if !containsKuttlResources {
step.TestStepSpec.Try = append(step.TestStepSpec.Try, v1alpha1.Operation{
step.Try = append(step.Try, v1alpha1.Operation{
Apply: &v1alpha1.Apply{
ActionResourceRef: v1alpha1.ActionResourceRef{
FileRef: v1alpha1.FileRef{
@ -193,7 +193,7 @@ func processStep(stderr io.Writer, step *v1alpha1.TestStep, s discovery.Step, fo
return err
}
}
step.TestStepSpec.Try = append(step.TestStepSpec.Try, v1alpha1.Operation{
step.Try = append(step.Try, v1alpha1.Operation{
Apply: &v1alpha1.Apply{
ActionResourceRef: v1alpha1.ActionResourceRef{
FileRef: v1alpha1.FileRef{
@ -218,7 +218,7 @@ func processStep(stderr io.Writer, step *v1alpha1.TestStep, s discovery.Step, fo
}
}
if !containsKuttlResources {
step.TestStepSpec.Try = append(step.TestStepSpec.Try, v1alpha1.Operation{
step.Try = append(step.Try, v1alpha1.Operation{
Assert: &v1alpha1.Assert{
ActionCheckRef: v1alpha1.ActionCheckRef{
FileRef: v1alpha1.FileRef{
@ -254,7 +254,7 @@ func processStep(stderr io.Writer, step *v1alpha1.TestStep, s discovery.Step, fo
return err
}
}
step.TestStepSpec.Try = append(step.TestStepSpec.Try, v1alpha1.Operation{
step.Try = append(step.Try, v1alpha1.Operation{
Assert: &v1alpha1.Assert{
ActionCheckRef: v1alpha1.ActionCheckRef{
FileRef: v1alpha1.FileRef{
@ -279,7 +279,7 @@ func processStep(stderr io.Writer, step *v1alpha1.TestStep, s discovery.Step, fo
}
}
if !containsKuttlResources {
step.TestStepSpec.Try = append(step.TestStepSpec.Try, v1alpha1.Operation{
step.Try = append(step.Try, v1alpha1.Operation{
Error: &v1alpha1.Error{
ActionCheckRef: v1alpha1.ActionCheckRef{
FileRef: v1alpha1.FileRef{
@ -315,7 +315,7 @@ func processStep(stderr io.Writer, step *v1alpha1.TestStep, s discovery.Step, fo
return err
}
}
step.TestStepSpec.Try = append(step.TestStepSpec.Try, v1alpha1.Operation{
step.Try = append(step.Try, v1alpha1.Operation{
Error: &v1alpha1.Error{
ActionCheckRef: v1alpha1.ActionCheckRef{
FileRef: v1alpha1.FileRef{

View File

@ -12,8 +12,10 @@ import (
"github.com/kyverno/chainsaw/pkg/discovery"
"github.com/kyverno/chainsaw/pkg/loaders/config"
"github.com/kyverno/chainsaw/pkg/loaders/values"
"github.com/kyverno/chainsaw/pkg/report"
"github.com/kyverno/chainsaw/pkg/runner"
"github.com/kyverno/chainsaw/pkg/runner/failer"
enginecontext "github.com/kyverno/chainsaw/pkg/runner/context"
runnerflags "github.com/kyverno/chainsaw/pkg/runner/flags"
flagutils "github.com/kyverno/chainsaw/pkg/utils/flag"
fsutils "github.com/kyverno/chainsaw/pkg/utils/fs"
restutils "github.com/kyverno/chainsaw/pkg/utils/rest"
@ -40,6 +42,7 @@ type options struct {
testDirs []string
skipDelete bool
template bool
defaultCompiler string
failFast bool
parallel int
repeatCount int
@ -61,6 +64,8 @@ type options struct {
values []string
clusters []string
remarshal bool
shardIndex int
shardCount int
}
func Command() *cobra.Command {
@ -72,26 +77,28 @@ func Command() *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
color.Init(options.noColor, true)
clock := clock.RealClock{}
out := cmd.OutOrStdout()
fmt.Fprintf(out, "Version: %s\n", version.Version())
stdOut := cmd.OutOrStdout()
stdErr := cmd.ErrOrStderr()
stdIn := cmd.InOrStdin()
fmt.Fprintf(stdOut, "Version: %s\n", version.Version())
var configuration v1alpha2.Configuration
// if no config file was provided, give a chance to the default config name
if options.config == "" {
if _, err := os.Stat(config.DefaultFileName); err == nil {
options.config = config.DefaultFileName
fmt.Fprintf(out, "No configuration provided but found default file: %s\n", options.config)
fmt.Fprintf(stdOut, "No configuration provided but found default file: %s\n", options.config)
}
}
// try to load configuration file
if options.config != "" {
fmt.Fprintf(out, "Loading config (%s)...\n", options.config)
fmt.Fprintf(stdOut, "Loading config (%s)...\n", options.config)
config, err := config.Load(options.config)
if err != nil {
return err
}
configuration = *config
} else {
fmt.Fprintln(out, "Loading default configuration...")
fmt.Fprintln(stdOut, "Loading default configuration...")
config, err := config.DefaultConfiguration()
if err != nil {
return err
@ -127,6 +134,9 @@ func Command() *cobra.Command {
if flagutils.IsSet(flags, "template") {
configuration.Spec.Templating.Enabled = options.template
}
if flagutils.IsSet(flags, "default-compiler") {
configuration.Spec.Templating.Compiler = ptr.To(v1alpha1.Compiler(options.defaultCompiler))
}
if flagutils.IsSet(flags, "fail-fast") {
configuration.Spec.Execution.FailFast = options.failFast
}
@ -219,57 +229,63 @@ func Command() *cobra.Command {
if options.pauseOnFailure {
configuration.Spec.Execution.Parallel = ptr.To(1)
}
fmt.Fprintf(out, "- Using test file: %s\n", configuration.Spec.Discovery.TestFile)
fmt.Fprintf(out, "- TestDirs %v\n", options.testDirs)
fmt.Fprintf(out, "- SkipDelete %v\n", configuration.Spec.Cleanup.SkipDelete)
fmt.Fprintf(out, "- FailFast %v\n", configuration.Spec.Execution.FailFast)
fmt.Fprintf(stdOut, "- Using test file: %s\n", configuration.Spec.Discovery.TestFile)
fmt.Fprintf(stdOut, "- TestDirs %v\n", options.testDirs)
fmt.Fprintf(stdOut, "- SkipDelete %v\n", configuration.Spec.Cleanup.SkipDelete)
fmt.Fprintf(stdOut, "- FailFast %v\n", configuration.Spec.Execution.FailFast)
if configuration.Spec.Report != nil {
fmt.Fprintf(out, "- ReportFormat '%v'\n", configuration.Spec.Report.Format)
fmt.Fprintf(out, "- ReportName '%v'\n", configuration.Spec.Report.Name)
fmt.Fprintf(stdOut, "- ReportFormat '%v'\n", configuration.Spec.Report.Format)
fmt.Fprintf(stdOut, "- ReportName '%v'\n", configuration.Spec.Report.Name)
if configuration.Spec.Report.Path != "" {
fmt.Fprintf(out, "- ReportPath '%v'\n", configuration.Spec.Report.Path)
fmt.Fprintf(stdOut, "- ReportPath '%v'\n", configuration.Spec.Report.Path)
}
}
fmt.Fprintf(out, "- Namespace '%v'\n", configuration.Spec.Namespace.Name)
fmt.Fprintf(out, "- FullName %v\n", configuration.Spec.Discovery.FullName)
fmt.Fprintf(out, "- IncludeTestRegex '%v'\n", configuration.Spec.Discovery.IncludeTestRegex)
fmt.Fprintf(out, "- ExcludeTestRegex '%v'\n", configuration.Spec.Discovery.ExcludeTestRegex)
fmt.Fprintf(out, "- ApplyTimeout %v\n", configuration.Spec.Timeouts.Apply.Duration)
fmt.Fprintf(out, "- AssertTimeout %v\n", configuration.Spec.Timeouts.Assert.Duration)
fmt.Fprintf(out, "- CleanupTimeout %v\n", configuration.Spec.Timeouts.Cleanup.Duration)
fmt.Fprintf(out, "- DeleteTimeout %v\n", configuration.Spec.Timeouts.Delete.Duration)
fmt.Fprintf(out, "- ErrorTimeout %v\n", configuration.Spec.Timeouts.Error.Duration)
fmt.Fprintf(out, "- ExecTimeout %v\n", configuration.Spec.Timeouts.Exec.Duration)
fmt.Fprintf(out, "- DeletionPropagationPolicy %v\n", configuration.Spec.Deletion.Propagation)
fmt.Fprintf(stdOut, "- Namespace '%v'\n", configuration.Spec.Namespace.Name)
fmt.Fprintf(stdOut, "- FullName %v\n", configuration.Spec.Discovery.FullName)
fmt.Fprintf(stdOut, "- IncludeTestRegex '%v'\n", configuration.Spec.Discovery.IncludeTestRegex)
fmt.Fprintf(stdOut, "- ExcludeTestRegex '%v'\n", configuration.Spec.Discovery.ExcludeTestRegex)
fmt.Fprintf(stdOut, "- ApplyTimeout %v\n", configuration.Spec.Timeouts.Apply.Duration)
fmt.Fprintf(stdOut, "- AssertTimeout %v\n", configuration.Spec.Timeouts.Assert.Duration)
fmt.Fprintf(stdOut, "- CleanupTimeout %v\n", configuration.Spec.Timeouts.Cleanup.Duration)
fmt.Fprintf(stdOut, "- DeleteTimeout %v\n", configuration.Spec.Timeouts.Delete.Duration)
fmt.Fprintf(stdOut, "- ErrorTimeout %v\n", configuration.Spec.Timeouts.Error.Duration)
fmt.Fprintf(stdOut, "- ExecTimeout %v\n", configuration.Spec.Timeouts.Exec.Duration)
fmt.Fprintf(stdOut, "- DeletionPropagationPolicy %v\n", configuration.Spec.Deletion.Propagation)
if configuration.Spec.Execution.Parallel != nil && *configuration.Spec.Execution.Parallel > 0 {
fmt.Fprintf(out, "- Parallel %d\n", *configuration.Spec.Execution.Parallel)
fmt.Fprintf(stdOut, "- Parallel %d\n", *configuration.Spec.Execution.Parallel)
}
if configuration.Spec.Execution.RepeatCount != nil {
fmt.Fprintf(out, "- RepeatCount %v\n", *configuration.Spec.Execution.RepeatCount)
fmt.Fprintf(stdOut, "- RepeatCount %v\n", *configuration.Spec.Execution.RepeatCount)
}
if configuration.Spec.Execution.ForceTerminationGracePeriod != nil {
fmt.Fprintf(out, "- ForceTerminationGracePeriod %v\n", configuration.Spec.Execution.ForceTerminationGracePeriod.Duration)
fmt.Fprintf(stdOut, "- ForceTerminationGracePeriod %v\n", configuration.Spec.Execution.ForceTerminationGracePeriod.Duration)
}
if configuration.Spec.Cleanup.DelayBeforeCleanup != nil {
fmt.Fprintf(out, "- DelayBeforeCleanup %v\n", configuration.Spec.Cleanup.DelayBeforeCleanup.Duration)
fmt.Fprintf(stdOut, "- DelayBeforeCleanup %v\n", configuration.Spec.Cleanup.DelayBeforeCleanup.Duration)
}
if len(options.selector) != 0 {
fmt.Fprintf(out, "- Selector %v\n", options.selector)
fmt.Fprintf(stdOut, "- Selector %v\n", options.selector)
}
if len(options.values) != 0 {
fmt.Fprintf(out, "- Values %v\n", options.values)
fmt.Fprintf(stdOut, "- Values %v\n", options.values)
}
fmt.Fprintf(stdOut, "- Template %v\n", configuration.Spec.Templating.Enabled)
if configuration.Spec.Templating.Compiler != nil {
fmt.Fprintf(stdOut, "- Default compiler %v\n", *configuration.Spec.Templating.Compiler)
}
fmt.Fprintf(out, "- Template %v\n", configuration.Spec.Templating.Enabled)
if len(configuration.Spec.Clusters) != 0 {
fmt.Fprintf(out, "- Clusters %v\n", configuration.Spec.Clusters)
fmt.Fprintf(stdOut, "- Clusters %v\n", configuration.Spec.Clusters)
}
if options.remarshal {
fmt.Fprintf(out, "- Remarshal %v\n", options.remarshal)
fmt.Fprintf(stdOut, "- Remarshal %v\n", options.remarshal)
}
fmt.Fprintf(out, "- NoCluster %v\n", options.noCluster)
fmt.Fprintf(out, "- PauseOnFailure %v\n", options.pauseOnFailure)
// loading tests
fmt.Fprintln(out, "Loading tests...")
fmt.Fprintf(stdOut, "- NoCluster %v\n", options.noCluster)
fmt.Fprintf(stdOut, "- PauseOnFailure %v\n", options.pauseOnFailure)
if options.shardCount > 0 {
fmt.Fprintf(stdOut, "- Shard %v / %v\n", options.shardIndex, options.shardCount)
}
// load tests
fmt.Fprintln(stdOut, "Loading tests...")
if err := fsutils.CheckFolders(options.testDirs...); err != nil {
return err
}
@ -285,23 +301,33 @@ func Command() *cobra.Command {
if err != nil {
return err
}
// TODO: we may want to find a sort key here ?
if options.shardCount > 0 && options.shardIndex < options.shardCount {
shardLen := float64(len(tests)) / float64(options.shardCount)
shardStart := int(shardLen * float64(options.shardIndex))
shardEnd := int(shardLen * float64(options.shardIndex+1))
if options.shardIndex == options.shardCount-1 {
shardEnd = len(tests)
}
tests = tests[shardStart:shardEnd]
}
var testToRun []discovery.Test
for _, test := range tests {
if test.Err != nil {
fmt.Fprintf(out, "- %s (%s) - (%s)\n", test.Test.Name, test.BasePath, test.Err)
fmt.Fprintf(stdOut, "- %s (%s) - (%s)\n", test.Test.Name, test.BasePath, test.Err)
} else {
fmt.Fprintf(out, "- %s (%s)\n", test.Test.Name, test.BasePath)
fmt.Fprintf(stdOut, "- %s (%s)\n", test.Test.Name, test.BasePath)
testToRun = append(testToRun, test)
}
}
// loading tests
fmt.Fprintln(out, "Loading values...")
// load values
fmt.Fprintln(stdOut, "Loading values...")
values, err := values.Load(options.values...)
if err != nil {
return err
}
// run tests
fmt.Fprintln(out, "Running tests...")
fmt.Fprintln(stdOut, "Running tests...")
var restConfig *rest.Config
if !options.noCluster {
cfg, err := restutils.DefaultConfig(options.kubeConfigOverrides)
@ -310,21 +336,44 @@ func Command() *cobra.Command {
}
restConfig = cfg
}
ctx := failer.IntoContext(context.Background(), failer.New(options.pauseOnFailure))
summary, err := runner.Run(ctx, restConfig, clock, configuration.Spec, values, testToRun...)
if summary != nil {
fmt.Fprintln(out, "Tests Summary...")
fmt.Fprintln(out, "- Passed tests", summary.Passed())
fmt.Fprintln(out, "- Failed tests", summary.Failed())
fmt.Fprintln(out, "- Skipped tests", summary.Skipped())
var onFailure func()
if options.pauseOnFailure {
onFailure = func() {
fmt.Fprintln(stdErr, "Failure detected, press ENTER to continue...")
fmt.Fscanln(stdIn) //nolint:errcheck
}
}
ctx := context.Background()
tc, err := enginecontext.InitContext(configuration.Spec, restConfig, values)
if err != nil {
return err
}
runner := runner.New(clock, onFailure)
// setup flags
if err := runnerflags.SetupFlags(configuration.Spec); err != nil {
return err
}
err = runner.Run(ctx, configuration.Spec.Namespace, tc, testToRun...)
fmt.Fprintln(stdOut, "Tests Summary...")
fmt.Fprintln(stdOut, "- Passed tests", tc.Passed())
fmt.Fprintln(stdOut, "- Failed tests", tc.Failed())
fmt.Fprintln(stdOut, "- Skipped tests", tc.Skipped())
// process report
if err == nil {
if configuration.Spec.Report != nil && configuration.Spec.Report.Format != "" {
fmt.Fprintln(stdOut, "Saving report...")
if err := report.Save(tc.Report, configuration.Spec.Report.Format, configuration.Spec.Report.Path, configuration.Spec.Report.Name); err != nil {
return err
}
}
}
if err != nil {
fmt.Fprintln(out, "Done with error.")
} else if summary != nil && summary.Failed() > 0 {
fmt.Fprintln(out, "Done with failures.")
fmt.Fprintln(stdOut, "Done with error.")
} else if tc.Failed() > 0 {
fmt.Fprintln(stdOut, "Done with failures.")
err = errors.New("some tests failed")
} else {
fmt.Fprintln(out, "Done.")
fmt.Fprintln(stdOut, "Done.")
}
return err
},
@ -358,6 +407,7 @@ func Command() *cobra.Command {
cmd.Flags().StringVar(&options.namespace, "namespace", "", "Namespace to use for tests")
// templating options
cmd.Flags().BoolVar(&options.template, "template", config.Spec.Templating.Enabled, "If set, resources will be considered for templating")
cmd.Flags().StringVar(&options.defaultCompiler, "default-compiler", "", "If set, configures the default compiler (jp or cel)")
// cleanup options
cmd.Flags().BoolVar(&options.skipDelete, "skip-delete", false, "If set, do not delete the resources after running the tests")
cmd.Flags().DurationVar(&options.delayBeforeCleanup.Duration, "cleanup-delay", 0, "Adds a delay between the time a test ends and the time cleanup starts")
@ -365,7 +415,7 @@ func Command() *cobra.Command {
cmd.Flags().StringVar(&options.deletionPropagationPolicy, "deletion-propagation-policy", "Background", "The deletion propagation policy (Foreground|Background|Orphan)")
// error options
// reporting options
cmd.Flags().StringVar(&options.reportFormat, "report-format", "", "Test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION)")
cmd.Flags().StringVar(&options.reportFormat, "report-format", "", "Test report format (JSON, XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION)")
cmd.Flags().StringVar(&options.reportName, "report-name", "chainsaw-report", "The name of the report to create")
cmd.Flags().StringVar(&options.reportPath, "report-path", "", "The path of the report to create")
// multi-cluster options
@ -378,6 +428,9 @@ func Command() *cobra.Command {
cmd.Flags().StringSliceVar(&options.selector, "selector", nil, "Selector (label query) to filter on")
// external values
cmd.Flags().StringSliceVar(&options.values, "values", nil, "Values passed to the tests")
// sharding
cmd.Flags().IntVar(&options.shardIndex, "shard-index", 0, "Current shard index (if `--shard-count` > 0)")
cmd.Flags().IntVar(&options.shardCount, "shard-count", 0, "Number of shards")
// others
cmd.Flags().BoolVar(&options.noColor, "no-color", false, "Removes output colors")
cmd.Flags().BoolVar(&options.remarshal, "remarshal", false, "Remarshals tests yaml to apply anchors before parsing")

View File

@ -11,6 +11,7 @@ import (
)
func TestChainsawCommand(t *testing.T) {
path := "../../../.temp"
basePath := "../../../testdata/commands/test"
tests := []struct {
name string
@ -116,6 +117,8 @@ func TestChainsawCommand(t *testing.T) {
args: []string{
"--config",
filepath.Join(basePath, "config/config_all_fields.yaml"),
"--report-path",
path,
},
wantErr: false,
out: filepath.Join(basePath, "config_all_fields.txt"),
@ -135,6 +138,8 @@ func TestChainsawCommand(t *testing.T) {
"--parallel=24",
"--repeat-count=12",
"--report-format=XML",
"--report-path",
path,
"--report-name=foo",
"--namespace=bar",
"--full-name=true",

View File

@ -81,6 +81,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -96,7 +103,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -129,6 +135,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -148,9 +161,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -164,6 +183,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -178,6 +201,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
delete:
description: Delete represents a deletion operation.
not:
@ -191,6 +221,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -245,11 +282,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -547,6 +582,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -562,7 +604,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -596,6 +637,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -615,9 +663,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -631,6 +685,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -773,6 +831,13 @@ spec:
description: Clusters holds a registry to clusters to support multi-cluster
tests.
type: object
compiler:
description: Compiler defines the default compiler to use when evaluating
expressions.
enum:
- jp
- cel
type: string
delayBeforeCleanup:
description: DelayBeforeCleanup adds a delay between the time a test
ends and the time cleanup starts.
@ -816,8 +881,14 @@ spec:
namespaceTemplate:
description: NamespaceTemplate defines a template to create the test
namespace.
type: object
x-kubernetes-preserve-unknown-fields: true
namespaceTemplateCompiler:
description: NamespaceTemplateCompiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
parallel:
description: The maximum number of tests to run at once.
format: int
@ -831,7 +902,7 @@ spec:
type: integer
reportFormat:
description: |-
ReportFormat determines test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION|nil) nil == no report.
ReportFormat determines test report format (JSON, XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION, nil) nil == no report.
maps to report.Type, however we don't want generated.deepcopy to have reference to it.
enum:
- JSON
@ -1037,6 +1108,13 @@ spec:
description: Binding represents a key/value set as
a binding in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1052,7 +1130,6 @@ spec:
check:
description: Check is an assertion tree to validate
the operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will
@ -1086,6 +1163,13 @@ spec:
description: Binding represents a key/value set as
a binding in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1105,9 +1189,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -1121,6 +1211,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the
command. Useful for sensitive logs or to reduce noise.
@ -1135,6 +1229,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use
when evaluating expressions.
enum:
- jp
- cel
type: string
delete:
description: Delete represents a deletion operation.
not:
@ -1148,6 +1249,13 @@ spec:
description: Binding represents a key/value set as
a binding in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1202,11 +1310,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -1507,6 +1613,13 @@ spec:
description: Binding represents a key/value set as
a binding in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1522,7 +1635,6 @@ spec:
check:
description: Check is an assertion tree to validate
the operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will
@ -1556,6 +1668,13 @@ spec:
description: Binding represents a key/value set as
a binding in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1575,9 +1694,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -1591,6 +1716,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the
command. Useful for sensitive logs or to reduce noise.
@ -1748,6 +1877,13 @@ spec:
description: Namespace contains properties for the namespace to use
for tests.
properties:
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: |-
Name defines the namespace to use for tests.
@ -1756,7 +1892,6 @@ spec:
type: string
template:
description: Template defines a template to create the test namespace.
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
report:
@ -1764,7 +1899,8 @@ spec:
properties:
format:
default: JSON
description: ReportFormat determines test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION).
description: ReportFormat determines test report format (JSON,
XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION).
enum:
- JSON
- XML
@ -1785,6 +1921,13 @@ spec:
default: {}
description: Templating contains the templating config.
properties:
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
enabled:
default: true
description: Enabled determines whether resources should be considered

View File

@ -45,6 +45,13 @@ spec:
description: Binding represents a key/value set as a binding in
an executing test.
properties:
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -97,6 +104,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -112,7 +126,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -145,6 +158,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -164,9 +184,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -180,6 +206,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -194,6 +224,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
delete:
description: Delete represents a deletion operation.
not:
@ -207,6 +244,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -261,11 +305,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -563,6 +605,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -578,7 +627,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -612,6 +660,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -631,9 +686,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -647,6 +708,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -813,6 +878,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -828,7 +900,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -861,6 +932,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -880,9 +958,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -896,6 +980,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -910,6 +998,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
delete:
description: Delete represents a deletion operation.
not:
@ -923,6 +1018,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -977,11 +1079,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -1279,6 +1379,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1294,7 +1401,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -1328,6 +1434,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1347,9 +1460,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -1363,6 +1482,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -1529,6 +1652,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1544,7 +1674,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -1577,6 +1706,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1596,9 +1732,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -1612,6 +1754,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -1626,6 +1772,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
delete:
description: Delete represents a deletion operation.
not:
@ -1639,6 +1792,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -1693,11 +1853,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -1995,6 +2153,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2010,7 +2175,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -2044,6 +2208,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2063,9 +2234,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -2079,6 +2256,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -2257,6 +2438,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2305,11 +2493,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -2328,9 +2514,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -2372,6 +2564,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2414,7 +2613,6 @@ spec:
type: string
resource:
description: Check provides a check used in assertions.
type: object
x-kubernetes-preserve-unknown-fields: true
template:
description: Template determines whether resources should
@ -2439,6 +2637,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2454,7 +2659,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -2487,6 +2691,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2506,9 +2717,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -2522,6 +2739,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -2536,6 +2757,13 @@ spec:
required:
- entrypoint
type: object
compiler:
description: Compiler defines the default compiler to use when
evaluating expressions.
enum:
- jp
- cel
type: string
continueOnError:
description: |-
ContinueOnError determines whether a test should continue or not in case the operation was not successful.
@ -2554,6 +2782,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2602,11 +2837,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -2625,9 +2858,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -2668,6 +2907,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2722,11 +2968,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -2858,6 +3102,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -2900,7 +3151,6 @@ spec:
type: string
resource:
description: Check provides a check used in assertions.
type: object
x-kubernetes-preserve-unknown-fields: true
template:
description: Template determines whether resources should
@ -3039,6 +3289,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -3087,11 +3344,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -3110,9 +3365,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -3247,9 +3508,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -3288,6 +3555,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -3303,7 +3577,6 @@ spec:
check:
description: Check is an assertion tree to validate the
operation outcome.
type: object
x-kubernetes-preserve-unknown-fields: true
cluster:
description: Cluster defines the target cluster (will be
@ -3337,6 +3610,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -3356,9 +3636,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.
@ -3372,6 +3658,10 @@ spec:
- value
type: object
type: array
skipCommandOutput:
description: SkipCommandOutput removes the command from
the output logs.
type: boolean
skipLogOutput:
description: SkipLogOutput removes the output from the command.
Useful for sensitive logs or to reduce noise.
@ -3406,6 +3696,13 @@ spec:
description: Binding represents a key/value set as a binding
in an executing test.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
name:
description: Name the name of the binding.
pattern: ^(?:\w+|\(.+\))$
@ -3454,11 +3751,9 @@ spec:
properties:
check:
description: Check defines the verification statement.
type: object
x-kubernetes-preserve-unknown-fields: true
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- check
@ -3477,9 +3772,15 @@ spec:
a match to determine if the binding must be considered
or not.
properties:
compiler:
description: Compiler defines the default compiler
to use when evaluating expressions.
enum:
- jp
- cel
type: string
match:
description: Match defines the matching statement.
type: object
x-kubernetes-preserve-unknown-fields: true
name:
description: Name the name of the binding.

File diff suppressed because it is too large Load Diff

View File

@ -96,6 +96,7 @@
],
"default": ""
},
"x-kubernetes-list-type": "set",
"x-kubernetes-patch-strategy": "merge"
},
"generateName": {
@ -207,7 +208,8 @@
"additionalProperties": false
}
]
}
},
"x-kubernetes-list-type": "atomic"
},
"name": {
"description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
@ -285,6 +287,10 @@
}
]
},
"x-kubernetes-list-map-keys": [
"uid"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "uid",
"x-kubernetes-patch-strategy": "merge"
},
@ -421,6 +427,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -436,10 +453,6 @@
},
"check": {
"description": "Check is an assertion tree to validate the operation outcome.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
},
"cluster": {
@ -501,6 +514,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -531,12 +555,19 @@
"value"
],
"properties": {
"match": {
"description": "Match defines the matching statement.",
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"object",
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"match": {
"description": "Match defines the matching statement.",
"x-kubernetes-preserve-unknown-fields": true
},
"name": {
@ -552,6 +583,13 @@
"additionalProperties": false
}
},
"skipCommandOutput": {
"description": "SkipCommandOutput removes the command from the output logs.",
"type": [
"boolean",
"null"
]
},
"skipLogOutput": {
"description": "SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise.",
"type": [
@ -576,6 +614,17 @@
},
"additionalProperties": false
},
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"delete": {
"description": "Delete represents a deletion operation.",
"type": [
@ -606,6 +655,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -687,15 +747,10 @@
"properties": {
"check": {
"description": "Check defines the verification statement.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"match": {
"description": "Match defines the matching statement.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
}
},
@ -1195,6 +1250,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -1210,10 +1276,6 @@
},
"check": {
"description": "Check is an assertion tree to validate the operation outcome.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
},
"cluster": {
@ -1278,6 +1340,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -1308,12 +1381,19 @@
"value"
],
"properties": {
"match": {
"description": "Match defines the matching statement.",
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"object",
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"match": {
"description": "Match defines the matching statement.",
"x-kubernetes-preserve-unknown-fields": true
},
"name": {
@ -1329,6 +1409,13 @@
"additionalProperties": false
}
},
"skipCommandOutput": {
"description": "SkipCommandOutput removes the command from the output logs.",
"type": [
"boolean",
"null"
]
},
"skipLogOutput": {
"description": "SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise.",
"type": [
@ -1570,6 +1657,17 @@
"additionalProperties": false
}
},
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"delayBeforeCleanup": {
"description": "DelayBeforeCleanup adds a delay between the time a test ends and the time cleanup starts.",
"type": [
@ -1634,11 +1732,18 @@
},
"namespaceTemplate": {
"description": "NamespaceTemplate defines a template to create the test namespace.",
"x-kubernetes-preserve-unknown-fields": true
},
"namespaceTemplateCompiler": {
"description": "NamespaceTemplateCompiler defines the default compiler to use when evaluating expressions.",
"type": [
"object",
"string",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
"enum": [
"jp",
"cel"
]
},
"parallel": {
"description": "The maximum number of tests to run at once.",
@ -1659,7 +1764,7 @@
"minimum": 1
},
"reportFormat": {
"description": "ReportFormat determines test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION|nil) nil == no report.\nmaps to report.Type, however we don't want generated.deepcopy to have reference to it.",
"description": "ReportFormat determines test report format (JSON, XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION, nil) nil == no report.\nmaps to report.Type, however we don't want generated.deepcopy to have reference to it.",
"type": [
"string",
"null"

View File

@ -96,6 +96,7 @@
],
"default": ""
},
"x-kubernetes-list-type": "set",
"x-kubernetes-patch-strategy": "merge"
},
"generateName": {
@ -207,7 +208,8 @@
"additionalProperties": false
}
]
}
},
"x-kubernetes-list-type": "atomic"
},
"name": {
"description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
@ -285,6 +287,10 @@
}
]
},
"x-kubernetes-list-map-keys": [
"uid"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "uid",
"x-kubernetes-patch-strategy": "merge"
},
@ -549,6 +555,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -564,10 +581,6 @@
},
"check": {
"description": "Check is an assertion tree to validate the operation outcome.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
},
"cluster": {
@ -629,6 +642,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -659,12 +683,19 @@
"value"
],
"properties": {
"match": {
"description": "Match defines the matching statement.",
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"object",
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"match": {
"description": "Match defines the matching statement.",
"x-kubernetes-preserve-unknown-fields": true
},
"name": {
@ -680,6 +711,13 @@
"additionalProperties": false
}
},
"skipCommandOutput": {
"description": "SkipCommandOutput removes the command from the output logs.",
"type": [
"boolean",
"null"
]
},
"skipLogOutput": {
"description": "SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise.",
"type": [
@ -704,6 +742,17 @@
},
"additionalProperties": false
},
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"delete": {
"description": "Delete represents a deletion operation.",
"type": [
@ -734,6 +783,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -815,15 +875,10 @@
"properties": {
"check": {
"description": "Check defines the verification statement.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"match": {
"description": "Match defines the matching statement.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
}
},
@ -1323,6 +1378,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -1338,10 +1404,6 @@
},
"check": {
"description": "Check is an assertion tree to validate the operation outcome.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
},
"cluster": {
@ -1406,6 +1468,17 @@
"value"
],
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name the name of the binding.",
"type": "string",
@ -1436,12 +1509,19 @@
"value"
],
"properties": {
"match": {
"description": "Match defines the matching statement.",
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"object",
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"match": {
"description": "Match defines the matching statement.",
"x-kubernetes-preserve-unknown-fields": true
},
"name": {
@ -1457,6 +1537,13 @@
"additionalProperties": false
}
},
"skipCommandOutput": {
"description": "SkipCommandOutput removes the command from the output logs.",
"type": [
"boolean",
"null"
]
},
"skipLogOutput": {
"description": "SkipLogOutput removes the output from the command. Useful for sensitive logs or to reduce noise.",
"type": [
@ -1721,6 +1808,17 @@
],
"default": {},
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"name": {
"description": "Name defines the namespace to use for tests.\nIf not specified, every test will execute in a random ephemeral namespace\nunless the namespace is overridden in a the test spec.",
"type": [
@ -1730,10 +1828,6 @@
},
"template": {
"description": "Template defines a template to create the test namespace.",
"type": [
"object",
"null"
],
"x-kubernetes-preserve-unknown-fields": true
}
},
@ -1747,7 +1841,7 @@
],
"properties": {
"format": {
"description": "ReportFormat determines test report format (JSON|XML|JUNIT-TEST|JUNIT-STEP|JUNIT-OPERATION).",
"description": "ReportFormat determines test report format (JSON, XML, JUNIT-TEST, JUNIT-STEP, JUNIT-OPERATION).",
"type": [
"string",
"null"
@ -1787,6 +1881,17 @@
],
"default": {},
"properties": {
"compiler": {
"description": "Compiler defines the default compiler to use when evaluating expressions.",
"type": [
"string",
"null"
],
"enum": [
"jp",
"cel"
]
},
"enabled": {
"description": "Enabled determines whether resources should be considered for templating.",
"type": [

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -67,8 +67,8 @@ func LoadTest(fileName string, path string, remarshal bool) ([]Test, error) {
return nil, errors.New("step template not found or multiple templates exist")
}
template := steptpl[0]
step.Bindings = append(step.Bindings, step.Use.With.Bindings...)
step.Bindings = append(step.Bindings, template.Spec.Bindings...)
step.Bindings = append(step.Bindings, step.Use.With.Bindings...)
step.Try = append(step.Try, template.Spec.Try...)
step.Catch = append(step.Catch, template.Spec.Catch...)
step.Finally = append(step.Finally, template.Spec.Finally...)
@ -109,7 +109,7 @@ func LoadTest(fileName string, path string, remarshal bool) ([]Test, error) {
Name: fmt.Sprintf("step-%s", key),
}
for _, file := range steps[key].OtherFiles {
step.TestStepSpec.Try = append(step.TestStepSpec.Try, v1alpha1.Operation{
step.Try = append(step.Try, v1alpha1.Operation{
Apply: &v1alpha1.Apply{
ActionResourceRef: v1alpha1.ActionResourceRef{
FileRef: v1alpha1.FileRef{
@ -120,7 +120,7 @@ func LoadTest(fileName string, path string, remarshal bool) ([]Test, error) {
})
}
for _, file := range steps[key].AssertFiles {
step.TestStepSpec.Try = append(step.TestStepSpec.Try, v1alpha1.Operation{
step.Try = append(step.Try, v1alpha1.Operation{
Assert: &v1alpha1.Assert{
ActionCheckRef: v1alpha1.ActionCheckRef{
FileRef: v1alpha1.FileRef{
@ -131,7 +131,7 @@ func LoadTest(fileName string, path string, remarshal bool) ([]Test, error) {
})
}
for _, file := range steps[key].ErrorFiles {
step.TestStepSpec.Try = append(step.TestStepSpec.Try, v1alpha1.Operation{
step.Try = append(step.Try, v1alpha1.Operation{
Error: &v1alpha1.Error{
ActionCheckRef: v1alpha1.ActionCheckRef{
FileRef: v1alpha1.FileRef{

View File

@ -5,9 +5,10 @@ import (
"fmt"
"regexp"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/engine/templating"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
)
var identifier = regexp.MustCompile(`^\w+$`)
@ -19,19 +20,22 @@ func checkBindingName(name string) error {
return nil
}
func RegisterBinding(ctx context.Context, bindings binding.Bindings, name string, value any) binding.Bindings {
return bindings.Register("$"+name, binding.NewBinding(value))
func RegisterBinding(bindings apis.Bindings, name string, value any) apis.Bindings {
return bindings.Register("$"+name, apis.NewBinding(value))
}
func ResolveBinding(ctx context.Context, bindings binding.Bindings, input any, variable v1alpha1.Binding) (string, any, error) {
name, err := variable.Name.Value(ctx, bindings)
func ResolveBinding(ctx context.Context, compilers compilers.Compilers, bindings apis.Bindings, input any, variable v1alpha1.Binding) (string, any, error) {
name, err := variable.Name.Value(ctx, compilers, bindings)
if err != nil {
return "", nil, err
}
if err := checkBindingName(name); err != nil {
return "", nil, err
}
value, err := templating.Template(ctx, variable.Value, input, bindings)
if variable.Compiler != nil {
compilers = compilers.WithDefaultCompiler(string(*variable.Compiler))
}
value, err := templating.Template(ctx, compilers, variable.Value, input, bindings)
if err != nil {
return "", nil, err
}

View File

@ -4,7 +4,7 @@ import (
"context"
"testing"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/stretchr/testify/assert"
)
@ -46,17 +46,17 @@ func Test_checkBindingName(t *testing.T) {
func TestRegisterBinding(t *testing.T) {
tests := []struct {
name string
bindings binding.Bindings
bindings apis.Bindings
bindingName string
value any
}{{
bindings: binding.NewBindings(),
bindings: apis.NewBindings(),
bindingName: "foo",
value: "bar",
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
bindings := RegisterBinding(context.TODO(), tt.bindings, tt.bindingName, tt.value)
bindings := RegisterBinding(tt.bindings, tt.bindingName, tt.value)
assert.NotNil(t, bindings)
got, err := bindings.Get("$" + tt.bindingName)
assert.NoError(t, err)
@ -71,7 +71,7 @@ func TestRegisterBinding(t *testing.T) {
func TestResolveBinding(t *testing.T) {
tests := []struct {
name string
bindings binding.Bindings
bindings apis.Bindings
input any
variable v1alpha1.Binding
wantName string
@ -79,49 +79,49 @@ func TestResolveBinding(t *testing.T) {
wantErr bool
}{{
name: "ok",
bindings: binding.NewBindings(),
bindings: apis.NewBindings(),
input: nil,
variable: v1alpha1.Binding{
Name: "foo",
Value: v1alpha1.Any{Value: "bar"},
Value: v1alpha1.NewProjection("bar"),
},
wantName: "foo",
wantValue: "bar",
wantErr: false,
}, {
name: "error",
bindings: binding.NewBindings(),
bindings: apis.NewBindings(),
input: nil,
variable: v1alpha1.Binding{
Name: "$foo",
Value: v1alpha1.Any{Value: "bar"},
Value: v1alpha1.NewProjection("bar"),
},
wantErr: true,
}, {
name: "error",
bindings: binding.NewBindings(),
bindings: apis.NewBindings(),
input: nil,
variable: v1alpha1.Binding{
Name: "foo",
Value: v1alpha1.Any{Value: "($bar)"},
Value: v1alpha1.NewProjection("($bar)"),
},
wantErr: true,
}, {
name: "error",
bindings: binding.NewBindings(),
bindings: apis.NewBindings(),
input: nil,
variable: v1alpha1.Binding{
Name: "($foo)",
Value: v1alpha1.Any{Value: "bar"},
Value: v1alpha1.NewProjection("bar"),
},
wantErr: true,
}, {
name: "error",
bindings: binding.NewBindings().Register("$foo", binding.NewBinding("abc")).Register("$bar", binding.NewBinding("def")),
bindings: apis.NewBindings().Register("$foo", apis.NewBinding("abc")).Register("$bar", apis.NewBinding("def")),
input: nil,
variable: v1alpha1.Binding{
Name: "($foo)",
Value: v1alpha1.Any{Value: "($bar)"},
Value: v1alpha1.NewProjection("($bar)"),
},
wantName: "abc",
wantValue: "def",
@ -129,7 +129,7 @@ func TestResolveBinding(t *testing.T) {
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
name, value, err := ResolveBinding(context.TODO(), tt.bindings, tt.input, tt.variable)
name, value, err := ResolveBinding(context.TODO(), apis.DefaultCompilers, tt.bindings, tt.input, tt.variable)
if tt.wantErr {
assert.Error(t, err)
} else {

View File

@ -4,23 +4,25 @@ import (
"context"
"errors"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/engine/functions"
"github.com/kyverno/kyverno-json/pkg/engine/assert"
"github.com/kyverno/kyverno-json/pkg/engine/template"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
"k8s.io/apimachinery/pkg/util/validation/field"
)
func Check(ctx context.Context, obj any, bindings binding.Bindings, check *v1alpha1.Check) (field.ErrorList, error) {
func Check(ctx context.Context, compilers compilers.Compilers, obj any, bindings apis.Bindings, check *v1alpha1.Check) (field.ErrorList, error) {
if check == nil {
return nil, errors.New("check is null")
}
if check.Value == nil {
if check.IsNil() {
return nil, errors.New("check value is null")
}
if bindings == nil {
bindings = binding.NewBindings()
if assertion, err := check.Compile(nil, compilers); err != nil {
return nil, err
} else {
if bindings == nil {
bindings = apis.NewBindings()
}
return assertion.Assert(nil, obj, bindings)
}
return assert.Assert(ctx, nil, assert.Parse(ctx, check.Value), obj, bindings, template.WithFunctionCaller(functions.Caller()))
}

View File

@ -4,17 +4,18 @@ import (
"context"
"testing"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/stretchr/testify/assert"
"k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/utils/ptr"
)
func TestCheck(t *testing.T) {
tests := []struct {
name string
obj any
bindings binding.Bindings
bindings apis.Bindings
check *v1alpha1.Check
want field.ErrorList
wantErr bool
@ -38,11 +39,11 @@ func TestCheck(t *testing.T) {
"foo": "bar",
},
bindings: nil,
check: &v1alpha1.Check{
Value: map[string]any{
check: ptr.To(v1alpha1.NewCheck(
map[string]any{
"foo": "bar",
},
},
)),
want: nil,
wantErr: false,
}, {
@ -51,11 +52,11 @@ func TestCheck(t *testing.T) {
"foo": "bar",
},
bindings: nil,
check: &v1alpha1.Check{
Value: map[string]any{
check: ptr.To(v1alpha1.NewCheck(
map[string]any{
"foo": "baz",
},
},
)),
want: []*field.Error{{
Type: field.ErrorTypeInvalid,
Field: "foo",
@ -66,7 +67,7 @@ func TestCheck(t *testing.T) {
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := Check(context.TODO(), tt.obj, tt.bindings, tt.check)
got, err := Check(context.TODO(), apis.DefaultCompilers, tt.obj, tt.bindings, tt.check)
if tt.wantErr {
assert.Error(t, err)
} else {

View File

@ -3,27 +3,28 @@ package checks
import (
"context"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/utils/ptr"
)
func Expect(ctx context.Context, obj unstructured.Unstructured, bindings binding.Bindings, expect ...v1alpha1.Expectation) (bool, error) {
func Expect(ctx context.Context, compilers compilers.Compilers, obj unstructured.Unstructured, bindings apis.Bindings, expect ...v1alpha1.Expectation) (bool, error) {
matched := false
var results field.ErrorList
for _, expectation := range expect {
// if a match is specified, skip the check if the resource doesn't match
if expectation.Match != nil && expectation.Match.Value != nil {
if errs, err := Check(ctx, obj.UnstructuredContent(), nil, expectation.Match); err != nil {
if expectation.Match != nil && !expectation.Match.IsNil() {
if errs, err := Check(ctx, compilers, obj.UnstructuredContent(), nil, expectation.Match); err != nil {
return true, err
} else if len(errs) != 0 {
continue
}
}
matched = true
if errs, err := Check(ctx, obj.UnstructuredContent(), bindings, ptr.To(expectation.Check)); err != nil {
if errs, err := Check(ctx, compilers, obj.UnstructuredContent(), bindings, ptr.To(expectation.Check)); err != nil {
return true, err
} else {
results = append(results, errs...)

View File

@ -4,17 +4,18 @@ import (
"context"
"testing"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/stretchr/testify/assert"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/utils/ptr"
)
func TestExpectations(t *testing.T) {
tests := []struct {
name string
obj unstructured.Unstructured
bindings binding.Bindings
bindings apis.Bindings
expect []v1alpha1.Expectation
want bool
wantErr bool
@ -41,16 +42,16 @@ func TestExpectations(t *testing.T) {
},
bindings: nil,
expect: []v1alpha1.Expectation{{
Match: &v1alpha1.Check{
Value: map[string]any{
Match: ptr.To(v1alpha1.NewMatch(
map[string]any{
"foo": "baz",
},
},
Check: v1alpha1.Check{
Value: map[string]any{
)),
Check: v1alpha1.NewCheck(
map[string]any{
"foo": "bar",
},
},
),
}},
want: false,
wantErr: false,
@ -63,16 +64,16 @@ func TestExpectations(t *testing.T) {
},
bindings: nil,
expect: []v1alpha1.Expectation{{
Match: &v1alpha1.Check{
Value: map[string]any{
Match: ptr.To(v1alpha1.NewMatch(
map[string]any{
"foo": "bar",
},
},
Check: v1alpha1.Check{
Value: map[string]any{
)),
Check: v1alpha1.NewCheck(
map[string]any{
"foo": "bar",
},
},
),
}},
want: true,
wantErr: false,
@ -85,16 +86,16 @@ func TestExpectations(t *testing.T) {
},
bindings: nil,
expect: []v1alpha1.Expectation{{
Match: &v1alpha1.Check{
Value: map[string]any{
Match: ptr.To(v1alpha1.NewMatch(
map[string]any{
"foo": "bar",
},
},
Check: v1alpha1.Check{
Value: map[string]any{
)),
Check: v1alpha1.NewCheck(
map[string]any{
"(foo())": "bar",
},
},
),
}},
want: true,
wantErr: true,
@ -107,23 +108,23 @@ func TestExpectations(t *testing.T) {
},
bindings: nil,
expect: []v1alpha1.Expectation{{
Match: &v1alpha1.Check{
Value: map[string]any{
Match: ptr.To(v1alpha1.NewMatch(
map[string]any{
"(foo())": "bar",
},
},
Check: v1alpha1.Check{
Value: map[string]any{
)),
Check: v1alpha1.NewCheck(
map[string]any{
"foo": "bar",
},
},
),
}},
want: true,
wantErr: true,
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := Expect(context.TODO(), tt.obj, tt.bindings, tt.expect...)
got, err := Expect(context.TODO(), apis.DefaultCompilers, tt.obj, tt.bindings, tt.expect...)
if tt.wantErr {
assert.Error(t, err)
} else {

View File

@ -4,7 +4,7 @@ import (
"context"
"github.com/kyverno/chainsaw/pkg/client"
"github.com/kyverno/chainsaw/pkg/engine/logging"
"github.com/kyverno/chainsaw/pkg/logging"
"github.com/kyverno/pkg/ext/output/color"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime"
@ -94,15 +94,9 @@ func (c *runnerClient) RESTMapper() meta.RESTMapper {
}
func (c *runnerClient) ok(ctx context.Context, op logging.Operation, obj client.Object) {
logger := logging.FromContext(ctx)
if logger != nil {
logger.WithResource(obj).Log(op, logging.OkStatus, color.BoldGreen)
}
logging.Log(ctx, op, logging.OkStatus, obj, color.BoldGreen)
}
func (c *runnerClient) error(ctx context.Context, op logging.Operation, obj client.Object, err error) {
logger := logging.FromContext(ctx)
if logger != nil {
logger.WithResource(obj).Log(op, logging.WarnStatus, color.BoldYellow, logging.ErrSection(err))
}
logging.Log(ctx, op, logging.OkStatus, obj, color.BoldYellow, logging.ErrSection(err))
}

View File

@ -7,8 +7,8 @@ import (
"github.com/kyverno/chainsaw/pkg/client"
tclient "github.com/kyverno/chainsaw/pkg/client/testing"
"github.com/kyverno/chainsaw/pkg/engine/logging"
tlogging "github.com/kyverno/chainsaw/pkg/engine/logging/testing"
"github.com/kyverno/chainsaw/pkg/logging"
"github.com/kyverno/chainsaw/pkg/mocks"
"github.com/stretchr/testify/assert"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
@ -48,7 +48,6 @@ func Test_runnerClient_Get(t *testing.T) {
}
tests := []struct {
name string
logger func(t *testing.T) *tlogging.FakeLogger
inner func(t *testing.T) *tclient.FakeClient
args args
wantErr bool
@ -56,10 +55,6 @@ func Test_runnerClient_Get(t *testing.T) {
loggerCalls int
}{{
name: "with error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -77,10 +72,6 @@ func Test_runnerClient_Get(t *testing.T) {
innerCalls: 1,
}, {
name: "no error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -98,10 +89,6 @@ func Test_runnerClient_Get(t *testing.T) {
innerCalls: 1,
}, {
name: "inner was called",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -122,10 +109,6 @@ func Test_runnerClient_Get(t *testing.T) {
innerCalls: 1,
}, {
name: "logger was not called",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -147,12 +130,12 @@ func Test_runnerClient_Get(t *testing.T) {
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
mockLogger := tt.logger(t)
logger := &mocks.Logger{}
mockClient := tt.inner(t)
c := &runnerClient{
inner: mockClient,
}
ctx := logging.IntoContext(context.TODO(), mockLogger)
ctx := logging.WithLogger(context.TODO(), logger)
err := c.Get(ctx, tt.args.key, tt.args.obj, tt.args.opts...)
if tt.wantErr {
assert.Error(t, err)
@ -160,7 +143,7 @@ func Test_runnerClient_Get(t *testing.T) {
assert.NoError(t, err)
}
assert.Equal(t, tt.innerCalls, mockClient.NumCalls())
assert.Equal(t, tt.loggerCalls, mockLogger.NumCalls())
assert.Equal(t, tt.loggerCalls, logger.NumCalls())
})
}
}
@ -172,7 +155,6 @@ func Test_runnerClient_Create(t *testing.T) {
}
tests := []struct {
name string
logger func(t *testing.T) *tlogging.FakeLogger
inner func(t *testing.T) *tclient.FakeClient
args args
wantErr bool
@ -180,10 +162,6 @@ func Test_runnerClient_Create(t *testing.T) {
loggerCalls int
}{{
name: "with error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -197,14 +175,10 @@ func Test_runnerClient_Create(t *testing.T) {
opts: nil,
},
wantErr: true,
loggerCalls: 2,
loggerCalls: 1,
innerCalls: 1,
}, {
name: "no error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -218,17 +192,17 @@ func Test_runnerClient_Create(t *testing.T) {
opts: nil,
},
wantErr: false,
loggerCalls: 2,
loggerCalls: 1,
innerCalls: 1,
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
mockLogger := tt.logger(t)
logger := &mocks.Logger{}
mockClient := tt.inner(t)
c := &runnerClient{
inner: mockClient,
}
ctx := logging.IntoContext(context.TODO(), mockLogger)
ctx := logging.WithLogger(context.TODO(), logger)
err := c.Create(ctx, tt.args.obj, tt.args.opts...)
if tt.wantErr {
assert.Error(t, err)
@ -236,7 +210,7 @@ func Test_runnerClient_Create(t *testing.T) {
assert.NoError(t, err)
}
assert.Equal(t, tt.innerCalls, mockClient.NumCalls())
assert.Equal(t, tt.loggerCalls, mockLogger.NumCalls())
assert.Equal(t, tt.loggerCalls, logger.NumCalls())
})
}
}
@ -248,7 +222,6 @@ func Test_runnerClient_Update(t *testing.T) {
}
tests := []struct {
name string
logger func(t *testing.T) *tlogging.FakeLogger
inner func(t *testing.T) *tclient.FakeClient
args args
wantErr bool
@ -256,10 +229,6 @@ func Test_runnerClient_Update(t *testing.T) {
loggerCalls int
}{{
name: "with error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -273,14 +242,10 @@ func Test_runnerClient_Update(t *testing.T) {
opts: nil,
},
wantErr: true,
loggerCalls: 2,
loggerCalls: 1,
innerCalls: 1,
}, {
name: "no error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -294,17 +259,17 @@ func Test_runnerClient_Update(t *testing.T) {
opts: nil,
},
wantErr: false,
loggerCalls: 2,
loggerCalls: 1,
innerCalls: 1,
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
mockLogger := tt.logger(t)
logger := &mocks.Logger{}
mockClient := tt.inner(t)
c := &runnerClient{
inner: mockClient,
}
ctx := logging.IntoContext(context.TODO(), mockLogger)
ctx := logging.WithLogger(context.TODO(), logger)
err := c.Update(ctx, tt.args.obj, tt.args.opts...)
if tt.wantErr {
assert.Error(t, err)
@ -312,7 +277,7 @@ func Test_runnerClient_Update(t *testing.T) {
assert.NoError(t, err)
}
assert.Equal(t, tt.innerCalls, mockClient.NumCalls())
assert.Equal(t, tt.loggerCalls, mockLogger.NumCalls())
assert.Equal(t, tt.loggerCalls, logger.NumCalls())
})
}
}
@ -324,7 +289,6 @@ func Test_runnerClient_Delete(t *testing.T) {
}
tests := []struct {
name string
logger func(t *testing.T) *tlogging.FakeLogger
inner func(t *testing.T) *tclient.FakeClient
args args
wantErr bool
@ -332,10 +296,6 @@ func Test_runnerClient_Delete(t *testing.T) {
loggerCalls int
}{{
name: "with error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -349,14 +309,10 @@ func Test_runnerClient_Delete(t *testing.T) {
opts: nil,
},
wantErr: true,
loggerCalls: 2,
loggerCalls: 1,
innerCalls: 1,
}, {
name: "no error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -370,17 +326,17 @@ func Test_runnerClient_Delete(t *testing.T) {
opts: nil,
},
wantErr: false,
loggerCalls: 2,
loggerCalls: 1,
innerCalls: 1,
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
mockLogger := tt.logger(t)
logger := &mocks.Logger{}
mockClient := tt.inner(t)
c := &runnerClient{
inner: mockClient,
}
ctx := logging.IntoContext(context.TODO(), mockLogger)
ctx := logging.WithLogger(context.TODO(), logger)
err := c.Delete(ctx, tt.args.obj, tt.args.opts...)
if tt.wantErr {
assert.Error(t, err)
@ -388,7 +344,7 @@ func Test_runnerClient_Delete(t *testing.T) {
assert.NoError(t, err)
}
assert.Equal(t, tt.innerCalls, mockClient.NumCalls())
assert.Equal(t, tt.loggerCalls, mockLogger.NumCalls())
assert.Equal(t, tt.loggerCalls, logger.NumCalls())
})
}
}
@ -400,7 +356,6 @@ func Test_runnerClient_List(t *testing.T) {
}
tests := []struct {
name string
logger func(t *testing.T) *tlogging.FakeLogger
inner func(t *testing.T) *tclient.FakeClient
args args
wantErr bool
@ -408,10 +363,6 @@ func Test_runnerClient_List(t *testing.T) {
loggerCalls int
}{{
name: "with error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -429,10 +380,6 @@ func Test_runnerClient_List(t *testing.T) {
innerCalls: 1,
}, {
name: "no error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -451,12 +398,12 @@ func Test_runnerClient_List(t *testing.T) {
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
mockLogger := tt.logger(t)
logger := &mocks.Logger{}
mockClient := tt.inner(t)
c := &runnerClient{
inner: mockClient,
}
ctx := logging.IntoContext(context.TODO(), mockLogger)
ctx := logging.WithLogger(context.TODO(), logger)
err := c.List(ctx, tt.args.obj, tt.args.opts...)
if tt.wantErr {
assert.Error(t, err)
@ -464,7 +411,7 @@ func Test_runnerClient_List(t *testing.T) {
assert.NoError(t, err)
}
assert.Equal(t, tt.innerCalls, mockClient.NumCalls())
assert.Equal(t, tt.loggerCalls, mockLogger.NumCalls())
assert.Equal(t, tt.loggerCalls, logger.NumCalls())
})
}
}
@ -477,7 +424,6 @@ func Test_runnerClient_Patch(t *testing.T) {
}
tests := []struct {
name string
logger func(t *testing.T) *tlogging.FakeLogger
inner func(t *testing.T) *tclient.FakeClient
args args
wantErr bool
@ -485,10 +431,6 @@ func Test_runnerClient_Patch(t *testing.T) {
loggerCalls int
}{{
name: "with error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -502,14 +444,10 @@ func Test_runnerClient_Patch(t *testing.T) {
opts: nil,
},
wantErr: true,
loggerCalls: 2,
loggerCalls: 1,
innerCalls: 1,
}, {
name: "no error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -523,17 +461,17 @@ func Test_runnerClient_Patch(t *testing.T) {
opts: nil,
},
wantErr: false,
loggerCalls: 2,
loggerCalls: 1,
innerCalls: 1,
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
mockLogger := tt.logger(t)
logger := &mocks.Logger{}
mockClient := tt.inner(t)
c := &runnerClient{
inner: mockClient,
}
ctx := logging.IntoContext(context.TODO(), mockLogger)
ctx := logging.WithLogger(context.TODO(), logger)
err := c.Patch(ctx, tt.args.obj, tt.args.patch, tt.args.opts...)
if tt.wantErr {
assert.Error(t, err)
@ -541,7 +479,7 @@ func Test_runnerClient_Patch(t *testing.T) {
assert.NoError(t, err)
}
assert.Equal(t, tt.innerCalls, mockClient.NumCalls())
assert.Equal(t, tt.loggerCalls, mockLogger.NumCalls())
assert.Equal(t, tt.loggerCalls, logger.NumCalls())
})
}
}
@ -552,7 +490,6 @@ func Test_runnerClient_IsObjectNamespaced(t *testing.T) {
}
tests := []struct {
name string
logger func(t *testing.T) *tlogging.FakeLogger
inner func(t *testing.T) *tclient.FakeClient
args args
want bool
@ -560,10 +497,6 @@ func Test_runnerClient_IsObjectNamespaced(t *testing.T) {
innerCalls int
}{{
name: "with error",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -579,10 +512,6 @@ func Test_runnerClient_IsObjectNamespaced(t *testing.T) {
innerCalls: 1,
}, {
name: "no error - false",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{
@ -599,10 +528,6 @@ func Test_runnerClient_IsObjectNamespaced(t *testing.T) {
innerCalls: 1,
}, {
name: "no error - true",
logger: func(t *testing.T) *tlogging.FakeLogger {
t.Helper()
return &tlogging.FakeLogger{}
},
inner: func(t *testing.T) *tclient.FakeClient {
t.Helper()
return &tclient.FakeClient{

View File

@ -16,10 +16,10 @@ type fromConfig struct {
config *rest.Config
}
func NewClusterFromConfig(config *rest.Config) (Cluster, error) {
func NewClusterFromConfig(config *rest.Config) Cluster {
return &fromConfig{
config: config,
}, nil
}
}
func (c *fromConfig) Config() (*rest.Config, error) {

View File

@ -9,10 +9,9 @@ import (
func TestNewClusterFromConfig(t *testing.T) {
tests := []struct {
name string
config *rest.Config
want Cluster
wantErr bool
name string
config *rest.Config
want Cluster
}{{
name: "nil",
want: &fromConfig{
@ -27,17 +26,11 @@ func TestNewClusterFromConfig(t *testing.T) {
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := NewClusterFromConfig(tt.config)
if tt.wantErr {
assert.Error(t, err)
assert.Nil(t, got)
} else {
assert.NoError(t, err)
assert.Equal(t, tt.want, got)
got, err := got.Config()
assert.NoError(t, err)
assert.Same(t, tt.config, got)
}
got := NewClusterFromConfig(tt.config)
assert.Equal(t, tt.want, got)
config, err := got.Config()
assert.NoError(t, err)
assert.Same(t, tt.config, config)
})
}
}

View File

@ -1,49 +0,0 @@
package engine
import (
"context"
"path/filepath"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/engine/bindings"
"github.com/kyverno/chainsaw/pkg/engine/clusters"
)
func WithBindings(ctx context.Context, tc Context, variables ...v1alpha1.Binding) (Context, error) {
for _, variable := range variables {
name, value, err := bindings.ResolveBinding(ctx, tc.Bindings(), nil, variable)
if err != nil {
return tc, err
}
tc = tc.WithBinding(ctx, name, value)
}
return tc, nil
}
func WithClusters(ctx context.Context, tc Context, basePath string, c map[string]v1alpha1.Cluster) Context {
for name, cluster := range c {
kubeconfig := filepath.Join(basePath, cluster.Kubeconfig)
cluster := clusters.NewClusterFromKubeconfig(kubeconfig, cluster.Context)
tc = tc.WithCluster(ctx, name, cluster)
}
return tc
}
func WithCurrentCluster(ctx context.Context, tc Context, name string) (Context, error) {
tc = tc.WithCurrentCluster(ctx, name)
config, client, err := tc.CurrentClusterClient()
if err != nil {
return tc, err
}
tc = tc.WithBinding(ctx, "client", client)
tc = tc.WithBinding(ctx, "config", config)
return tc, nil
}
func WithNamespace(ctx context.Context, tc Context, namespace string) Context {
return tc.WithBinding(ctx, "namespace", namespace)
}
func WithValues(ctx context.Context, tc Context, values any) Context {
return tc.WithBinding(ctx, "values", values)
}

View File

@ -1,88 +0,0 @@
package context
import (
"context"
"time"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/client"
"github.com/kyverno/chainsaw/pkg/client/dryrun"
apibindings "github.com/kyverno/chainsaw/pkg/engine/bindings"
"github.com/kyverno/chainsaw/pkg/engine/clusters"
"github.com/kyverno/chainsaw/pkg/model"
"k8s.io/client-go/rest"
)
type TestContext struct {
*model.Summary
*model.Report
bindings binding.Bindings
cluster clusters.Cluster
clusters clusters.Registry
dryRun bool
}
func MakeContext(bindings binding.Bindings, registry clusters.Registry) TestContext {
return TestContext{
Summary: &model.Summary{},
Report: &model.Report{
Name: "chainsaw-report",
StartTime: time.Now(),
},
bindings: bindings,
clusters: registry,
cluster: nil,
}
}
func EmptyContext() TestContext {
return MakeContext(binding.NewBindings(), clusters.NewRegistry(nil))
}
func (tc *TestContext) Bindings() binding.Bindings {
return tc.bindings
}
func (tc *TestContext) Cluster(name string) clusters.Cluster {
return tc.clusters.Lookup(name)
}
func (tc *TestContext) Clusters() clusters.Registry {
return tc.clusters
}
func (tc *TestContext) CurrentCluster() clusters.Cluster {
return tc.cluster
}
func (tc *TestContext) CurrentClusterClient() (*rest.Config, client.Client, error) {
config, client, err := tc.clusters.Build(tc.cluster)
if err == nil && client != nil && tc.DryRun() {
client = dryrun.New(client)
}
return config, client, err
}
func (tc *TestContext) DryRun() bool {
return tc.dryRun
}
func (tc TestContext) WithBinding(ctx context.Context, name string, value any) TestContext {
tc.bindings = apibindings.RegisterBinding(ctx, tc.bindings, name, value)
return tc
}
func (tc TestContext) WithCluster(ctx context.Context, name string, cluster clusters.Cluster) TestContext {
tc.clusters = tc.clusters.Register(name, cluster)
return tc
}
func (tc TestContext) WithCurrentCluster(ctx context.Context, name string) TestContext {
tc.cluster = tc.Cluster(name)
return tc
}
func (tc TestContext) WithDryRun(ctx context.Context, dryRun bool) TestContext {
tc.dryRun = dryRun
return tc
}

View File

@ -6,12 +6,12 @@ import (
jpfunctions "github.com/jmespath-community/go-jmespath/pkg/functions"
"github.com/jmespath-community/go-jmespath/pkg/interpreter"
"github.com/kyverno/kyverno-json/pkg/engine/template"
"github.com/kyverno/kyverno-json/pkg/jp"
)
var Caller = sync.OnceValue(func() interpreter.FunctionCaller {
var funcs []jpfunctions.FunctionEntry
funcs = append(funcs, template.GetFunctions(context.Background())...)
funcs = append(funcs, jp.GetFunctions(context.Background())...)
funcs = append(funcs, GetFunctions()...)
return interpreter.NewFunctionCaller(funcs...)
})

View File

@ -27,7 +27,8 @@ func GetFunctions() []functions.FunctionEntry {
Arguments: []functions.ArgSpec{
{Types: []functions.JpType{functions.JpString}},
},
Handler: jpEnv,
Handler: jpEnv,
Description: "Returns the value of the environment variable passed in argument.",
}, {
Name: k8sGet,
Arguments: []functions.ArgSpec{
@ -37,7 +38,8 @@ func GetFunctions() []functions.FunctionEntry {
{Types: []functions.JpType{functions.JpString}},
{Types: []functions.JpType{functions.JpString}},
},
Handler: jpKubernetesGet,
Handler: jpKubernetesGet,
Description: "Gets a resource from a Kubernetes cluster.",
}, {
Name: k8sList,
Arguments: []functions.ArgSpec{
@ -46,7 +48,8 @@ func GetFunctions() []functions.FunctionEntry {
{Types: []functions.JpType{functions.JpString}},
{Types: []functions.JpType{functions.JpString}, Optional: true},
},
Handler: jpKubernetesList,
Handler: jpKubernetesList,
Description: "Lists resources from a Kubernetes cluster.",
}, {
Name: k8sExists,
Arguments: []functions.ArgSpec{
@ -56,7 +59,8 @@ func GetFunctions() []functions.FunctionEntry {
{Types: []functions.JpType{functions.JpString}},
{Types: []functions.JpType{functions.JpString}},
},
Handler: jpKubernetesExists,
Handler: jpKubernetesExists,
Description: "Checks if a given resource exists in a Kubernetes cluster.",
}, {
Name: k8sResourceExists,
Arguments: []functions.ArgSpec{
@ -64,25 +68,29 @@ func GetFunctions() []functions.FunctionEntry {
{Types: []functions.JpType{functions.JpString}},
{Types: []functions.JpType{functions.JpString}},
},
Handler: jpKubernetesResourceExists,
Handler: jpKubernetesResourceExists,
Description: "Checks if a given resource type is available in a Kubernetes cluster.",
}, {
Name: k8sServerVersion,
Arguments: []functions.ArgSpec{
{Types: []functions.JpType{functions.JpAny}},
},
Handler: jpKubernetesServerVersion,
Handler: jpKubernetesServerVersion,
Description: "Returns the version of a Kubernetes cluster.",
}, {
Name: metricsDecode,
Arguments: []functions.ArgSpec{
{Types: []functions.JpType{functions.JpString}},
},
Handler: jpMetricsDecode,
Handler: jpMetricsDecode,
Description: "Decodes metrics in the Prometheus text format.",
}, {
Name: trimSpace,
Arguments: []functions.ArgSpec{
{Types: []functions.JpType{functions.JpString}},
},
Handler: jpTrimSpace,
Handler: jpTrimSpace,
Description: "Trims leading and trailing spaces from the string passed in argument.",
}, {
Name: asString,
Arguments: []functions.ArgSpec{
@ -103,5 +111,6 @@ func GetFunctions() []functions.FunctionEntry {
}
return nil, nil
},
Description: "Returns the passed in argument converted into a string.",
}}
}

View File

@ -13,6 +13,12 @@ import (
"k8s.io/client-go/rest"
)
// jpKubernetesResourceExists is a JMESPath function that checks if a Kubernetes resource type exists in the cluster.
// Arguments:
// - client: The Kubernetes client
// - apiVersion: API version of the resource (e.g., "v1", "apps/v1")
// - kind: Kind of the resource (e.g., "Pod", "Deployment")
// Returns true if the resource type exists, false otherwise.
func jpKubernetesResourceExists(arguments []any) (any, error) {
var client client.Client
var apiVersion, kind string
@ -40,6 +46,14 @@ func jpKubernetesResourceExists(arguments []any) (any, error) {
}
}
// jpKubernetesExists is a JMESPath function that checks if a specific Kubernetes resource exists in the cluster.
// Arguments:
// - client: The Kubernetes client
// - apiVersion: API version of the resource (e.g., "v1", "apps/v1")
// - kind: Kind of the resource (e.g., "Pod", "Deployment")
// - namespace: Namespace of the resource
// - name: Name of the resource
// Returns true if the specific resource exists, false otherwise.
func jpKubernetesExists(arguments []any) (any, error) {
var apiVersion, kind string
var key client.ObjectKey
@ -72,6 +86,14 @@ func jpKubernetesExists(arguments []any) (any, error) {
return nil, err
}
// jpKubernetesGet is a JMESPath function that retrieves a specific Kubernetes resource from the cluster.
// Arguments:
// - client: The Kubernetes client
// - apiVersion: API version of the resource (e.g., "v1", "apps/v1")
// - kind: Kind of the resource (e.g., "Pod", "Deployment")
// - namespace: Namespace of the resource
// - name: Name of the resource
// Returns the resource as an unstructured object if found, error otherwise.
func jpKubernetesGet(arguments []any) (any, error) {
var apiVersion, kind string
var key client.ObjectKey
@ -100,6 +122,13 @@ func jpKubernetesGet(arguments []any) (any, error) {
return obj.UnstructuredContent(), nil
}
// jpKubernetesList is a JMESPath function that lists Kubernetes resources of a specific type from the cluster.
// Arguments:
// - client: The Kubernetes client
// - apiVersion: API version of the resource (e.g., "v1", "apps/v1")
// - kind: Kind of the resource (e.g., "Pod", "Deployment")
// - namespace: (Optional) Namespace to filter resources by
// Returns a list of resources as an unstructured object.
func jpKubernetesList(arguments []any) (any, error) {
var c client.Client
var apiVersion, kind, namespace string
@ -130,6 +159,10 @@ func jpKubernetesList(arguments []any) (any, error) {
return list.UnstructuredContent(), nil
}
// jpKubernetesServerVersion is a JMESPath function that retrieves the Kubernetes server version.
// Arguments:
// - config: The Kubernetes REST config
// Returns the server version information.
func jpKubernetesServerVersion(arguments []any) (any, error) {
var config *rest.Config
if err := getArg(arguments, 0, &config); err != nil {

View File

@ -5,14 +5,20 @@ import (
"fmt"
)
// stable is a utility function that returns the function name as-is.
// Used for stable, non-experimental JMESPath functions.
func stable(in string) string {
return in
}
// experimental is a utility function that prefixes the function name with "x_".
// Used for experimental JMESPath functions that may change in future versions.
func experimental(in string) string {
return "x_" + in
}
// getArgAt retrieves an argument at the specified index from the arguments slice.
// Returns an error if the index is out of range.
func getArgAt(arguments []any, index int) (any, error) {
if index >= len(arguments) {
return nil, fmt.Errorf("index out of range (%d / %d)", index, len(arguments))
@ -20,6 +26,12 @@ func getArgAt(arguments []any, index int) (any, error) {
return arguments[index], nil
}
// getArg is a generic function that retrieves and type-asserts an argument at the specified index.
// Arguments:
// - arguments: The slice of arguments to retrieve from
// - index: The index of the argument to retrieve
// - out: A pointer to store the retrieved value
// Returns an error if the index is out of range or if the type assertion fails.
func getArg[T any](arguments []any, index int, out *T) error {
arg, err := getArgAt(arguments, index)
if err != nil {

View File

@ -5,31 +5,32 @@ import (
"errors"
"fmt"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/client"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
)
func Describe(ctx context.Context, client client.Client, tc binding.Bindings, collector *v1alpha1.Describe) (string, []string, error) {
func Describe(ctx context.Context, compilers compilers.Compilers, client client.Client, tc apis.Bindings, collector *v1alpha1.Describe) (string, []string, error) {
if collector == nil {
return "", nil, errors.New("collector is null")
}
name, err := collector.Name.Value(ctx, tc)
name, err := collector.Name.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
namespace, err := collector.Namespace.Value(ctx, tc)
namespace, err := collector.Namespace.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
selector, err := collector.Selector.Value(ctx, tc)
selector, err := collector.Selector.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
if name != "" && selector != "" {
return "", nil, errors.New("name cannot be provided when a selector is specified")
}
resource, clustered, err := mapResource(ctx, client, tc, collector.ObjectType)
resource, clustered, err := mapResource(ctx, compilers, client, tc, collector.ObjectType)
if err != nil {
return "", nil, err
}

View File

@ -4,6 +4,7 @@ import (
"context"
"testing"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/client/simple"
restutils "github.com/kyverno/chainsaw/pkg/utils/rest"
@ -272,7 +273,7 @@ func TestDescribe(t *testing.T) {
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
entrypoint, args, err := Describe(context.TODO(), client, nil, tt.collector)
entrypoint, args, err := Describe(context.TODO(), apis.DefaultCompilers, client, nil, tt.collector)
if tt.wantErr {
assert.Error(t, err)
} else {

View File

@ -4,35 +4,36 @@ import (
"context"
"errors"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/client"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
)
func Get(ctx context.Context, client client.Client, tc binding.Bindings, collector *v1alpha1.Get) (string, []string, error) {
func Get(ctx context.Context, compilers compilers.Compilers, client client.Client, tc apis.Bindings, collector *v1alpha1.Get) (string, []string, error) {
if collector == nil {
return "", nil, errors.New("collector is null")
}
name, err := collector.Name.Value(ctx, tc)
name, err := collector.Name.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
namespace, err := collector.Namespace.Value(ctx, tc)
namespace, err := collector.Namespace.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
selector, err := collector.Selector.Value(ctx, tc)
selector, err := collector.Selector.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
format, err := v1alpha1.Expression(collector.Format).Value(ctx, tc)
format, err := v1alpha1.Expression(collector.Format).Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
if name != "" && selector != "" {
return "", nil, errors.New("name cannot be provided when a selector is specified")
}
resource, clustered, err := mapResource(ctx, client, tc, collector.ObjectType)
resource, clustered, err := mapResource(ctx, compilers, client, tc, collector.ObjectType)
if err != nil {
return "", nil, err
}

View File

@ -4,6 +4,7 @@ import (
"context"
"testing"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/client/simple"
restutils "github.com/kyverno/chainsaw/pkg/utils/rest"
@ -256,7 +257,7 @@ func TestGet(t *testing.T) {
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
entrypoint, args, err := Get(context.TODO(), client, nil, tt.collector)
entrypoint, args, err := Get(context.TODO(), apis.DefaultCompilers, client, nil, tt.collector)
if tt.wantErr {
assert.Error(t, err)
} else {

View File

@ -5,27 +5,28 @@ import (
"errors"
"fmt"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
)
func Logs(ctx context.Context, tc binding.Bindings, collector *v1alpha1.PodLogs) (string, []string, error) {
func Logs(ctx context.Context, compilers compilers.Compilers, tc apis.Bindings, collector *v1alpha1.PodLogs) (string, []string, error) {
if collector == nil {
return "", nil, errors.New("collector is null")
}
name, err := collector.Name.Value(ctx, tc)
name, err := collector.Name.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
namespace, err := collector.Namespace.Value(ctx, tc)
namespace, err := collector.Namespace.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
selector, err := collector.Selector.Value(ctx, tc)
selector, err := collector.Selector.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
container, err := collector.Container.Value(ctx, tc)
container, err := collector.Container.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}

View File

@ -4,6 +4,7 @@ import (
"context"
"testing"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/stretchr/testify/assert"
"k8s.io/utils/ptr"
@ -180,7 +181,7 @@ func TestLogs(t *testing.T) {
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
entrypoint, args, err := Logs(context.TODO(), nil, tt.collector)
entrypoint, args, err := Logs(context.TODO(), apis.DefaultCompilers, nil, tt.collector)
if tt.wantErr {
assert.Error(t, err)
} else {

View File

@ -5,18 +5,19 @@ import (
"errors"
"strings"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/client"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime/schema"
)
func mapResource(ctx context.Context, client client.Client, tc binding.Bindings, resource v1alpha1.ObjectType) (string, bool, error) {
func mapResource(ctx context.Context, compilers compilers.Compilers, client client.Client, tc apis.Bindings, resource v1alpha1.ObjectType) (string, bool, error) {
if resource.APIVersion != "" && resource.Kind != "" {
if apiVersion, err := resource.APIVersion.Value(ctx, tc); err != nil {
if apiVersion, err := resource.APIVersion.Value(ctx, compilers, tc); err != nil {
return "", false, err
} else if kind, err := resource.Kind.Value(ctx, tc); err != nil {
} else if kind, err := resource.Kind.Value(ctx, compilers, tc); err != nil {
return "", false, err
} else {
return mapResourceFromApiVersionAndKind(client, apiVersion, kind)

View File

@ -5,32 +5,33 @@ import (
"errors"
"path"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/client"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
)
func Proxy(ctx context.Context, client client.Client, tc binding.Bindings, collector *v1alpha1.Proxy) (string, []string, error) {
func Proxy(ctx context.Context, compilers compilers.Compilers, client client.Client, tc apis.Bindings, collector *v1alpha1.Proxy) (string, []string, error) {
if collector == nil {
return "", nil, errors.New("collector is null")
}
name, err := collector.Name.Value(ctx, tc)
name, err := collector.Name.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
namespace, err := collector.Namespace.Value(ctx, tc)
namespace, err := collector.Namespace.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
targetPath, err := collector.TargetPath.Value(ctx, tc)
targetPath, err := collector.TargetPath.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
targetPort, err := collector.TargetPort.Value(ctx, tc)
targetPort, err := collector.TargetPort.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
resource, _, err := mapResource(ctx, client, tc, collector.ObjectType)
resource, _, err := mapResource(ctx, compilers, client, tc, collector.ObjectType)
if err != nil {
return "", nil, err
}

View File

@ -4,6 +4,7 @@ import (
"context"
"testing"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/client/simple"
restutils "github.com/kyverno/chainsaw/pkg/utils/rest"
@ -333,7 +334,7 @@ func TestProxy(t *testing.T) {
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
entrypoint, args, err := Proxy(context.TODO(), client, nil, tt.collector)
entrypoint, args, err := Proxy(context.TODO(), apis.DefaultCompilers, client, nil, tt.collector)
if tt.wantErr {
assert.Error(t, err)
} else {

View File

@ -5,51 +5,52 @@ import (
"errors"
"fmt"
"github.com/jmespath-community/go-jmespath/pkg/binding"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/client"
"github.com/kyverno/kyverno-json/pkg/core/compilers"
)
func Wait(ctx context.Context, client client.Client, tc binding.Bindings, collector *v1alpha1.Wait) (string, []string, error) {
func Wait(ctx context.Context, compilers compilers.Compilers, client client.Client, tc apis.Bindings, collector *v1alpha1.Wait) (string, []string, error) {
if collector == nil {
return "", nil, errors.New("collector is null")
}
name, err := collector.Name.Value(ctx, tc)
name, err := collector.Name.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
namespace, err := collector.Namespace.Value(ctx, tc)
namespace, err := collector.Namespace.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
selector, err := collector.Selector.Value(ctx, tc)
selector, err := collector.Selector.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
format, err := v1alpha1.Expression(collector.Format).Value(ctx, tc)
format, err := v1alpha1.Expression(collector.Format).Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
if name != "" && selector != "" {
return "", nil, errors.New("name cannot be provided when a selector is specified")
}
resource, clustered, err := mapResource(ctx, client, tc, collector.ObjectType)
resource, clustered, err := mapResource(ctx, compilers, client, tc, collector.ObjectType)
if err != nil {
return "", nil, err
}
args := []string{"wait", resource}
if collector.WaitFor.Deletion != nil {
if collector.Deletion != nil {
args = append(args, "--for=delete")
} else if collector.WaitFor.Condition != nil {
name, err := collector.WaitFor.Condition.Name.Value(ctx, tc)
} else if collector.Condition != nil {
name, err := collector.Condition.Name.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
if name == "" {
return "", nil, errors.New("a condition name must be specified for condition wait type")
}
if collector.WaitFor.Condition.Value != nil {
value, err := collector.WaitFor.Condition.Value.Value(ctx, tc)
if collector.Condition.Value != nil {
value, err := collector.Condition.Value.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
@ -57,16 +58,16 @@ func Wait(ctx context.Context, client client.Client, tc binding.Bindings, collec
} else {
args = append(args, fmt.Sprintf("--for=condition=%s", name))
}
} else if collector.WaitFor.JsonPath != nil {
path, err := collector.WaitFor.JsonPath.Path.Value(ctx, tc)
} else if collector.JsonPath != nil {
path, err := collector.JsonPath.Path.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}
if path == "" {
return "", nil, errors.New("a path must be specified for jsonpath wait type")
}
if collector.WaitFor.JsonPath.Value != nil {
value, err := collector.WaitFor.JsonPath.Value.Value(ctx, tc)
if collector.JsonPath.Value != nil {
value, err := collector.JsonPath.Value.Value(ctx, compilers, tc)
if err != nil {
return "", nil, err
}

View File

@ -5,6 +5,7 @@ import (
"testing"
"time"
"github.com/kyverno/chainsaw/pkg/apis"
"github.com/kyverno/chainsaw/pkg/apis/v1alpha1"
"github.com/kyverno/chainsaw/pkg/client/simple"
restutils "github.com/kyverno/chainsaw/pkg/utils/rest"
@ -348,7 +349,7 @@ func TestWait(t *testing.T) {
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
entrypoint, args, err := Wait(context.TODO(), client, nil, tt.collector)
entrypoint, args, err := Wait(context.TODO(), apis.DefaultCompilers, client, nil, tt.collector)
if tt.wantErr {
assert.Error(t, err)
} else {

View File

@ -1,20 +0,0 @@
package logging
import (
"context"
)
type contextKey struct{}
func FromContext(ctx context.Context) Logger {
if ctx != nil {
if v, ok := ctx.Value(contextKey{}).(Logger); ok {
return v
}
}
return nil
}
func IntoContext(ctx context.Context, logger Logger) context.Context {
return context.WithValue(ctx, contextKey{}, logger)
}

View File

@ -1,63 +0,0 @@
package logging
import (
"fmt"
"github.com/kyverno/chainsaw/pkg/client"
"github.com/kyverno/pkg/ext/output/color"
"k8s.io/utils/clock"
)
const eraser = "\b\b\b\b\b\b\b\b\b"
type logger struct {
t TLogger
clock clock.PassiveClock
test string
step string
resource client.Object
}
func NewLogger(t TLogger, clock clock.PassiveClock, test string, step string) Logger {
t.Helper()
return &logger{
t: t,
clock: clock,
test: test,
step: step,
}
}
func (l *logger) Log(operation Operation, status Status, color *color.Color, args ...fmt.Stringer) {
sprint := fmt.Sprint
opLen := 9
stLen := 5
if color != nil {
sprint = color.Sprint
opLen += 14
stLen += 14
}
a := make([]any, 0, len(args)+2)
prefix := fmt.Sprintf("%s| %s | %s | %s | %-*s | %-*s |", eraser, l.clock.Now().Format("15:04:05"), sprint(l.test), sprint(l.step), opLen, sprint(operation), stLen, sprint(status))
if l.resource != nil {
gvk := l.resource.GetObjectKind().GroupVersionKind()
key := client.Key(l.resource)
prefix = fmt.Sprintf("%s %s/%s @ %s", prefix, gvk.GroupVersion(), gvk.Kind, client.Name(key))
}
a = append(a, prefix)
for _, arg := range args {
a = append(a, "\n")
a = append(a, arg)
}
l.t.Log(fmt.Sprint(a...))
}
func (l *logger) WithResource(resource client.Object) Logger {
return &logger{
t: l.t,
clock: l.clock,
test: l.test,
step: l.step,
resource: resource,
}
}

View File

@ -1,157 +0,0 @@
package logging
import (
"fmt"
"strings"
"testing"
"time"
"github.com/fatih/color"
"github.com/kyverno/chainsaw/pkg/client"
tlogging "github.com/kyverno/chainsaw/pkg/engine/logging/testing"
"github.com/stretchr/testify/assert"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
tclock "k8s.io/utils/clock/testing"
)
func TestNewLogger(t *testing.T) {
fakeClock := tclock.NewFakePassiveClock(time.Now())
testName := "testName"
stepName := "stepName"
logger, ok := NewLogger(t, fakeClock, testName, stepName).(*logger)
assert.True(t, ok, "Type assertion for *logger failed")
assert.Equal(t, t, logger.t)
assert.Equal(t, fakeClock, logger.clock)
assert.Equal(t, testName, logger.test)
assert.Equal(t, stepName, logger.step)
assert.Nil(t, logger.resource)
}
type s string
func (v s) String() string { return string(v) }
func Test_logger_Log(t *testing.T) {
fakeClock := tclock.NewFakePassiveClock(time.Now())
mockT := &tlogging.FakeTLogger{}
fakeLogger := NewLogger(mockT, fakeClock, "testName", "stepName").(*logger)
disabled := color.New(color.FgBlue)
disabled.DisableColor()
enabled := color.New(color.FgBlue)
enabled.EnableColor()
testCases := []struct {
name string
resource client.Object
operation string
status string
color *color.Color
args []fmt.Stringer
expectContains []string
}{
{
name: "without resource",
resource: nil,
operation: "OPERATION",
status: "STATUS",
args: []fmt.Stringer{s("arg1"), s("arg2")},
expectContains: []string{
"testName", "stepName", "OPERATION", "arg1", "arg2",
},
},
{
name: "with color",
resource: nil,
operation: "OPERATION",
status: "STATUS",
color: enabled,
args: []fmt.Stringer{s("arg1"), s("arg2")},
expectContains: []string{
"testName", "stepName", "OPERATION", "arg1", "arg2",
},
},
{
name: "with resource",
resource: func() client.Object {
var r unstructured.Unstructured
r.SetName("testResource")
r.SetNamespace("default")
r.SetAPIVersion("testGroup/v1")
r.SetKind("testKind")
return &r
}(),
operation: "OPERATION",
status: "STATUS",
args: []fmt.Stringer{s("arg1"), s("arg2")},
expectContains: []string{
"testName", "stepName", "OPERATION", "default/testResource", "testGroup/v1/testKind", "arg1", "arg2",
},
},
}
for _, tt := range testCases {
t.Run(tt.name, func(t *testing.T) {
if tt.resource != nil {
fakeLogger = fakeLogger.WithResource(tt.resource).(*logger)
}
fakeLogger.Log(Operation(tt.operation), Status(tt.status), tt.color, tt.args...)
for _, exp := range tt.expectContains {
found := false
for _, msg := range mockT.Messages {
if strings.Contains(msg, exp) {
found = true
break
}
}
assert.True(t, found, "Expected to find '%s' in logs, but didn't. Logs: %v", exp, mockT.Messages)
}
mockT.Messages = []string{}
})
}
}
func Test_logger_WithResource(t *testing.T) {
testCases := []struct {
name string
resource client.Object
expectNil bool
}{{
name: "Valid Resource",
resource: func() client.Object {
var r unstructured.Unstructured
r.SetName("testResource")
return &r
}(),
expectNil: false,
}, {
name: "Nil Resource",
resource: nil,
expectNil: true,
}}
for _, tt := range testCases {
t.Run(tt.name, func(t *testing.T) {
fakeClock := tclock.NewFakePassiveClock(time.Now())
fakeLogger := logger{
t: t,
clock: fakeClock,
test: "testName",
step: "stepName",
}
newLogger := fakeLogger.WithResource(tt.resource).(*logger)
if tt.expectNil {
assert.Nil(t, newLogger.resource, "Expected resource to be nil in the logger")
} else {
assert.NotNil(t, newLogger.resource, "Expected resource to not be nil in the logger")
assert.Equal(t, tt.resource, newLogger.resource, "Expected correct resource to be set in the logger")
}
assert.Equal(t, fakeLogger.t, newLogger.t, "Expected testing.T to remain the same")
assert.Equal(t, fakeLogger.clock, newLogger.clock, "Expected clock to remain the same")
assert.Equal(t, fakeLogger.test, newLogger.test, "Expected test name to remain the same")
assert.Equal(t, fakeLogger.step, newLogger.step, "Expected step name to remain the same")
})
}
}

View File

@ -1,15 +0,0 @@
package logging
import (
"context"
"fmt"
"github.com/kyverno/pkg/ext/output/color"
)
func Log(ctx context.Context, operation Operation, status Status, color *color.Color, args ...fmt.Stringer) {
logger := FromContext(ctx)
if logger != nil {
logger.Log(operation, status, color, args...)
}
}

View File

@ -1,52 +0,0 @@
package logging
import (
"context"
"fmt"
"testing"
"time"
tlogging "github.com/kyverno/chainsaw/pkg/engine/logging/testing"
"github.com/kyverno/pkg/ext/output/color"
tclock "k8s.io/utils/clock/testing"
)
func TestLog(t *testing.T) {
fakeClock := tclock.NewFakePassiveClock(time.Now())
mockT := &tlogging.FakeTLogger{}
fakeLogger := NewLogger(mockT, fakeClock, "testName", "stepName").(*logger)
tests := []struct {
name string
ctx context.Context //nolint:containedctx
operation string
status string
color *color.Color
args []fmt.Stringer
}{{
name: "background",
ctx: context.Background(),
operation: "foo",
status: "bar",
color: nil,
args: nil,
}, {
name: "nil",
ctx: nil,
operation: "foo",
status: "bar",
color: nil,
args: nil,
}, {
name: "with logger",
ctx: IntoContext(context.Background(), fakeLogger),
operation: "foo",
status: "bar",
color: nil,
args: nil,
}}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
Log(tt.ctx, Operation(tt.operation), Status(tt.status), tt.color, tt.args...)
})
}
}

Some files were not shown because too many files have changed in this diff Show More