Skip to main content
Version: Next 🚧

Command-Line Help for kwctl

This document contains the help content for the kwctl command-line program.

Command Overview:

kwctl​

Tool to manage Kubewarden policies

Usage: kwctl [OPTIONS] <COMMAND>

Subcommands:​
  • annotate β€” Add Kubewarden metadata to a WebAssembly module
  • bench β€” Benchmarks a Kubewarden policy
  • completions β€” Generate shell completions
  • digest β€” Fetch digest from the OCI manifest of a policy
  • docs β€” Generates the markdown documentation for kwctl commands
  • info β€” Display system information
  • inspect β€” Inspect Kubewarden policy
  • load β€” load policies from a tar.gz file
  • policies β€” Lists all downloaded policies
  • pull β€” Pulls a Kubewarden policy from a given URI
  • push β€” Pushes a Kubewarden policy to an OCI registry
  • rm β€” Removes a Kubewarden policy from the store
  • run β€” Runs a Kubewarden policy from a given URI
  • save β€” save policies to a tar.gz file
  • scaffold β€” Scaffold a Kubernetes resource or configuration file
  • verify β€” Verify a Kubewarden policy from a given URI using Sigstore
Options:​
  • -v, --verbose <VERBOSE> β€” Increase verbosity
  • --no-color <NO-COLOR> β€” Disable colorful output

kwctl annotate​

Add Kubewarden metadata to a WebAssembly module

Usage: kwctl annotate [OPTIONS] --metadata-path <PATH> --output-path <PATH> <wasm-path>

Arguments:​
  • <WASM-PATH> β€” Path to WebAssembly module to be annotated
Options:​
  • -m, --metadata-path <PATH> β€” File containing the metadata
  • -o, --output-path <PATH> β€” Output file
  • -u, --usage-path <PATH> β€” File containing the usage information of the policy

kwctl bench​

Benchmarks a Kubewarden policy

Usage: kwctl bench [OPTIONS] --request-path <PATH> <uri_or_sha_prefix>

Arguments:​
  • <URI_OR_SHA_PREFIX> β€” Policy URI or SHA prefix. Supported schemes: registry://, https://, file://. If schema is omitted, file:// is assumed, rooted on the current directory.
Options:​
  • --allow-context-aware <ALLOW-CONTEXT-AWARE> β€” Grant access to the Kubernetes resources defined inside of the policy's contextAwareResources section. Warning: review the list of resources carefully to avoid abuses. Disabled by default

  • --cert-email <VALUE> β€” Expected email in Fulcio certificate

  • --cert-oidc-issuer <VALUE> β€” Expected OIDC issuer in Fulcio certificates

  • --disable-wasmtime-cache <DISABLE-WASMTIME-CACHE> β€” Turn off usage of wasmtime cache

  • --docker-config-json-path <PATH> β€” Path to a directory containing the Docker 'config.json' file. Can be used to indicate registry authentication details

  • --dump-results-to-disk <DUMP_RESULTS_TO_DISK> β€” Puts results in target/tiny-bench/label/.. if target can be found. used for comparing previous runs

  • -e, --execution-mode <MODE> β€” The runtime to use to execute this policy

    Possible values: opa, gatekeeper, kubewarden, wasi

  • --fulcio-cert-path <PATH> β€” Path to the Fulcio certificate. Can be repeated multiple times

  • --github-owner <VALUE> β€” GitHub owner expected in the certificates generated in CD pipelines

  • --github-repo <VALUE> β€” GitHub repository expected in the certificates generated in CD pipelines

  • --measurement-time <SECONDS> β€” How long the bench β€˜should’ run, num_samples is prioritized so benching will take longer to be able to collect num_samples if the code to be benched is slower than this time limit allowed

  • --num-resamples <NUM> β€” How many resamples should be done

  • --num-samples <NUM> β€” How many resamples should be done. Recommended at least 50, above 100 doesn’t seem to yield a significantly different result

  • --raw <RAW> β€” Validate a raw request

    Default value: false

  • --record-host-capabilities-interactions <FILE> β€” Record all the policy and host capabilities communications to the given file. Useful to be combined later with '--replay-host-capabilities-interactions' flag

  • --rekor-public-key-path <PATH> β€” Path to the Rekor public key

  • --replay-host-capabilities-interactions <FILE> β€” During policy and host capabilities exchanges the host replays back the answers found inside of the provided file. This is useful to test policies in a reproducible way, given no external interactions with OCI registries, DNS, Kubernetes are performed.

  • -r, --request-path <PATH> β€” File containing the Kubernetes admission request object in JSON format

  • --settings-json <VALUE> β€” JSON string containing the settings for this policy

  • -s, --settings-path <PATH> β€” File containing the settings for this policy

  • --sources-path <PATH> β€” YAML file holding source information (https, registry insecure hosts, custom CA's...)

  • -a, --verification-annotation <KEY=VALUE> β€” Annotation in key=value format. Can be repeated multiple times

  • --verification-config-path <PATH> β€” YAML file holding verification config information (signatures, public keys...)

  • -k, --verification-key <PATH> β€” Path to key used to verify the policy. Can be repeated multiple times

  • --warm-up-time <SECONDS> β€” How long the bench should warm up

kwctl completions​

Generate shell completions

Usage: kwctl completions --shell <VALUE>

Options:​
  • -s, --shell <VALUE> β€” Shell type

    Possible values: bash, elvish, fish, powershell, zsh

kwctl digest​

Fetch digest from the OCI manifest of a policy

Usage: kwctl digest [OPTIONS] <uri>

Arguments:​
  • <URI> β€” Policy URI
Options:​
  • --docker-config-json-path <PATH> β€” Path to a directory containing the Docker 'config.json' file. Can be used to indicate registry authentication details
  • --sources-path <PATH> β€” YAML file holding source information (https, registry insecure hosts, custom CA's...)

kwctl docs​

Generates the markdown documentation for kwctl commands

Usage: kwctl docs --output <FILE>

Options:​
  • -o, --output <FILE> β€” path where the documentation file will be stored

kwctl info​

Display system information

Usage: kwctl info

kwctl inspect​

Inspect Kubewarden policy

Usage: kwctl inspect [OPTIONS] <uri_or_sha_prefix>

Arguments:​
  • <URI_OR_SHA_PREFIX> β€” Policy URI or SHA prefix. Supported schemes: registry://, https://, file://. If schema is omitted, file:// is assumed, rooted on the current directory.
Options:​
  • --docker-config-json-path <PATH> β€” Path to a directory containing the Docker 'config.json' file. Can be used to indicate registry authentication details

  • -o, --output <FORMAT> β€” Output format

    Possible values: yaml

  • --show-signatures <SHOW-SIGNATURES> β€” Show sigstore signatures

  • --sources-path <PATH> β€” YAML file holding source information (https, registry insecure hosts, custom CA's...)

kwctl load​

load policies from a tar.gz file

Usage: kwctl load --input <input>

Options:​
  • --input <INPUT> β€” load policies from tarball

kwctl policies​

Lists all downloaded policies

Usage: kwctl policies

kwctl pull​

Pulls a Kubewarden policy from a given URI

Usage: kwctl pull [OPTIONS] <uri>

Arguments:​
  • <URI> β€” Policy URI. Supported schemes: registry://, https://, file://
Options:​
  • --cert-email <VALUE> β€” Expected email in Fulcio certificate
  • --cert-oidc-issuer <VALUE> β€” Expected OIDC issuer in Fulcio certificates
  • --docker-config-json-path <DOCKER_CONFIG> β€” Path to a directory containing the Docker 'config.json' file. Can be used to indicate registry authentication details
  • --fulcio-cert-path <PATH> β€” Path to the Fulcio certificate. Can be repeated multiple times
  • --github-owner <VALUE> β€” GitHub owner expected in the certificates generated in CD pipelines
  • --github-repo <VALUE> β€” GitHub repository expected in the certificates generated in CD pipelines
  • -o, --output-path <PATH> β€” Output file. If not provided will be downloaded to the Kubewarden store
  • --rekor-public-key-path <PATH> β€” Path to the Rekor public key. Can be repeated multiple times
  • --sources-path <PATH> β€” YAML file holding source information (https, registry insecure hosts, custom CA's...)
  • -a, --verification-annotation <KEY=VALUE> β€” Annotation in key=value format. Can be repeated multiple times
  • --verification-config-path <PATH> β€” YAML file holding verification config information (signatures, public keys...)
  • -k, --verification-key <PATH> β€” Path to key used to verify the policy. Can be repeated multiple times

kwctl push​

Pushes a Kubewarden policy to an OCI registry

Usage: kwctl push [OPTIONS] <policy> <uri>

Arguments:​
  • <POLICY> β€” Policy to push. Can be the path to a local file, a policy URI or the SHA prefix of a policy in the store.
  • <URI> β€” Policy URI. Supported schemes: registry://
Options:​
  • --docker-config-json-path <PATH> β€” Path to a directory containing the Docker 'config.json' file. Can be used to indicate registry authentication details

  • -f, --force <FORCE> β€” Push also a policy that is not annotated

  • -o, --output <PATH> β€” Output format

    Default value: text

    Possible values: text, json

  • --sources-path <PATH> β€” YAML file holding source information (https, registry insecure hosts, custom CA's...)

kwctl rm​

Removes a Kubewarden policy from the store

Usage: kwctl rm <uri_or_sha_prefix>

Arguments:​
  • <URI_OR_SHA_PREFIX> β€” Policy URI or SHA prefix

kwctl run​

Runs a Kubewarden policy from a given URI

Usage: kwctl run [OPTIONS] --request-path <PATH> <uri_or_sha_prefix>

Arguments:​
  • <URI_OR_SHA_PREFIX> β€” Policy URI or SHA prefix. Supported schemes: registry://, https://, file://. If schema is omitted, file:// is assumed, rooted on the current directory.
Options:​
  • --allow-context-aware <ALLOW-CONTEXT-AWARE> β€” Grant access to the Kubernetes resources defined inside of the policy's contextAwareResources section. Warning: review the list of resources carefully to avoid abuses. Disabled by default

  • --cert-email <VALUE> β€” Expected email in Fulcio certificate

  • --cert-oidc-issuer <VALUE> β€” Expected OIDC issuer in Fulcio certificates

  • --disable-wasmtime-cache <DISABLE-WASMTIME-CACHE> β€” Turn off usage of wasmtime cache

  • --docker-config-json-path <PATH> β€” Path to a directory containing the Docker 'config.json' file. Can be used to indicate registry authentication details

  • -e, --execution-mode <MODE> β€” The runtime to use to execute this policy

    Possible values: opa, gatekeeper, kubewarden, wasi

  • --fulcio-cert-path <PATH> β€” Path to the Fulcio certificate. Can be repeated multiple times

  • --github-owner <VALUE> β€” GitHub owner expected in the certificates generated in CD pipelines

  • --github-repo <VALUE> β€” GitHub repository expected in the certificates generated in CD pipelines

  • --raw <RAW> β€” Validate a raw request

    Default value: false

  • --record-host-capabilities-interactions <FILE> β€” Record all the policy and host capabilities communications to the given file. Useful to be combined later with '--replay-host-capabilities-interactions' flag

  • --rekor-public-key-path <PATH> β€” Path to the Rekor public key

  • --replay-host-capabilities-interactions <FILE> β€” During policy and host capabilities exchanges the host replays back the answers found inside of the provided file. This is useful to test policies in a reproducible way, given no external interactions with OCI registries, DNS, Kubernetes are performed.

  • -r, --request-path <PATH> β€” File containing the Kubernetes admission request object in JSON format

  • --settings-json <VALUE> β€” JSON string containing the settings for this policy

  • -s, --settings-path <PATH> β€” File containing the settings for this policy

  • --sources-path <PATH> β€” YAML file holding source information (https, registry insecure hosts, custom CA's...)

  • -a, --verification-annotation <KEY=VALUE> β€” Annotation in key=value format. Can be repeated multiple times

  • --verification-config-path <PATH> β€” YAML file holding verification config information (signatures, public keys...)

  • -k, --verification-key <PATH> β€” Path to key used to verify the policy. Can be repeated multiple times

kwctl save​

save policies to a tar.gz file

Usage: kwctl save --output <FILE> <policies>...

Arguments:​
  • <POLICIES> β€” list of policies to save
Options:​
  • -o, --output <FILE> β€” path where the file will be stored

kwctl scaffold​

Scaffold a Kubernetes resource or configuration file

Usage: kwctl scaffold <COMMAND>

Subcommands:​
  • admission-request β€” Scaffold an AdmissionRequest object
  • artifacthub β€” Output an artifacthub-pkg.yml file from a metadata.yml file
  • manifest β€” Output a Kubernetes resource manifest
  • vap β€” Convert a Kubernetes ValidatingAdmissionPolicy into a Kubewarden ClusterAdmissionPolicy
  • verification-config β€” Output a default Sigstore verification configuration file

kwctl scaffold admission-request​

Scaffold an AdmissionRequest object

Usage: kwctl scaffold admission-request [OPTIONS] --operation <TYPE>

Options:​
  • --object <PATH> β€” The file containing the new object being admitted

  • --old-object <PATH> β€” The file containing the existing object

  • -o, --operation <TYPE> β€” Kubewarden Custom Resource type

    Possible values: CREATE

kwctl scaffold artifacthub​

Output an artifacthub-pkg.yml file from a metadata.yml file

Usage: kwctl scaffold artifacthub [OPTIONS] --metadata-path <PATH> --version <VALUE>

Options:​
  • -m, --metadata-path <PATH> β€” File containing the metadata of the policy
  • -o, --output <FILE> β€” Path where the artifact-pkg.yml file will be stored
  • -q, --questions-path <PATH> β€” File containing the questions-ui content of the policy
  • -v, --version <VALUE> β€” Semver version of the policy

kwctl scaffold manifest​

Output a Kubernetes resource manifest

Usage: kwctl scaffold manifest [OPTIONS] --type <VALUE> <uri_or_sha_prefix>

Arguments:​
  • <URI_OR_SHA_PREFIX> β€” Policy URI or SHA prefix. Supported schemes: registry://, https://, file://. If schema is omitted, file:// is assumed, rooted on the current directory.
Options:​
  • --allow-context-aware <ALLOW-CONTEXT-AWARE> β€” Uses the policy metadata to define which Kubernetes resources can be accessed by the policy. Warning: review the list of resources carefully to avoid abuses. Disabled by default

  • --cert-email <VALUE> β€” Expected email in Fulcio certificate

  • --cert-oidc-issuer <VALUE> β€” Expected OIDC issuer in Fulcio certificates

  • --docker-config-json-path <DOCKER_CONFIG> β€” Path to a directory containing the Docker 'config.json' file. Can be used to indicate registry authentication details

  • --fulcio-cert-path <PATH> β€” Path to the Fulcio certificate. Can be repeated multiple times

  • --github-owner <VALUE> β€” GitHub owner expected in the certificates generated in CD pipelines

  • --github-repo <VALUE> β€” GitHub repository expected in the certificates generated in CD pipelines

  • --rekor-public-key-path <PATH> β€” Path to the Rekor public key. Can be repeated multiple times

  • --settings-json <VALUE> β€” JSON string containing the settings for this policy

  • -s, --settings-path <PATH> β€” File containing the settings for this policy

  • --sources-path <PATH> β€” YAML file holding source information (https, registry insecure hosts, custom CA's...)

  • --title <VALUE> β€” Policy title

  • -t, --type <VALUE> β€” Kubewarden Custom Resource type

    Possible values: ClusterAdmissionPolicy, AdmissionPolicy

  • -a, --verification-annotation <KEY=VALUE> β€” Annotation in key=value format. Can be repeated multiple times

  • --verification-config-path <PATH> β€” YAML file holding verification config information (signatures, public keys...)

  • -k, --verification-key <PATH> β€” Path to key used to verify the policy. Can be repeated multiple times

kwctl scaffold vap​

Convert a Kubernetes ValidatingAdmissionPolicy into a Kubewarden ClusterAdmissionPolicy

Usage: kwctl scaffold vap [OPTIONS] --binding <VALIDATING-ADMISSION-POLICY-BINDING.yaml> --policy <VALIDATING-ADMISSION-POLICY.yaml>

Options:​
  • -b, --binding <VALIDATING-ADMISSION-POLICY-BINDING.yaml> β€” The file containining the ValidatingAdmissionPolicyBinding definition

  • --cel-policy <URI> β€” The CEL policy module to use

    Default value: ghcr.io/kubewarden/policies/cel-policy:latest

  • -p, --policy <VALIDATING-ADMISSION-POLICY.yaml> β€” The file containining the ValidatingAdmissionPolicy definition

kwctl scaffold verification-config​

Output a default Sigstore verification configuration file

Usage: kwctl scaffold verification-config

kwctl verify​

Verify a Kubewarden policy from a given URI using Sigstore

Usage: kwctl verify [OPTIONS] <uri>

Arguments:​
  • <URI> β€” Policy URI. Supported schemes: registry://
Options:​
  • --cert-email <VALUE> β€” Expected email in Fulcio certificate
  • --cert-oidc-issuer <VALUE> β€” Expected OIDC issuer in Fulcio certificates
  • --docker-config-json-path <PATH> β€” Path to a directory containing the Docker 'config.json' file. Can be used to indicate registry authentication details
  • --fulcio-cert-path <PATH> β€” Path to the Fulcio certificate. Can be repeated multiple times
  • --github-owner <VALUE> β€” GitHub owner expected in the certificates generated in CD pipelines
  • --github-repo <VALUE> β€” GitHub repository expected in the certificates generated in CD pipelines
  • --rekor-public-key-path <PATH> β€” Path to the Rekor public key
  • --sources-path <PATH> β€” YAML file holding source information (https, registry insecure hosts, custom CA's...)
  • -a, --verification-annotation <KEY=VALUE> β€” Annotation in key=value format. Can be repeated multiple times
  • --verification-config-path <PATH> β€” YAML file holding verification config information (signatures, public keys...)
  • -k, --verification-key <PATH> β€” Path to key used to verify the policy. Can be repeated multiple times

This document was generated automatically by clap-markdown.