Building the policy

So far we have built the policy using as a compilation target the same operating system and architecture of our development machine.

It's now time to build the policy as a WebAssembly binary, also known as .wasm file.

This can be done with a simple command:

make build

This command will build the code in release mode, with WebAssembly as compilation target.

The build will produce the following file:

$ file target/wasm32-unknown-unknown/release/demo.wasm
target/wasm32-unknown-unknown/release/demo.wasm: WebAssembly (wasm) binary module version 0x1 (MVP)

Distributing the policy

This topic is covered inside of the distributing policies section of Kubewarden's documentation.

More examples

You can find more Kubewarden policies written in Rust inside of Kubewarden's GitHub space. This query can help you find them.

Worth of note: these repositories have a series of GitHub Actions that automate the following tasks:

  • Run unit tests and code linting on pull requests and after code is merged into the main branch
  • Build the policy in release mode and push it to a OCI registry as an artifact