<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Planning on Layer5 Documentation</title><link>/tags/planning/</link><description>Recent content in Planning on Layer5 Documentation</description><generator>Hugo</generator><language>en</language><atom:link href="/tags/planning/index.xml" rel="self" type="application/rss+xml"/><item><title>Plan a Deployment</title><link>/cloud/guides/self-hosted/planning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/cloud/guides/self-hosted/planning/</guid><description>&lt;p&gt;Layer5 Cloud starts with unsafe placeholder values for every secret and with &lt;code&gt;localhost&lt;/code&gt; for every URL. Settle the decisions below first, so the install is a single &lt;code&gt;helm install&lt;/code&gt; with a complete values file.&lt;/p&gt;

&lt;h2 id="decisions-to-make" class="heading-link"&gt;
 Decisions to make
 &lt;a href="#decisions-to-make" class="heading-anchor" aria-label="Permalink to this heading"&gt;🔗&lt;/a&gt;
&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Decision&lt;/th&gt;
 &lt;th&gt;What to settle&lt;/th&gt;
 &lt;th&gt;Where it is configured&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Database&lt;/td&gt;
 &lt;td&gt;A PostgreSQL server that hosts three databases: &lt;code&gt;meshery&lt;/code&gt;, &lt;code&gt;kratos&lt;/code&gt;, and &lt;code&gt;hydra&lt;/code&gt;.&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;env.db&lt;/code&gt;, &lt;code&gt;env.kratosdb&lt;/code&gt;, &lt;code&gt;env.hydradb&lt;/code&gt;, and the subchart &lt;code&gt;dsn&lt;/code&gt; values&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Hostname and TLS&lt;/td&gt;
 &lt;td&gt;One public hostname, a certificate for it, and the scheme (&lt;code&gt;https&lt;/code&gt;).&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ingress.*&lt;/code&gt;, &lt;code&gt;env.serverbaseurl&lt;/code&gt;, &lt;code&gt;env.serverHost&lt;/code&gt;, &lt;code&gt;env.proto&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Secrets&lt;/td&gt;
 &lt;td&gt;Replace every placeholder before first start. See &lt;a href="/cloud/guides/self-hosted/planning/#secrets-to-generate"&gt;Secrets to generate&lt;/a&gt;.&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;env.*&lt;/code&gt;, &lt;code&gt;kratos.*&lt;/code&gt;, &lt;code&gt;hydra.*&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Identity providers&lt;/td&gt;
 &lt;td&gt;The Google and GitHub OAuth applications that act as the default sign-in providers. See &lt;a href="/cloud/guides/self-hosted/planning/identity-services/"&gt;Identity Services&lt;/a&gt;.&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;env.providerOrg*&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Mail&lt;/td&gt;
 &lt;td&gt;A relay on a public address that offers STARTTLS (or implicit TLS on 465), and how identity mail leaves. See &lt;a href="/cloud/guides/self-hosted/planning/#mail"&gt;Mail&lt;/a&gt;.&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;smtp.*&lt;/code&gt;, Kratos courier values&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;First administrator&lt;/td&gt;
 &lt;td&gt;The Provider Admin account and the provider organization. See &lt;a href="/cloud/guides/self-hosted/deployment/provider-initialization/"&gt;Provider initialization&lt;/a&gt;.&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;env.initConfig&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Network paths&lt;/td&gt;
 &lt;td&gt;What must be reachable between components and from users. See &lt;a href="/cloud/guides/self-hosted/planning/peer-to-peer-communication/"&gt;Networking&lt;/a&gt;.&lt;/td&gt;
 &lt;td&gt;Ingress, network policy, egress rules&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Observability&lt;/td&gt;
 &lt;td&gt;Where logs and traces go. See &lt;a href="/cloud/guides/self-hosted/planning/monitoring/"&gt;Monitoring&lt;/a&gt;.&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;env.loglevel&lt;/code&gt;, &lt;code&gt;env.otelConfig&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id="database" class="heading-link"&gt;
 Database
 &lt;a href="#database" class="heading-anchor" aria-label="Permalink to this heading"&gt;🔗&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Layer5 Cloud creates and migrates its own schema. The server applies migrations every time it starts, and exits if a migration fails, so give the database user the rights to create tables and the &lt;code&gt;uuid-ossp&lt;/code&gt; extension in the &lt;code&gt;public&lt;/code&gt; schema of the &lt;code&gt;meshery&lt;/code&gt; database. Kratos and Hydra run their own migrations when the chart&amp;rsquo;s &lt;code&gt;automigration&lt;/code&gt; setting is on, which is the default.&lt;/p&gt;</description></item></channel></rss>