<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reference on kup6s-pages</title><link>https://pages-docs.kup6s.com/reference/</link><description>Recent content in Reference on kup6s-pages</description><generator>Hugo</generator><language>en</language><atom:link href="https://pages-docs.kup6s.com/reference/index.xml" rel="self" type="application/rss+xml"/><item><title>StaticSite CRD</title><link>https://pages-docs.kup6s.com/reference/crd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pages-docs.kup6s.com/reference/crd/</guid><description>&lt;h1 id="staticsite-crd"&gt;StaticSite CRD&lt;a class="anchor" href="#staticsite-crd"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The &lt;code&gt;StaticSite&lt;/code&gt; Custom Resource Definition is the primary API for deploying static websites.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;API Version:&lt;/strong&gt; &lt;code&gt;pages.kup6s.com/v1beta1&lt;/code&gt;
&lt;strong&gt;Kind:&lt;/strong&gt; &lt;code&gt;StaticSite&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="spec-fields"&gt;Spec Fields&lt;a class="anchor" href="#spec-fields"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Required&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;repo&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;-&lt;/td&gt;
 &lt;td&gt;Git repository URL (HTTPS)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;branch&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;main&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Git branch to track&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;path&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Subpath in repo to serve&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;pathPrefix&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;-&lt;/td&gt;
 &lt;td&gt;URL path prefix (requires domain)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;domain&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;lt;name&amp;gt;.&amp;lt;pages-domain&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Custom domain&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;secretRef.name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;-&lt;/td&gt;
 &lt;td&gt;Secret name with Git credentials&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;secretRef.key&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;password&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Key in Secret for the token&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncInterval&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;5m&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;How often to pull updates&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="status-fields"&gt;Status Fields&lt;a class="anchor" href="#status-fields"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;phase&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Current phase: &lt;code&gt;Pending&lt;/code&gt;, &lt;code&gt;Syncing&lt;/code&gt;, &lt;code&gt;Ready&lt;/code&gt;, or &lt;code&gt;Error&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;message&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Human-readable status message&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;lastSync&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;timestamp&lt;/td&gt;
 &lt;td&gt;Timestamp of last successful sync&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;lastCommit&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Short SHA of the last synced commit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;url&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Full URL of the deployed site&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncToken&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Auto-generated token for API authentication&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;conditions&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;[]Condition&lt;/td&gt;
 &lt;td&gt;Standard Kubernetes conditions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;resources.ingressRoute&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Name of created IngressRoute&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;resources.middleware&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Name of created Middleware&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;resources.stripMiddleware&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Name of strip middleware (for pathPrefix)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;resources.certificate&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Name of created Certificate&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="conditions"&gt;Conditions&lt;a class="anchor" href="#conditions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The status includes standard Kubernetes conditions:&lt;/p&gt;</description></item><item><title>Helm Values</title><link>https://pages-docs.kup6s.com/reference/helm-values/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pages-docs.kup6s.com/reference/helm-values/</guid><description>&lt;h1 id="helm-values-reference"&gt;Helm Values Reference&lt;a class="anchor" href="#helm-values-reference"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Complete reference for all Helm chart configuration options.&lt;/p&gt;
&lt;h2 id="global"&gt;Global&lt;a class="anchor" href="#global"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nameOverride&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Override the chart name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;fullnameOverride&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Override the full release name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;createNamespace&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Create namespace (set to false if managed externally)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;namespace&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kup6s-pages&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Target namespace for deployment&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;imagePullSecrets&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global image pull secrets&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="crd-configuration"&gt;CRD Configuration&lt;a class="anchor" href="#crd-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;crds.install&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Install CRD with the chart (use &lt;code&gt;--skip-crds&lt;/code&gt; to skip)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;crds.keep&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Keep CRD when chart is uninstalled&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="operator"&gt;Operator&lt;a class="anchor" href="#operator"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.replicas&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Number of operator replicas&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.image.registry&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ghcr.io&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image registry&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.image.repository&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kup6s/pages-operator&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image repository&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.image.tag&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image tag (defaults to Chart.appVersion)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.image.pullPolicy&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;IfNotPresent&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image pull policy&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.pagesDomain&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;pages.kup6s.com&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Pages domain for auto-generated site URLs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.clusterIssuer&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;letsencrypt-prod&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;cert-manager ClusterIssuer name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.pagesTlsMode&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;individual&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;TLS mode for auto-generated domains: &lt;code&gt;individual&lt;/code&gt; (HTTP-01 per site) or &lt;code&gt;wildcard&lt;/code&gt; (pre-existing wildcard cert)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.pagesWildcardSecret&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;pages-wildcard-tls&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Secret name for wildcard certificate (only used when &lt;code&gt;pagesTlsMode=wildcard&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.metricsBindAddress&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;:8080&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Metrics bind address&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.healthProbeBindAddress&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;:8081&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Health probe bind address&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.extraArgs&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Additional CLI arguments&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.resources.limits.cpu&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;200m&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;CPU limit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.resources.limits.memory&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;128Mi&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Memory limit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.resources.requests.cpu&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;100m&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;CPU request&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.resources.requests.memory&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;64Mi&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Memory request&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.nodeSelector&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Node selector&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.tolerations&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Tolerations&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.affinity&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Affinity rules&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.serviceAccount.create&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Create service account&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.serviceAccount.name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Service account name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;operator.serviceAccount.annotations&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Service account annotations&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="syncer"&gt;Syncer&lt;a class="anchor" href="#syncer"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.replicas&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Number of syncer replicas&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.image.registry&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ghcr.io&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image registry&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.image.repository&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kup6s/pages-syncer&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image repository&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.image.tag&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image tag (defaults to Chart.appVersion)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.image.pullPolicy&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;IfNotPresent&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image pull policy&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.syncInterval&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;5m&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Default sync interval for git repositories&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.webhookAddr&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;:8080&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Webhook server listen address&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.sitesRoot&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;/sites&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Sites root directory&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.allowedHosts&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Required.&lt;/strong&gt; Allowed Git hosts for SSRF protection&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.extraArgs&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Additional CLI arguments&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.resources.limits.cpu&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;500m&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;CPU limit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.resources.limits.memory&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;256Mi&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Memory limit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.resources.requests.cpu&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;100m&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;CPU request&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.resources.requests.memory&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;128Mi&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Memory request&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.nodeSelector&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Node selector&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.tolerations&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Tolerations&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.affinity&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Affinity rules&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.serviceAccount.create&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Create service account&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.serviceAccount.name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Service account name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.service.type&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ClusterIP&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Service type&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;syncer.service.port&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;80&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Service port&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="nginx"&gt;nginx&lt;a class="anchor" href="#nginx"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.replicas&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Number of nginx replicas for HA&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.image.registry&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;docker.io&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image registry&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.image.repository&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;library/nginx&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image repository&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.image.tag&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1.25-alpine&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image tag&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.image.pullPolicy&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;IfNotPresent&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Image pull policy&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.resources.limits.cpu&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;200m&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;CPU limit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.resources.limits.memory&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;128Mi&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Memory limit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.resources.requests.cpu&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;50m&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;CPU request&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.resources.requests.memory&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;64Mi&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Memory request&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.nodeSelector&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Node selector&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.tolerations&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Tolerations&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.affinity&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;(pod anti-affinity)&lt;/td&gt;
 &lt;td&gt;Affinity rules&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.service.type&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ClusterIP&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Service type&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.service.port&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;80&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Service port&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.customConfig&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Custom nginx configuration&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.pdb.enabled&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Enable PodDisruptionBudget&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nginx.pdb.minAvailable&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Minimum available pods&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="storage"&gt;Storage&lt;a class="anchor" href="#storage"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;storage.existingClaim&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Use existing PVC instead of creating one&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;storage.storageClassName&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Storage class name (empty uses cluster default)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;storage.size&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;10Gi&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Storage size&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;storage.accessModes&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[ReadWriteMany]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Access modes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;storage.annotations&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;PVC annotations&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="webhook"&gt;Webhook&lt;a class="anchor" href="#webhook"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;webhook.enabled&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Enable webhook IngressRoute and Certificate&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;webhook.domain&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;webhook.pages.kup6s.com&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Webhook domain&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;webhook.clusterIssuer&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ClusterIssuer (defaults to operator.clusterIssuer)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;webhook.entryPoints&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;[websecure]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Traefik entrypoints&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;webhook.annotations&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{}&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Additional IngressRoute annotations&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;webhook.secret&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Webhook secret for HMAC validation&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;webhook.secretRef.name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Reference to existing secret&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;webhook.secretRef.key&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;webhook-secret&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Key in the secret&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="rbac"&gt;RBAC&lt;a class="anchor" href="#rbac"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;rbac.create&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Create ClusterRole and ClusterRoleBinding resources&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>CLI Flags</title><link>https://pages-docs.kup6s.com/reference/cli-flags/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pages-docs.kup6s.com/reference/cli-flags/</guid><description>&lt;h1 id="cli-flags"&gt;CLI Flags&lt;a class="anchor" href="#cli-flags"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Command-line flags for the operator and syncer components.&lt;/p&gt;
&lt;h2 id="operator-flags"&gt;Operator Flags&lt;a class="anchor" href="#operator-flags"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Flag&lt;/th&gt;
 &lt;th&gt;Default&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--pages-domain&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;pages.kup6s.com&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Base domain for auto-generated subdomains&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--cluster-issuer&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;letsencrypt-prod&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;cert-manager ClusterIssuer name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--nginx-namespace&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kup6s-pages&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Namespace where nginx service runs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--nginx-service-name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kup6s-pages-nginx&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Name of the nginx service&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--pages-tls-mode&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;individual&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;TLS mode for auto-generated domains: &lt;code&gt;individual&lt;/code&gt; or &lt;code&gt;wildcard&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--pages-wildcard-secret&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;pages-wildcard-tls&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Secret name for wildcard certificate (only used with &lt;code&gt;--pages-tls-mode=wildcard&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--metrics-bind-address&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;:8080&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Metrics endpoint&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;--health-probe-bind-address&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;:8081&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Health probe endpoint&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="tls-modes"&gt;TLS Modes&lt;a class="anchor" href="#tls-modes"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Mode&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;individual&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Creates a Certificate per site using HTTP-01 challenge. Works without DNS provider API access.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;wildcard&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;References a pre-existing wildcard certificate. Requires external DNS-01 setup for wildcard cert issuance.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Wildcard mode requires a pre-existing &lt;code&gt;*.{pagesDomain}&lt;/code&gt; certificate. This must be created externally using DNS-01 challenge, as Let&amp;rsquo;s Encrypt doesn&amp;rsquo;t support wildcard certs via HTTP-01.&lt;/p&gt;</description></item></channel></rss>