Skip to content

Conversation

@flavio
Copy link
Member

@flavio flavio commented Dec 19, 2025

This is a gigantic PR that turns kubewarden-controller into a monorepo.

The end goal is to:

  • Import the code from the other repos (see below) and preserve the history
  • Have audit-scanner code into this repository
  • Have all the Rust code into this repository (policy-evaluator, policy-fetcher, policy-server, kwctl)
  • Have the Rust code arranged to be a Rust workspace
  • Have the helm charts inside of this repo (kubewarden-crds, kubewarden-controller, kubewarden-defaults)
  • Be able to do local development using Tilt, reusing images built from the code of the local checkout of this repository. Also have these images live-updated whenever a change is done.

Thing that are left to be done:

  • Get rid of the audit-scanner directory inside of the top level folder of this repo. We have to move some README and smaller things out of it
  • Adapt the e2e tests of kubewarden-controller to use the e2e framework of kubernetes (it did not exist when we wrote them for the 1st time)
  • Update the GitHub actions to handle the monorepo (see how sbomscanner deals with them)

flavio and others added 30 commits October 13, 2025 11:50
…ring-sigstore-init

fix: graceful handling of failures while initializing Sigstore
build(deps): update all dependencies updates
build(deps): update all dependencies updates
More PolicyReport code to dedicated files, following the same pattern
used to define OpenReports types and functions.

Signed-off-by: Flavio Castelli <[email protected]>
Remove code that is no longer needed from the Makefile

Signed-off-by: Flavio Castelli <[email protected]>
build(deps): update all dependencies updates
build(deps): update all dependencies updates
build(deps): update all dependencies updates
Update to latest version of the sigstore crate to handle the changes
happened inside of upstream's TUF repository.

Signed-off-by: Flavio Castelli <[email protected]>
…r-keys

fix: handle changes inside of Sigstore's TUF repository
Do not error when multiple Rekor keys are found inside of Sigstore's TUF
repository.

As part of the fix, the code has been changed to not use the
`ManualTrustRoot` struct since it did not provide any value over just
using the `SigstoreTrustRoot`.

Signed-off-by: Flavio Castelli <[email protected]>
Signed-off-by: Flavio Castelli <[email protected]>
…tiple-rekor-keys

fix: handle multiple rekor keys inside of Sigstore's TUF repository
Allow multiple Rekor keys to be found inside of Sigstore's TUF
repository.

Signed-off-by: Flavio Castelli <[email protected]>
Signed-off-by: Flavio Castelli <[email protected]>
…tory

This commit updates to the latest sigstore-rs crate, which allows us to
handle some changes done inside of Sigstore's TUF repository.

This commit is part of a series of commits required to address the
issue.

Signed-off-by: Flavio Castelli <[email protected]>
The contents of the Sigstore's TUF repository changed, causing
verification to not work properly.

This commits fixes verification, both for the `.wasm` files containing
our policies and for the policies that make use of our verification
capabilities (like the `verify-image-signatures` policy).

However, now the Sigstore's TUF repository no longer ships with
individual certificate/public keys. Issue kubewarden/kwctl#1245
was already tracking that.

Moreover, the latest version of sigstore-rs requires to know Rekor's KEY IDs in addition
to the actual keys, which makes all the individual CLI flags
(`--rekor-public-key-path`, ``--fulcio-cert-path`) useless.

Because of that, this commit removes these flags.

We will add support for bring your own PKI in a future PR (see
kubewarden/kwctl#1245 (comment)
for more details).

Signed-off-by: Flavio Castelli <[email protected]>
…or-keys

fix sigstore handle multiple rekor keys
Keep track of the removal of the rekor and fulcio related flags

Signed-off-by: Flavio Castelli <[email protected]>
…or-keys

fix!: sigstore handle multiple rekor keys
renovate bot and others added 27 commits December 13, 2025 03:35
build(deps): update all dependencies updates (major)
…updates

build(deps): update all dependencies updates (major)
build(deps): update all dependencies updates
build(deps): update codecov/codecov-action action to v5.5.2
build(deps): update codecov/codecov-action action to v5.5.2
build(deps): update all dependencies updates
build(deps): update all dependencies updates
Refactor the code to make it fit with the monorepo, start to bring in
the Makefile of sbomscanner and the helm charts directory

Signed-off-by: Flavio Castelli <[email protected]>
- Build kwctl and policy-server binaries using cross
- Build policys-server image
- Initial setup of the rust workspace

Signed-off-by: Flavio Castelli <[email protected]>
Do not try to merge all the 3 charts into a single one, just stick with
the current ones.

Signed-off-by: Flavio Castelli <[email protected]>
It's fine to have test helpers as part of the regular go modules. Their
source code is not going to be part of the final Go binary as long as
they are consumed from `_test.go` files.

Signed-off-by: Flavio Castelli <[email protected]>
@github-project-automation github-project-automation bot moved this to Pending review in Kubewarden Dec 19, 2025
@flavio flavio moved this from Pending review to In Progress in Kubewarden Dec 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

4 participants