<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>General blog posts related to Kyverno on Kyverno</title><link>https://release-1-16-0--kyverno.netlify.app/blog/general/</link><description>Recent content in General blog posts related to Kyverno on Kyverno</description><generator>Hugo</generator><language>en</language><atom:link href="https://release-1-16-0--kyverno.netlify.app/blog/general/index.xml" rel="self" type="application/rss+xml"/><item><title>Automating EKS CIS Compliance with Kyverno and KubeBench</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2025/06/11/automating-eks-cis-compliance-with-kyverno-and-kubebench/</link><pubDate>Wed, 11 Jun 2025 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2025/06/11/automating-eks-cis-compliance-with-kyverno-and-kubebench/</guid><description>&lt;h2 id="introduction-the-challenge-of-eks-compliance-at-scale">
 Introduction: The Challenge of EKS Compliance at Scale
 &lt;a href="#introduction-the-challenge-of-eks-compliance-at-scale">
 &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24">&lt;path d="M0 0h24v24H0z" fill="none">&lt;/path>&lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h2>
&lt;p>Maintaining CIS Benchmarks compliance for Amazon EKS across multiple clusters is a common challenge in cloud native environments. Traditional manual approaches don&amp;rsquo;t scale, and existing solutions often lack comprehensive coverage or real-time enforcement capabilities.&lt;/p>
&lt;p>This article explores a practical approach to automating CIS compliance for EKS using Kyverno (a CNCF Kubernetes-native policy engine), combined with OpenTofu for infrastructure provisioning, and kube-bench for node-level CIS scanning. This solution demonstrates how CNCF ecosystem tools can work together to provide comprehensive security validation across the entire infrastructure and application stack.&lt;/p></description></item><item><title>Kyverno-Envoy-Plugin - Kyverno policies based authorization plugin for Envoy</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2024/06/04/kyverno-envoy-plugin-kyverno-policies-based-authorization-plugin-for-envoy/</link><pubDate>Tue, 04 Jun 2024 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2024/06/04/kyverno-envoy-plugin-kyverno-policies-based-authorization-plugin-for-envoy/</guid><description>&lt;p>&lt;img alt="Kyverno-Envoy-Plugin" src="https://release-1-16-0--kyverno.netlify.app/blog/2024/06/04/kyverno-envoy-plugin-kyverno-policies-based-authorization-plugin-for-envoy/logo.png">&lt;/p>
&lt;p>Microservices enhance the productivity of individual development teams by dividing applications into smaller, independent components. However, microservices alone do not address longstanding challenges in distributed systems such as authentication and authorization. These problems can become even harder to manage due to the diverse and short-lived nature of the microservice environments.&lt;/p>
&lt;p>As more organizations move to using microservices, there is an increasing need for separate authentication and authorization mechanisms that work across different microservices.&lt;/p></description></item><item><title>Kyverno Reports Server - The ultimate solution to scale reporting</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2024/05/29/kyverno-reports-server-the-ultimate-solution-to-scale-reporting/</link><pubDate>Wed, 29 May 2024 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2024/05/29/kyverno-reports-server-the-ultimate-solution-to-scale-reporting/</guid><description>&lt;h2 id="introduction">
 Introduction
 &lt;a href="#introduction">
 &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24">&lt;path d="M0 0h24v24H0z" fill="none">&lt;/path>&lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h2>
&lt;p>Policy Reports are used by Kyverno to store the result of policies and cluster policies that match a resource. Kyverno generates reports during admission request as well as periodically as background scans. They are very helpful in auditing the current state of policy compliance in a cluster.&lt;/p></description></item><item><title>Generating Kubernetes ValidatingAdmissionPolicies from Kyverno Policies</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2024/02/26/generating-kubernetes-validatingadmissionpolicies-from-kyverno-policies/</link><pubDate>Mon, 26 Feb 2024 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2024/02/26/generating-kubernetes-validatingadmissionpolicies-from-kyverno-policies/</guid><description>&lt;p>In the &lt;a href="https://release-1-16-0--kyverno.netlify.app/blog/2023/11/13/using-cel-expressions-in-kyverno-policies/">previous blog post&lt;/a>, we discussed writing &lt;a href="https://github.com/google/cel-spec">Common Expression Language (CEL)&lt;/a> expressions in Kyverno policies for resource validation. CEL was first introduced to Kubernetes for the Validation rules for CustomResourceDefinitions, and then it was used by Kubernetes ValidatingAdmissionPolicies in 1.26.&lt;/p>
&lt;p>ValidatingAdmissionPolicies offer a declarative, in-process alternative to validating admission webhooks.&lt;/p>
&lt;p>ValidatingAdmissionPolicies use the Common Expression Language (CEL) to declare the validation rules of a policy. Validation admission policies are highly configurable, enabling policy authors to define policies that can be parameterized and scoped to resources as needed by cluster administrators.&lt;/p></description></item><item><title>Assigning Node Metadata to Pods</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2024/02/19/assigning-node-metadata-to-pods/</link><pubDate>Mon, 19 Feb 2024 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2024/02/19/assigning-node-metadata-to-pods/</guid><description>&lt;p>If you&amp;rsquo;re running Kubernetes in production, especially in a public cloud, where a single cluster may span multiple availability zones, chances are you&amp;rsquo;re configuring workloads with some awareness of your topology. Kubernetes has a few mechanisms to support zone awareness, but one common use case is how to propagate certain Node metadata, such as labels or annotations, to Pods to assist with this awareness. In this blog, we&amp;rsquo;ll go into specifics of how Pod scheduling &lt;strong>really&lt;/strong> works and share some tips for how Kyverno can mutate Pods to add Node metadata like labels. Even if you&amp;rsquo;re not a Kyverno user, you&amp;rsquo;ll most likely learn something you didn&amp;rsquo;t know about Kubernetes.&lt;/p></description></item><item><title>Kyverno Chainsaw 0.1.4 - Awesome new features!</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2024/02/15/kyverno-chainsaw-0.1.4-awesome-new-features/</link><pubDate>Thu, 15 Feb 2024 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2024/02/15/kyverno-chainsaw-0.1.4-awesome-new-features/</guid><description>&lt;p>&lt;img alt="Kyverno Chainsaw" src="https://release-1-16-0--kyverno.netlify.app/blog/2024/02/15/kyverno-chainsaw-0.1.4-awesome-new-features/kyverno-chainsaw-horizontal.png">&lt;/p>
&lt;p>The &lt;a href="https://github.com/kyverno/chainsaw/releases/tag/v0.1.4">latest release of Kyverno Chainsaw&lt;/a> came out yesterday. Let&amp;rsquo;s look at the new features included in this release.&lt;/p>
&lt;ul>
&lt;li>Resource diff in assertion failures&lt;/li>
&lt;li>Resource templating support&lt;/li>
&lt;/ul>
&lt;h2 id="resource-diff-in-assertion-failures">
 Resource diff in assertion failures
 &lt;a href="#resource-diff-in-assertion-failures">
 &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24">&lt;path d="M0 0h24v24H0z" fill="none">&lt;/path>&lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h2>
&lt;p>This is a relatively straightforward one but it brings a lot of context to assertion failures.&lt;/p></description></item><item><title>Securing Services Meshes Easier with Kyverno</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2024/02/04/securing-services-meshes-easier-with-kyverno/</link><pubDate>Sun, 04 Feb 2024 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2024/02/04/securing-services-meshes-easier-with-kyverno/</guid><description>&lt;p>Service meshes are all too common these days in Kubernetes with some platforms even building them into clusters by default. Service meshes are no doubt useful in a variety of ways which are well known, but it&amp;rsquo;s also well known they dramatically increase the complexity in those clusters. In addition to added complexity, service meshes also pose a (infamous) problem when it comes to enforcing Pod security because they require elevated privileges which can be difficult for other admission controllers to handle like Kubernetes&amp;rsquo; own Pod Security Admission. In this post, we&amp;rsquo;ll explain more about this problem and how Kyverno can be a real savior when employing service meshes while giving you a preview of something to come in Kyverno 1.12 which will make security service meshes a piece of cake!&lt;/p></description></item><item><title>Kyverno Chainsaw - Exploring the Power of Assertion Trees!</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/12/13/kyverno-chainsaw-exploring-the-power-of-assertion-trees/</link><pubDate>Wed, 13 Dec 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/12/13/kyverno-chainsaw-exploring-the-power-of-assertion-trees/</guid><description>&lt;p>&lt;img alt="Kyverno Chainsaw" src="https://release-1-16-0--kyverno.netlify.app/blog/2023/12/13/kyverno-chainsaw-exploring-the-power-of-assertion-trees/kyverno-chainsaw-horizontal.png">&lt;/p>
&lt;p>While the &lt;a href="https://kyverno.github.io/chainsaw">Chainsaw documentation&lt;/a> is nice and comprehensive, I feel like the most powerful feature of Chainsaw deserves its own blog post for a couple of reasons:&lt;/p>
&lt;ul>
&lt;li>Its hard to make it standout in the documentation&lt;/li>
&lt;li>You can&amp;rsquo;t appreciate Chainsaw until you understand what makes it so unique&lt;/li>
&lt;li>Seeing the feature in action is the best way to learn about it&lt;/li>
&lt;/ul>
&lt;p>What makes Chainsaw unique is its &lt;strong>&lt;em>assertion model&lt;/em>&lt;/strong>.&lt;/p></description></item><item><title>Kyverno Chainsaw - The ultimate end to end testing tool!</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/12/12/kyverno-chainsaw-the-ultimate-end-to-end-testing-tool/</link><pubDate>Tue, 12 Dec 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/12/12/kyverno-chainsaw-the-ultimate-end-to-end-testing-tool/</guid><description>&lt;p>&lt;img alt="Kyverno Chainsaw" src="https://release-1-16-0--kyverno.netlify.app/blog/2023/12/12/kyverno-chainsaw-the-ultimate-end-to-end-testing-tool/kyverno-chainsaw-horizontal.png">&lt;/p>
&lt;p>Creating Kubernetes operators is hard, testing Kubernetes operators is also hard. Of course creating, maintaining and testing a Kubernetes operator is even harder.&lt;/p>
&lt;p>It often requires writing and maintaining additional code to get proper end to end testing, it takes time, is a cumbersome process, and making changes becomes a pain. All this often leads to poor operator testing and can impact the operator quality.&lt;/p>
&lt;p>Today we are extremely proud to release the first stable version of Kyverno Chainsaw, a tool to make end to end testing Kubernetes operators entirely declarative, simple and almost fun.&lt;/p></description></item><item><title>Kyverno Completes Third-Party Security Audit</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/11/28/kyverno-completes-third-party-security-audit/</link><pubDate>Tue, 28 Nov 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/11/28/kyverno-completes-third-party-security-audit/</guid><description>&lt;p>The Kyverno project is pleased to announce the completion of its third-party security audit. The audit was conducted by &lt;a href="https://adalogics.com">Ada Logics&lt;/a> in collaboration with the Kyverno maintainers, the &lt;a href="https://ostif.org">Open Source Technology Improvement Fund&lt;/a> and was funded by the &lt;a href="https://www.cncf.io">Cloud Native Computing Foundation&lt;/a>.&lt;/p>
&lt;p>The audit was a holistic security audit with four goals:&lt;/p>
&lt;ol>
&lt;li>Define a formal threat model for Kyverno.&lt;/li>
&lt;li>Conduct a manual code audit for security vulnerabilities.&lt;/li>
&lt;li>Assess Kyverno&amp;rsquo;s fuzzing suite against the threat model.&lt;/li>
&lt;li>Evaluate Kyverno&amp;rsquo;s supply-chain risks against SLSA.&lt;/li>
&lt;/ol>
&lt;p>Ada Logics found 10 security issues during the manual code auditing goal. Four of these had their root cause in the Notary verifier which had not been released prior to the audit. One of the findings was in a third-party dependency to Kyverno and was fixed by the Cosign project maintainers.&lt;/p></description></item><item><title>Using CEL Expressions in Kyverno Policies</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/11/13/using-cel-expressions-in-kyverno-policies/</link><pubDate>Mon, 13 Nov 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/11/13/using-cel-expressions-in-kyverno-policies/</guid><description>&lt;p>Kyverno, in simple terms, is a policy engine for Kubernetes that can be used to describe policies and validate resource requests against those policies. It allows us to create policies for our Kubernetes cluster on different levels. It enables us to validate, change, and create resources based on our defined policies.&lt;/p>
&lt;p>A Kyverno policy is a collection of rules. Whenever we receive an API request to our Kubernetes cluster, we validate it with a set of rules.&lt;/p></description></item><item><title>Applying Validating Admission Policies using Kyverno CLI</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/10/04/applying-validating-admission-policies-using-kyverno-cli/</link><pubDate>Wed, 04 Oct 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/10/04/applying-validating-admission-policies-using-kyverno-cli/</guid><description>&lt;p>The &lt;a href="https://release-1-16-0--kyverno.netlify.app/docs/kyverno-cli/">Kyverno Command Line Interface (CLI)&lt;/a> allows applying policies outside of Kubernetes clusters and can validate and test policy behavior prior to adding them to a cluster.&lt;/p>
&lt;p>The two commands used for testing are &lt;code>apply&lt;/code> and &lt;code>test&lt;/code>:&lt;/p>
&lt;ul>
&lt;li>The &lt;code>apply&lt;/code> command is used to perform a dry run on one or more policies for the given manifest(s).&lt;/li>
&lt;li>The &lt;code>test&lt;/code> command is used to test a given set of resources against one or more policies to check the desired results defined in a special test manifest.&lt;/li>
&lt;/ul>
&lt;p>In this post, I will show you how you can apply/test Kubernetes ValidatingAdmissionPolicies that were first &lt;a href="https://kubernetes.io/blog/2022/12/20/validating-admission-policies-alpha/">introduced in 1.26&lt;/a> with the enhancements to the Kyverno CLI in v1.11.&lt;/p></description></item><item><title>Kyverno Completes Fuzzing Security Audit</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/09/06/kyverno-completes-fuzzing-security-audit/</link><pubDate>Wed, 06 Sep 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/09/06/kyverno-completes-fuzzing-security-audit/</guid><description>&lt;p>Kyverno, a CNCF policy engine for Kubernetes, is happy to announce the completion of its fuzzing security audit. The audit was carried out by &lt;a href="https://adalogics.com/">Ada Logics&lt;/a> and is part of an initiative by the CNCF to bring fuzzing to the CNCF landscape; Fuzzing is an important part in keeping CNCF projects secure and robust, and it has found security vulnerabilities and reliability issues &lt;a href="https://www.cncf.io/blog/2023/04/18/cncf-fuzzing-open-source-projects-for-security-and-reliability/">in several other CNCF-hosted projects&lt;/a>. The audit spanned July and August of 2023 and resulted in 15 fuzzers written for the Kyverno project. The fuzzers found three bugs during the audit itself and OSS-Fuzz will continue to run them after the audit has concluded to test Kyverno for bugs and vulnerabilities.&lt;/p></description></item><item><title>Verifying images in a private Amazon ECR with Kyverno and IAM Roles for Service Accounts (IRSA)</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/08/18/verifying-images-in-a-private-amazon-ecr-with-kyverno-and-iam-roles-for-service-accounts-irsa/</link><pubDate>Fri, 18 Aug 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/08/18/verifying-images-in-a-private-amazon-ecr-with-kyverno-and-iam-roles-for-service-accounts-irsa/</guid><description>&lt;p>When running workloads in Amazon Elastic Kubernetes Service (EKS), it is essential to ensure supply chain security by verifying container image signatures and other metadata. To achieve this, you can configure Kyverno, a CNCF policy engine designed for Kubernetes, to pull from ECR private registries for image verification. It&amp;rsquo;s possible to &lt;a href="https://release-1-16-0--kyverno.netlify.app/docs/policy-types/cluster-policy/verify-images/sigstore/#using-private-registries">pass in the credentials via secrets&lt;/a>, but that can get difficult to manage and automate across multiple clusters. In this blog post, we will explore an alternative method that simplifies the authentication process by leveraging Kyverno and IRSA (IAM Roles for Service Accounts) in EKS for image verification.&lt;/p></description></item><item><title>Simplifying OpenShift MachineSet Management Using Kyverno</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/07/28/simplifying-openshift-machineset-management-using-kyverno/</link><pubDate>Fri, 28 Jul 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/07/28/simplifying-openshift-machineset-management-using-kyverno/</guid><description>&lt;p>&lt;em>(Guest post from Red Hat Distinguished Architect, &lt;a href="https://twitter.com/sabre1041">Andrew Block&lt;/a>)&lt;/em>&lt;/p>
&lt;p>Managing infrastructure in a declarative fashion is one of the core principles that should be adopted when operating in any environment. In OpenShift, this paradigm for managing the underlying Node infrastructure is accomplished using the &lt;a href="https://docs.openshift.com/container-platform/4.13/machine_management/index.html">Machine API&lt;/a>. This extension of the upstream &lt;a href="https://cluster-api.sigs.k8s.io/">Cluster API project&lt;/a> enables the provisioning and management of instances once the OpenShift cluster finishes deploying.&lt;/p>
&lt;p>While Machines are individual hosts provisioned as Nodes, cluster administrators typically interact with them via an abstraction &amp;ndash; a MachineSet. A MachineSet represents a group of compute instances that not only share similar traits, such as the definition of the desired cloud provider, but they can be scaled based on the desired number of instances.&lt;/p></description></item><item><title>Using Kyverno with Pod Security Admission</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/06/12/using-kyverno-with-pod-security-admission/</link><pubDate>Mon, 12 Jun 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/06/12/using-kyverno-with-pod-security-admission/</guid><description>&lt;p>&lt;a href="https://kubernetes.io/docs/concepts/security/pod-security-admission/">Pod Security Admission&lt;/a> (PSA) is the built-in successor to Kubernetes &lt;a href="https://kubernetes.io/docs/concepts/security/pod-security-policy/">PodSecurityPolicy&lt;/a> (PSP) and is enabled by default starting in v1.23, graduating to stable in v1.25, the same version where PSP was finally removed. PSA is different from PSP in &lt;a href="https://release-1-16-0--kyverno.netlify.app/blog/2023/05/24/podsecuritypolicy-migration-with-kyverno/#comparison">many respects&lt;/a>, however one of the most important&amp;ndash;and central to how PSA operates&amp;ndash;is that it is focuses on implementing &lt;strong>standards&lt;/strong> and not individual checks like PSP did. The standards in this case are the &lt;a href="https://kubernetes.io/docs/concepts/security/pod-security-standards/">Pod Security Standards&lt;/a>. While many might see technologies like Kyverno and other admission controllers in competition PSA, the two can actually be highly complementary and deliver increased value through tighter security guarantees while catering to the flexibility demanded by modern Kubernetes operations. In this blog, we&amp;rsquo;ll explain some of these use cases for how Kyverno can be used alongside PSA to get the best of both worlds.&lt;/p></description></item><item><title>Let's Play Kyverno</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/06/04/lets-play-kyverno/</link><pubDate>Sun, 04 Jun 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/06/04/lets-play-kyverno/</guid><description>&lt;h2 id="foreword">
 Foreword
 &lt;a href="#foreword">
 &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24">&lt;path d="M0 0h24v24H0z" fill="none">&lt;/path>&lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h2>
&lt;p>&lt;i>&amp;ldquo;Kyverno is a policy engine designed specifically for Kubernetes.&amp;quot;&lt;/i>&lt;/p>
&lt;p>While this approach makes it very easy to use Kyverno in its intended environment, it is sometimes difficult to explain and present the capabilities when that environment is not available.&lt;/p>
&lt;p>To help potential users get started and reduce the effort required to test Kyverno and/or develop new policies, the &lt;a href="https://playground.kyverno.io">Kyverno Playground&lt;/a> has been developed. This has now been available for 3 weeks, currently in version 0.3.1.&lt;/p></description></item><item><title>PodSecurityPolicy migration with Kyverno</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/05/24/podsecuritypolicy-migration-with-kyverno/</link><pubDate>Wed, 24 May 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/05/24/podsecuritypolicy-migration-with-kyverno/</guid><description>&lt;p>As you&amp;rsquo;ve probably heard, &lt;a href="https://kubernetes.io/docs/concepts/security/pod-security-policy/">PodSecurityPolicy&lt;/a> (PSP) in Kubernetes is no more. After a deprecation beginning in v1.21, they were finally removed in v1.25. Many organizations out there are still relying on PSPs and, if you&amp;rsquo;re reading this post, you&amp;rsquo;re probably one of them. As you begin to upgrade your clusters closer and closer towards v1.25, the clock is ticking. The choices with which you are faced are to either delay cluster upgrades, which means you aren&amp;rsquo;t keeping up with the frequent releases and risk being on an unmaintained version, or upgrade to v1.25 or later and simply not have security for Pods. Neither is really an acceptable choice. In this blog post, we&amp;rsquo;ll show you what your options are and provide a step-by-step migration guide for getting off PSP and onto Kyverno so you can feel confident in your ability to upgrade safely.&lt;/p></description></item><item><title>New time related JMESPath filters in Kyverno!</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/02/19/new-time-related-jmespath-filters-in-kyverno/</link><pubDate>Sun, 19 Feb 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/02/19/new-time-related-jmespath-filters-in-kyverno/</guid><description>&lt;p>The v1.9 release of Kyverno added several time related JMESPath filters. With this addition, users now can add time based rules in their Kyverno policies. This blog post aims to describe those new additions.&lt;/p>
&lt;h2 id="what-is-jmespath">
 What is &amp;ldquo;JMESPath&amp;rdquo;?
 &lt;a href="#what-is-jmespath">
 &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24">&lt;path d="M0 0h24v24H0z" fill="none">&lt;/path>&lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h2>
&lt;p>&lt;a href="https://jmespath.org/">JMESPath&lt;/a> (pronounced &amp;ldquo;James path&amp;rdquo;) is a JSON query language that allows you to declaratively specify how to extract elements from a JSON document. It is similar to JSONPath in Kubernetes. It can be used almost anywhere in Kyverno.&lt;/p></description></item><item><title>Kyverno and SLSA 3</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2023/02/01/kyverno-and-slsa-3/</link><pubDate>Wed, 01 Feb 2023 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2023/02/01/kyverno-and-slsa-3/</guid><description>&lt;p>With the release of Kyverno 1.9, Kyverno has begun generating and attesting to the provenance of its release artifacts in the &lt;a href="https://security.googleblog.com/2021/06/introducing-slsa-end-to-end-framework.html">SLSA&lt;/a> standard and provisionally meet Level 3. This blog post attempts to explain a bit about SLSA and Level 3 and how we meet the requirements. Once the &lt;a href="https://openssf.org/">Open Source Security Foundation&lt;/a> (OpenSSF) establishes its conformance program, we hope to see official acknowledgement of this process.&lt;/p>
&lt;h2 id="about-slsa">
 About SLSA
 &lt;a href="#about-slsa">
 &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24">&lt;path d="M0 0h24v24H0z" fill="none">&lt;/path>&lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h2>
&lt;p>Supply Chain Levels for Software Artifacts, or SLSA (pronounced &amp;ldquo;salsa&amp;rdquo;), is a security framework which aims to prevent tampering and secure artifacts in a project. SLSA helps in mitigating supply chain threats. SLSA compliance is based on four levels. Level 1 starts with basic requirements and achieving level 4 requires strict hardening of the supply chain platform.&lt;/p></description></item><item><title>Kyverno CVE-2022-47633 affecting image verification</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2022/12/29/kyverno-cve-2022-47633-affecting-image-verification/</link><pubDate>Thu, 29 Dec 2022 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2022/12/29/kyverno-cve-2022-47633-affecting-image-verification/</guid><description>&lt;p>&lt;img alt="kyverno" src="https://release-1-16-0--kyverno.netlify.app/blog/2022/12/29/kyverno-cve-2022-47633-affecting-image-verification/kyverno-horizontal.png">&lt;/p>
&lt;h2 id="summary">
 Summary
 &lt;a href="#summary">
 &lt;svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24">&lt;path d="M0 0h24v24H0z" fill="none">&lt;/path>&lt;path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z">&lt;/path>&lt;/svg>
 &lt;/a>
&lt;/h2>
&lt;p>Kyverno versions 1.8.3 and 1.8.4 contained a regression (CVE-2022-47633) which allowed a malicious proxy to facilitate a man-in-the-middle (MiTM) attack allowing an unsigned image to run in a Kubernetes cluster even if there was a Kyverno policy installed to ensure only signed images were permitted. This was due to there being two calls to the registry using the image tag, when there only should have been one, allowing a different digest to be returned on the second call than the first. The issue has been fixed in Kyverno 1.8.5.&lt;/p></description></item><item><title>New Kyverno Blog</title><link>https://release-1-16-0--kyverno.netlify.app/blog/2022/07/08/new-kyverno-blog/</link><pubDate>Fri, 08 Jul 2022 00:00:00 +0000</pubDate><guid>https://release-1-16-0--kyverno.netlify.app/blog/2022/07/08/new-kyverno-blog/</guid><description>&lt;p>&lt;img alt="kyverno" src="https://release-1-16-0--kyverno.netlify.app/blog/2022/07/08/new-kyverno-blog/kyverno.png">&lt;/p>
&lt;p>Welcome to the new Kyverno blog!&lt;/p>
&lt;p>As you can see, we now have a brand new and shiny blog page thanks to the folks behind the &lt;a href="https://www.docsy.dev/">Docsy theme&lt;/a> which the Kyverno website uses (in addition to others in the cloud native ecosystem).&lt;/p>
&lt;p>Subscribe to the handy RSS feed to watch for updates, or check back to see blog articles published by the Kyverno team!&lt;/p></description></item></channel></rss>