<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Porch Webhooks on Porch Documentation</title><link>/docs/6_configuration_and_deployments/configurations/components/porch-webhooks/</link><description>Recent content in Porch Webhooks on Porch Documentation</description><generator>Hugo</generator><language>en-us</language><atom:link href="/docs/6_configuration_and_deployments/configurations/components/porch-webhooks/index.xml" rel="self" type="application/rss+xml"/><item><title>Webhook Certificate Management</title><link>/docs/6_configuration_and_deployments/configurations/components/porch-webhooks/cert-manager-webhooks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/6_configuration_and_deployments/configurations/components/porch-webhooks/cert-manager-webhooks/</guid><description>&lt;p&gt;Porch webhooks require TLS certificates to function. By default, self-signed certificates are generated at deployment, which works for development and testing but doesn&amp;rsquo;t auto-rotate. For production, use cert-manager for automatic provisioning and rotation.&lt;/p&gt;
&lt;h2 id="default-setup-development"&gt;Default Setup (Development)&lt;a class="td-heading-self-link" href="#default-setup-development" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Self-signed certificates are generated by &lt;code&gt;scripts/webhook-utils.sh&lt;/code&gt; during deployment and stored in Secret &lt;code&gt;porch-controllers-webhook-tls&lt;/code&gt; in namespace &lt;code&gt;porch-system&lt;/code&gt;. They&amp;rsquo;re mounted at &lt;code&gt;/etc/webhook/certs&lt;/code&gt; in the porch-controllers pod.&lt;/p&gt;
&lt;p&gt;The limitation of self-signed certificates is that they don&amp;rsquo;t auto-rotate before expiration, which can cause webhook outages if they are not renewed manually.&lt;/p&gt;</description></item><item><title>Webhook Validation Rules</title><link>/docs/6_configuration_and_deployments/configurations/components/porch-webhooks/validation-rules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/6_configuration_and_deployments/configurations/components/porch-webhooks/validation-rules/</guid><description>&lt;p&gt;Webhooks validate resources at admission time, before they&amp;rsquo;re written to Kubernetes etcd. This means invalid configurations are rejected immediately, preventing invalid state from entering the system. The validation rules below are enforced by two webhooks: one for PackageRevision v1alpha2 resources and one for Repository resources.&lt;/p&gt;
&lt;h2 id="packagerevision-validation"&gt;PackageRevision Validation&lt;a class="td-heading-self-link" href="#packagerevision-validation" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="create"&gt;CREATE&lt;a class="td-heading-self-link" href="#create" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;When creating a PackageRevision, the webhook validates:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Repository&lt;/strong&gt; must exist in the same namespace and have the &lt;code&gt;porch.kpt.dev/v1alpha2-migration: &amp;quot;true&amp;quot;&lt;/code&gt; annotation. If missing, you&amp;rsquo;ll see the &lt;code&gt;Repository {namespace}/{name} not found&lt;/code&gt; or &lt;code&gt;not enabled for v1alpha2&lt;/code&gt; error messages. Add the annotation to the Repository resource.&lt;/p&gt;</description></item></channel></rss>