Skip to content

Kubewarden is a policy engine for Kubernetes. It helps with keeping your Kubernetes clusters secure 🔐 and compliant ✔.

Kubewarden policies can be written using regular programming languages or Domain Specific Languages (DSL).

Policies are compiled into WebAssembly modules that are then distributed using traditional container registries.

Getting Started 📚

Check our first-stop kubewarden/community 👋 repository for information about the organization of the project.

Take a look at our documentation 📖 Stay up to date by reading our official blog 📣 and by following us on Twitter.

Get in touch with us on Slack: join the kubewarden channel hosted by the official Kubernetes workspace 👨‍💻 💬 👩‍💻

Enforcing Policies 🔒

Discover ready to use policies by visiting ArtifactHub 📦

Don't forget to take a look at kwctl, our handy multi-purpose tool for managing policies 🛠️ 🧰

Writing policies 📝

Interested in writing a new policy?

  1. Checkout the step-by-step tutorials inside of our documentation 📖
  2. Add kwctl to your toolbox 🛠️ 🧰
  3. Pick one of the languages from below
Language Project Template SDK Validation Mutation Maturity
Rust :octocat: :octocat: ✔️ ✔️ 🔝
Go (TinyGo) :octocat: :octocat: ✔️ ✔️ ↗️
Swift :octocat: :octocat: ✔️ ✔️ ↗️
Rego - Open Policy Agent :octocat: Rego built-ins ✔️ 🔝
Rego - Gatekeeper :octocat: Rego built-ins ✔️ 🔝
DotNet :octocat: ✔️ ✔️ ↗️

Can't find your favorite language? 🔍 Reach out to us and let's have a chat!

Useful GitHub tags :octocat: 🏷️

Use these tags to find repositories over all GitHub 🗺️ 🌌

Purpose Tag
Policy Template kubewarden-policy-template
Policy kubewarden-policy
Policy SDK kubewarden-policy-sdk

Contributing 🙌

That's fantastic news! 🥳

Check our general CONTRIBUTING.md docs.

Quick links to "core" projects:

Project Scope Language
kubewarden-controller Kubernetes integration point Go
policy-server Run Kubewarden policies Rust
kwctl Kubewarden policy multi-purpose cli tool Rust

Pinned Loading

  1. kwctl kwctl Public

    Go-to CLI tool for Kubewarden users

    Rust 74 16

  2. policy-server policy-server Public

    Webhook server that evaluates WebAssembly policies to validate Kubernetes requests

    Rust 139 18

  3. kubewarden-controller kubewarden-controller Public

    Manage admission policies in your Kubernetes cluster with ease

    Go 193 33

  4. rust-policy-template rust-policy-template Public

    A Kubewarden rust policy template to be used with cargo-generate

    Rust 9 6

  5. go-policy-template go-policy-template Public template

    A template repository to quickly scaffold a Kubewarden policy written with Go language

    Go 10 15

  6. swift-policy-template swift-policy-template Public template

    A template repository to quickly scaffold a Kubewarden policy written with Swift language

    Swift 1 1

Repositories

Showing 10 of 94 repositories
  • gostubpkg Public

    gostubpkg is a tool for generating stubs of Go packages

    kubewarden/gostubpkg’s past year of commit activity
    Go 3 Apache-2.0 0 3 0 Updated Nov 11, 2024
  • fleet-example Public

    Example of Rancher Fleet bundle for Kubewarden

    kubewarden/fleet-example’s past year of commit activity
    1 CC-BY-4.0 2 2 0 Updated Nov 11, 2024
  • pod-ndots-policy Public

    Policy that enforces the usage of ndots in the pod's DNS configuration

    kubewarden/pod-ndots-policy’s past year of commit activity
    Rust 0 Apache-2.0 0 1 0 Updated Nov 11, 2024
  • host-namespaces-psp-policy Public

    Replacement for the Kubernetes Pod Security Policy that controls the usage of host namespaces

    kubewarden/host-namespaces-psp-policy’s past year of commit activity
    Rust 1 Apache-2.0 4 3 (2 issues need help) 0 Updated Nov 11, 2024
  • kubewarden.io Public

    Kubewarden website

    kubewarden/kubewarden.io’s past year of commit activity
    SCSS 10 15 7 1 Updated Nov 11, 2024
  • go-wasi-policy-template Public template

    Template of a plain WASI policy written using Go

    kubewarden/go-wasi-policy-template’s past year of commit activity
    Go 0 Apache-2.0 0 1 0 Updated Nov 11, 2024
  • go-wasi-context-aware-test-policy Public

    A test context-aware policy written using Go Wasi

    kubewarden/go-wasi-context-aware-test-policy’s past year of commit activity
    Go 1 Apache-2.0 2 1 0 Updated Nov 11, 2024
  • volumeMounts-policy Public

    A Kubewarden Policy that controls the usage of `volumeMounts`

    kubewarden/volumeMounts-policy’s past year of commit activity
    Rust 2 Apache-2.0 4 1 0 Updated Nov 11, 2024
  • echo Public

    A Kubewarden Policy that echoes Kubernetes' AdmissionReview objects

    kubewarden/echo’s past year of commit activity
    Rust 1 Apache-2.0 3 1 0 Updated Nov 11, 2024
  • sysctl-psp-policy Public

    A Kubewarden policy that controls usage of sysctls

    kubewarden/sysctl-psp-policy’s past year of commit activity
    Go 2 Apache-2.0 3 2 (1 issue needs help) 0 Updated Nov 11, 2024