</> Open Source · Apache-2.0

kubeapt

The open-source Kubernetes Admission Policy Toolkit: a Go CLI to validate ValidatingAdmissionPolicies and Pod Security posture, scan your cluster for admission gaps, and manage curated policy bundles. Runs locally, ships nothing out.

licenseApache-2.0 langGo releasev2 typeCLI egressnone
$ go install github.com/cenroq/kubeapt/v2/cmd/kubeapt@latest
kubeapt scan
$ kubeapt scan
# auditing admission posture · cluster: prod
Pod Security Admission — 9/12 namespaces enforced
! 3 namespaces without PSA labels — default, staging, tools
Admission plugins — NodeRestriction, PodSecurity active
! Webhooks — Kyverno detected · 0 VAPs bound
 
# validate workloads against a bundle
$ kubeapt validate --bundle cenroq-best-practices -A
CRITICAL privileged: true batch-runner
HIGH allowPrivilegeEscalation api-gateway
MEDIUM readOnlyRootFilesystem cache-worker
 
evaluated locally · 0 bytes egressed
// quickstart

running in 60 seconds.

No account, no API key, nothing phoning home. Install the CLI, scan your cluster, then validate and enforce policy bundles.

1

Install the CLI

A single go install, or grab a pre-built binary from GitHub Releases. Nothing is deployed to your cluster yet.

2

Scan your cluster

See Pod Security Admission posture, admission plugins and webhooks at a glance: read-only, nothing leaves.

3

Add a policy bundle

Browse and download curated bundles like cenroq-best-practices. Air-gapped? Import a signed archive instead.

4

Validate & enforce

Evaluate workloads locally, then install the bundle and label a namespace to warn, audit or enforce.

quickstart.sh
# 1 · install the CLI
$ go install github.com/cenroq/kubeapt/v2/cmd/kubeapt@latest
 
# 2 · scan the cluster
$ kubeapt scan
 
# 3 · add a policy bundle
$ kubeapt bundles download cenroq-best-practices
 
# 4 · validate, then enforce
$ kubeapt validate --bundle cenroq-best-practices -A --report all
$ kubeapt bundles install cenroq-best-practices
// what it does

admission hardening, from one CLI.

Validate admission policies

Before you deploy them, evaluate ValidatingAdmissionPolicies and their bindings with CEL against a live cluster or local manifests.

Pod Security Admission posture

Check every namespace against the baseline and restricted levels and get a clear pass/fail breakdown.

Scan for admission gaps

Discover built-in admission plugins and validating/mutating webhooks, and detect Kyverno or Gatekeeper, in one read-only pass.

Curated policy bundles

Download, inspect, install and version curated bundles like cenroq-best-practices and pod-security-admission.

Air-gapped by design

Export and import bundles as SHA-256-verified archives. Runs fully offline: no telemetry, no phone-home.

CI-native

Run kubeapt validate --pipeline as a quality gate. It exits non-zero on violations. Table or JSON output for GitHub Actions, GitLab CI or Jenkins.

// policy library

policies for Kubernetes-native admission control.

kubernetes-security-policies is a curated set of ValidatingAdmissionPolicies written in CEL, plus Istio and NetworkPolicy guardrails. There's no Kyverno or OPA to run: they're native Kubernetes objects. Install them with kubeapt, or apply them straight with kubectl.

policies178 critical42 bundles2 engineVAP · CEL licenseApache-2.0

Two curated bundles

cenroq-best-practices bundles all 178 policies for a strong baseline; pod-security-admission ships the Pod Security Standards as VAPs (baseline & restricted).

Broad coverage

Pod & container hardening, RBAC, secrets, network, images, storage encryption, ingress/TLS and webhook hardening. Every policy is severity-rated.

Warn, audit, enforce

Activate policies per namespace with security.cenroq.io labels. Start in warn, move to audit, then enforce when you're ready.

apply.sh
# with kubeapt
$ kubeapt bundles install cenroq-best-practices
 
# …or with plain kubectl
$ kubectl apply -f cenroq-best-practices/ --recursive
 
# enforce in a namespace
$ kubectl label ns payments security.cenroq.io/enforce=enabled
// open source vs professional

start free. upgrade when you need continuity.

kubeapt and the policy bundles harden admission control, for free. cenroq Professional adds everything required to run security and compliance continuously: in production, under audit.

free

kubeapt

commercial

Professional

Admission policy validation (VAP + PSA)
Curated policy bundles
managed
Cluster admission scan
Per-namespace warn / audit / enforce
Air-gapped import / export
Runtime security (real-time)
Contextual vulnerability management
Attack path discovery
Continuous monitoring
AI-assisted VEX & triage
Compliance audits (FINMA, DORA, NIS-2…)
Multi-cluster dashboard & reporting
Support
community
24/7 follow-the-sun
// community

built in the open.

kubeapt

The admission policy toolkit CLI. Apache-2.0. Fork it, audit it, open a pull request.

Open kubeapt →

Policy library

178 admission policies as code. Propose a rule, add a test, extend the bundles.

Open the policies →

Issues & roadmap

Report a bug, request a policy or pick up a good first issue. Contributions welcome.

Open issues →
// upgrade path

ready for production & audit?

Admission-time hardening has a limit. When you need continuous evidence, runtime protection and regulatory compliance, cenroq Professional picks up where kubeapt leaves off.