<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Samples on nplus</title><link>https://www.nplus.cloud/docs/samples/</link><description>Recent content in Samples on nplus</description><generator>Hugo</generator><language>en</language><copyright>© 42i GmbH</copyright><atom:link href="https://www.nplus.cloud/docs/samples/index.xml" rel="self" type="application/rss+xml"/><item><title>(auto-) certificates and the pitfalls of *.this*</title><link>https://www.nplus.cloud/docs/samples/certificates/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/certificates/</guid><description>&lt;h1 id="auto--certificates-and-the-pitfalls-of-this"&gt;(auto-) certificates and the pitfalls of &lt;em&gt;.this&lt;/em&gt;&lt;a class="anchor" href="#auto--certificates-and-the-pitfalls-of-this"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;nplus&lt;/em&gt; will automatically generate certificates for your ingress. It either uses an issuer like &lt;em&gt;cert-manager&lt;/em&gt; or generates a &lt;em&gt;self-signed-certificate&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;In your production environment though, you might want to take more control over the certificate generation process and don&amp;rsquo;t leave it to &lt;em&gt;nplus&lt;/em&gt; to automatically take care of it.
In that case, you want to switch the automation &lt;em&gt;off&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;To do so, you need to understand what is happening internally:&lt;/p&gt;</description></item><item><title>(virtual-) Remote Management Server</title><link>https://www.nplus.cloud/docs/samples/rms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/rms/</guid><description>&lt;h1 id="virtual--remote-management-server"&gt;(virtual-) Remote Management Server&lt;a class="anchor" href="#virtual--remote-management-server"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The &lt;em&gt;nplus RMS&lt;/em&gt; creates a virtual IP Address in your subnet. On this IP, you will find an &lt;em&gt;nscale Remote Management Service&lt;/em&gt; and a Layer 4 Proxy, forwarding the ports of the components to the
belonging pods.&lt;/p&gt;
&lt;p&gt;The result is, that under this VIP, it looks as if there is a real server with a bunch of &lt;em&gt;nscale&lt;/em&gt; components installed. So you can use the desktop admin client to connect to it and configure it. Including offline configuration.&lt;/p&gt;</description></item><item><title>chart</title><link>https://www.nplus.cloud/docs/samples/chart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/chart/</guid><description>&lt;h1 id="chart"&gt;chart&lt;a class="anchor" href="#chart"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="files"&gt;Files&lt;a class="anchor" href="#files"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.nplus.cloud/downloads/samples/chart.tar.gz"&gt;Download all files of this sample&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="buildsh"&gt;build.sh&lt;a class="anchor" href="#buildsh"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;&lt;/span&gt;&lt;span style="color:#78787e"&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# This sample script builds the example as described. It is also used to build the test environment in our lab,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# so it should be well tested.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Make sure it fails immediately, if anything goes wrong&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;set&lt;/span&gt; -e
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# -- ENVironment variables:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# CHARTS: The path to the source code&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# DEST: The path to the build destination&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# SAMPLE: The directory of the sample&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# NAME: The name of the sample, used as the .Release.Name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# KUBE_CONTEXT: The name of the kube context, used to build this sample depending on where you run it against. You might have different Environments such as lab, dev, qa, prod, demo, local, ...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Check, if we have the source code available&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: The Charts Sources folder is not set. Please make sure to run this script with the full Source Code available&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: DEST folder not found.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;/instance&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: Chart Sources in &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;/instance not found. Are you running this script as a subscriber?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Set the Variables&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;SAMPLE&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;chart&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;NAME&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;sample-&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Output what is happening&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$NAME&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Create the manifest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p &lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;/instance
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm template --debug &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/environment/&lt;span style="color:#ff5c57"&gt;$KUBE_CONTEXT&lt;/span&gt;.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/chart/resources.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;$NAME&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/chart/tenant &amp;gt; &lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;/instance/&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Create the manifest - argo version&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p &lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;/instance-argo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm template --debug &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/environment/&lt;span style="color:#ff5c57"&gt;$KUBE_CONTEXT&lt;/span&gt;.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/chart/resources.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;$NAME&lt;/span&gt;-argo &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/chart/tenant-argo &amp;gt; &lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;/instance-argo/&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;-argo.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="resourcesyaml"&gt;resources.yaml&lt;a class="anchor" href="#resourcesyaml"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;instance&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;web&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;10m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1.5Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;prepper&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;10m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;128Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;128Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;application&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;10m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1.5Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nappl&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;10m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1.5Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nappljobs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;10m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;administrator&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;512Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cmis&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;512Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;database&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;256Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;8Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;ilm&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;256Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;mon&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;512Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nstl&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;5m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;128Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nstla&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;5m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;128Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nstlb&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;5m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;128Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nstlc&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;5m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;128Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nstld&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;5m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;128Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;pam&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;5m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;512Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;rs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;8Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;webdav&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;512Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2Gi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;rms&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;128Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;512Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;rmsa&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;128Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;512Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;rmsb&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;128Mi&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1000m&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;512Mi&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="tenantchartyaml"&gt;tenant/Chart.yaml&lt;a class="anchor" href="#tenantchartyaml"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;apiVersion&lt;/span&gt;: v2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;name&lt;/span&gt;: sample-tenant
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;description&lt;/span&gt;: |&lt;span style="color:#5af78e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt; The sample tenant chart demonstrates how to use umbrella charts with default values,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt; e.g. to define tenant templates&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;type&lt;/span&gt;: application
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;dependencies&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ff6ac1"&gt;name&lt;/span&gt;: nplus-instance
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;alias&lt;/span&gt;: instance
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;version&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;*-0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;repository&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;file://../../../charts/instance&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;version&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;1.0.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="tenantreadmemd"&gt;tenant/README.md&lt;a class="anchor" href="#tenantreadmemd"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;

# sample-tenant

The sample tenant chart demonstrates how to use umbrella charts with default values,
e.g. to define tenant templates

## sample-tenant Chart Configuration

You can customize / configure sample-tenant by setting configuration values on the command line or in values files,
that you can pass to helm. Please see the samples directory for details.

In case there is no value set, the key will not be used in the manifest, resulting in values taken from the config files of the component.

### Template Functions

You can use template functions in the values files. If you do so, make sure you quote correctly (single quotes, if you have double quotes in the template,
or escaped quotes).

### Global Values

All values can be set per component, per instance or globally per environment.

Example: `global.ingress.domain` sets the domain on instance level. You can still set a different domain on a component, such as administrator.
In that case, simply set `ingress.domain` for the administrator chart and that setting will have priority:

- Prio 1 - Component Level: `ingress.domain`
- Prio 2 - Instance Level: `global.ingress.domain`
- Prio 3 - Environment Level: `global.environment.ingress.domain`

### Using Values in Templates

As it would be a lot of typing to write `.Values.ingress.domain | default .Values.global.ingress.domain | default .Values.global.environment.ingress.domain`in your
template code, this is automatically done by nplus. You can simply type `.this.ingress.domain` and you will get a condensed and defaulted version
of your Values.

So an example in your `values.yaml` would be:&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;administrator:
waitFor:
- &amp;lsquo;-service {{ .component.prefix }}nappljobs.{{ .Release.Namespace }}.svc.cluster.local:{{ .this.nappl.port }} -timeout 600&amp;rsquo;&lt;/p&gt;</description></item><item><title>Custom Probes Example</title><link>https://www.nplus.cloud/docs/samples/probes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/probes/</guid><description>&lt;h1 id="custom-probes-example"&gt;Custom Probes Example&lt;a class="anchor" href="#custom-probes-example"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;In this example, we show how to change the probes on the main container in a chart.
Especially with nappl, it can happen that it takes longer in larger projects, so you may want to
adjust the startup delay times or switch entirely to your own or different health checks.&lt;/p&gt;
&lt;p&gt;In practice, the probes provided by the vendor are often not suitable for production environments. nplus ships with tested alternatives,
but depending on your setup, you may still need to adjust them.&lt;/p&gt;</description></item><item><title>default</title><link>https://www.nplus.cloud/docs/samples/default/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/default/</guid><description>&lt;p&gt;This is the most simple example: It renders a default instance wihout any values at all.&lt;/p&gt;
&lt;h2 id="files"&gt;Files&lt;a class="anchor" href="#files"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.nplus.cloud/downloads/samples/default.tar.gz"&gt;Download all files of this sample&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="buildsh"&gt;build.sh&lt;a class="anchor" href="#buildsh"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;&lt;/span&gt;&lt;span style="color:#78787e"&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# This sample script builds the example as described. It is also used to build the test environment in our lab,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# so it should be well tested.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Make sure it fails immediately, if anything goes wrong&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;set&lt;/span&gt; -e
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# -- ENVironment variables:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# CHARTS: The path to the source code&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# DEST: The path to the build destination&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# SAMPLE: The directory of the sample&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# NAME: The name of the sample, used as the .Release.Name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;SAMPLE&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;default&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;NAME&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;sample-&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Check, if we have the source code available&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: The Charts Sources folder is not set. Please make sure to run this script with the full Source Code available&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: DEST folder not found.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;/instance&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: Chart Sources in &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;/instance not found. Are you running this script as a subscriber?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Output what is happening&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$NAME&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Create the manifest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p &lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;/instance
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm template --debug &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;$NAME&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;/instance &amp;gt; &lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;/instance/default.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Deploying with Argo</title><link>https://www.nplus.cloud/docs/samples/nowaves/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/nowaves/</guid><description>&lt;h1 id="deploying-with-argo"&gt;Deploying with Argo&lt;a class="anchor" href="#deploying-with-argo"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="the-argo-version-of-the-instance"&gt;the argo version of the instance&lt;a class="anchor" href="#the-argo-version-of-the-instance"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Deployin with argoCD is straight forward, as there is a ready-to-run instance chart version for argo, that takes &lt;strong&gt;exactly&lt;/strong&gt; the same values as the &lt;em&gt;normal&lt;/em&gt; chart:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values samples/application/empty.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values samples/environment/demo.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; sample-empty-argo nplus/nplus-instance-argo&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="using-waves"&gt;Using Waves&lt;a class="anchor" href="#using-waves"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The instance chart already comes with pre-defined waves. They are good to go with (can be modified though):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;nappl&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;meta&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;wave&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;But&lt;/strong&gt;: You might be annoyed by ArgoCD, when some services do not come up preventing other services to not be started at all since ArgoCD operates in Waves, so later services might not be deployed at all if an early wave services fails.&lt;/p&gt;</description></item><item><title>eon</title><link>https://www.nplus.cloud/docs/samples/eon/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/eon/</guid><description>&lt;h1 id="eon"&gt;eon&lt;a class="anchor" href="#eon"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="files"&gt;Files&lt;a class="anchor" href="#files"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.nplus.cloud/downloads/samples/eon.tar.gz"&gt;Download all files of this sample&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="sharepointyaml"&gt;sharepoint.yaml&lt;a class="anchor" href="#sharepointyaml"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;components&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;sharepoint&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;sharepointa&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;sharepointa&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;backendProtocol&lt;/span&gt;: https
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;replicas&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;sharepoint&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;secret&lt;/span&gt;: sp-secret
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;spHost&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;https://eonos.sharepoint.com/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;triggerProperty&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;ToBeArchived&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;serviceBusQueueName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;itemstobearchived&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;serviceBusConnectionString&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;Endpoint=sb://sharepointeventsqa.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=d06NW37Tu0bm+oXa6cov1PRMQbwdenUL0+ASbNv7ysk=&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;serviceBusRetentionQueueName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;testqueue&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;serviceBusTopicNameConfigUpdate&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;automaticsiteconfiguration&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;doCheckOut&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;connector&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;idPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_id&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;parentIdPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_parentid&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cTagPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_ctag&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;eTagPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_etag&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;webUrlPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_weburl&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;listItemIdPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_listitemid&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;stubIdPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_stubid&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;stubListItemIdPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_stublistitemid&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;sharePointCreatorPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_creator&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;sharePointCreatedPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_created&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;sharePointEditorPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_editor&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;sharePointEditedPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_lastmodified&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;sharePointChangeTokenPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_changetoken&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nscaleRetentionPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_retention&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nscaleExpirationPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_expiration&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nscaleLegalHoldPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_legalhold&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nscaleLegalHidePropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_legalhide&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nscaleGdprRelevantPropertyName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sharepoint_gdpr_relevant&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nappl&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;secret&lt;/span&gt;: sp-nappl-secret
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;nscale&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;docArea&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;SPARCHIVE&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;baseFolder&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;where displayname=&amp;#39;Root_Folder&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;ingress&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;backendProtocol&lt;/span&gt;: https
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;ssl&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;keystoreSecret&lt;/span&gt;: sp-keystore-secret
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;keystore&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;../conf/keystore.ks&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;doInitialCrawl&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;parallelRequests&lt;/span&gt;: &lt;span style="color:#ff9f43"&gt;15&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;env&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;*&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;CLIENTCERTPFX&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;../conf/dms-corp-qa.intranet.eon.com.pfx&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;CLIENTCERTPEM&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;../conf/dms-corp-qa.intranet.eon.com.pem&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Generic Mount Example</title><link>https://www.nplus.cloud/docs/samples/generic/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/generic/</guid><description>&lt;h1 id="generic-mount-example"&gt;Generic Mount Example&lt;a class="anchor" href="#generic-mount-example"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This allows you to mount any pre-provisioned PVs, secret or configMap into any container.
It can be used e.g. to mount migration nfs, cifs / samba shares into a pipeliner container.&lt;/p&gt;
&lt;p&gt;Use the following format:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;mounts:
 generic:
 - name: &amp;lt;name&amp;gt;:
 path: &amp;lt;the path in the container, where you want to mount this&amp;gt;
 volumeName: &amp;lt;the name of the PV to be mounted&amp;gt;
 configMap: &amp;lt;the name of the configMap to bemounted&amp;gt;
 secret: &amp;lt;the name of the secret to bemounted&amp;gt;
 subPath: [a (optional) subpath to be used inside the PV]
 accessMode: &amp;lt;ReadWriteMany|ReadWriteOnce|ReadOnlyMany|ReadWriteOncePod&amp;gt;
 size: &amp;lt;size request&amp;gt;
 medium: &amp;lt;&amp;#34;Memory&amp;#34; to request a RAM Drive&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="mounting-generic-secrets-or-configmaps"&gt;Mounting generic secrets or configMaps&lt;a class="anchor" href="#mounting-generic-secrets-or-configmaps"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In this example, we create a secret with two sample files and a configMap with two sample files:&lt;/p&gt;</description></item><item><title>Grouping Instances</title><link>https://www.nplus.cloud/docs/samples/group/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/group/</guid><description>&lt;h1 id="grouping-instances"&gt;Grouping Instances&lt;a class="anchor" href="#grouping-instances"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Sometimes Instances become quite large with many components. If you work on them with multiple team members, you end up having to synchronize the deployment of the Instances.&lt;/p&gt;
&lt;p&gt;You can easily rip large Instances apart using the &lt;code&gt;group&lt;/code&gt; tag, joining multiple Instances into one group and making sure the NetworkPolicies are opened to pods from other Instances within the Instance Group.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;global&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;instance&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#78787e"&gt;# -- despite the instance name, all components within this group will be prefixed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#78787e"&gt;# with the group (unless the group name and the environment name are not identical)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#78787e"&gt;# Also this makes sure the network policies are acting on the group, not on the instance.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;group&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;sample-group&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can query the instance group in your code with &lt;code&gt;.instance.group&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>hid</title><link>https://www.nplus.cloud/docs/samples/hid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/hid/</guid><description>&lt;h2 id="highest-id"&gt;Highest ID&lt;a class="anchor" href="#highest-id"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This example shows how to configure storing the HID file in &lt;em&gt;nscale Server Storage Layer&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;global&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#78787e"&gt;# -- enables checking the highest DocID when starting the server.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#78787e"&gt;# this only makes sense, if you also set a separate volume for the highest ID&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#78787e"&gt;# This is a backup / restore feature to avoid data mangling&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;checkHighestDocId&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#78787e"&gt;# -- sets the path of the highest ID file.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;dvCheckPath&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;/opt/ceyoniq/nscale-server/storage-layer/hid&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We use the global section here to have it activated in all nstl instances defined.&lt;/p&gt;</description></item><item><title>High Availability</title><link>https://www.nplus.cloud/docs/samples/ha/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/ha/</guid><description>&lt;h1 id="high-availability"&gt;High Availability&lt;a class="anchor" href="#high-availability"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;To gain a higher level of availability for your Instance, you can&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;create more Kubernetes Cluster Nodes&lt;/li&gt;
&lt;li&gt;create more replicas of the &lt;em&gt;nscale&lt;/em&gt; and &lt;em&gt;nplus&lt;/em&gt; components&lt;/li&gt;
&lt;li&gt;distribute those replicas across multiple nodes using anti-affinities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is how:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;helm install \
 --values samples/ha/values.yaml
 --values samples/environment/demo.yaml \
 sample-ha nplus/nplus-instance&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="the-license-and-the-storage-layer-server-ids"&gt;The license and the storage layer server ids&lt;a class="anchor" href="#the-license-and-the-storage-layer-server-ids"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A &lt;em&gt;nscale Server Storage Layer&lt;/em&gt; runs with a &lt;strong&gt;server id&lt;/strong&gt;, and in a high availability
setup each node needs its own. The sample therefore sets them explicitly, &lt;code&gt;4711&lt;/code&gt; for
&lt;code&gt;nstla&lt;/code&gt; and &lt;code&gt;4712&lt;/code&gt; for &lt;code&gt;nstlb&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>initcontainers</title><link>https://www.nplus.cloud/docs/samples/initcontainers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/initcontainers/</guid><description>&lt;h2 id="init-container"&gt;Init Container&lt;a class="anchor" href="#init-container"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This example shows the configuration of custom init container for any of the components:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;nappl&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;initContainers&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ff6ac1"&gt;name&lt;/span&gt;: myInit
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;image&lt;/span&gt;: myImage
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;command&lt;/span&gt;: [ &lt;span style="color:#5af78e"&gt;&amp;#34;/startup.sh&amp;#34;&lt;/span&gt; ]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="files"&gt;Files&lt;a class="anchor" href="#files"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.nplus.cloud/downloads/samples/initcontainers.tar.gz"&gt;Download all files of this sample&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="valuesyaml"&gt;values.yaml&lt;a class="anchor" href="#valuesyaml"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;nappl&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;initContainers&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ff6ac1"&gt;name&lt;/span&gt;: myInit
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;image&lt;/span&gt;: myImage
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;command&lt;/span&gt;: [ &lt;span style="color:#5af78e"&gt;&amp;#34;/startup.sh&amp;#34;&lt;/span&gt; ]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;nstl&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;initContainers&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ff6ac1"&gt;name&lt;/span&gt;: myInit
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;image&lt;/span&gt;: myImage
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;command&lt;/span&gt;: [ &lt;span style="color:#5af78e"&gt;&amp;#34;/startup.sh&amp;#34;&lt;/span&gt; ]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Installing Document Areas</title><link>https://www.nplus.cloud/docs/samples/application/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/application/</guid><description>&lt;h1 id="installing-document-areas"&gt;Installing Document Areas&lt;a class="anchor" href="#installing-document-areas"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="creating-an-empty-document-area-while-deploying-an-instance"&gt;Creating an empty document area while deploying an Instance&lt;a class="anchor" href="#creating-an-empty-document-area-while-deploying-an-instance"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This is the simplest sample, just the core services with an empty document area:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;helm install \
 --values samples/application/empty.yaml \
 --values samples/environment/demo.yaml \
 empty nplus/nplus-instance&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The empty Document Area is created with&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;components&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;application&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;prepper&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;application&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;docAreas&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ff6ac1"&gt;id&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;Sample&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;run&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#5af78e"&gt;&amp;#34;/pool/downloads/sample.sh&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;prepper&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;download&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#5af78e"&gt;&amp;#34;https://www.nplus.cloud/raw/assets/sample.tar.gz&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This turns on the &lt;em&gt;prepper&lt;/em&gt; component, used to download a sample tarball from git. It will also extract the tarball into the &lt;code&gt;downloads&lt;/code&gt; folder that is created on the &lt;em&gt;pool&lt;/em&gt; automatically.&lt;/p&gt;</description></item><item><title>K8s namespace aka *nplus environment*</title><link>https://www.nplus.cloud/docs/samples/environment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/environment/</guid><description>&lt;h1 id="k8s-namespace-aka-nplus-environment"&gt;K8s namespace aka &lt;em&gt;nplus environment&lt;/em&gt;&lt;a class="anchor" href="#k8s-namespace-aka-nplus-environment"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;nplus instances&lt;/em&gt; are deployed into K8s namespaces. Always. even if you do not specify a namespace, it uses a namespace: &lt;code&gt;default&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;In order to use this namespace for &lt;em&gt;nplus instances&lt;/em&gt;, you need to deploy some shared &lt;em&gt;nplus components&lt;/em&gt; into it, which are used by the instances. This is done by the environment chart:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;helm install \
 --values demo.yaml \
 demo nplus/nplus-environment&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;After that, the K8s namespace is a valid &lt;em&gt;nplus environment&lt;/em&gt; that can house multiple &lt;em&gt;nplus instances&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>memory: # No Limit but hardware</title><link>https://www.nplus.cloud/docs/samples/resources/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/resources/</guid><description>&lt;h2 id="assigning-cpu-and-ram"&gt;Assigning CPU and RAM&lt;a class="anchor" href="#assigning-cpu-and-ram"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You &lt;strong&gt;should&lt;/strong&gt; assign resources to your components, depending on the load that you expect.&lt;/p&gt;
&lt;p&gt;In a dev environment, that might be very little and you may be fine with the defaults.&lt;/p&gt;
&lt;p&gt;in a qa or prod environment, this should be wisely controlled, like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;nappl&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;resources&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;requests&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;100m&amp;#34;&lt;/span&gt; &lt;span style="color:#78787e"&gt;# Minimum 1/10 CPU&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;1Gi&amp;#34;&lt;/span&gt; &lt;span style="color:#78787e"&gt;# Minimum 1 GB&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;limits&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;cpu&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2000m&amp;#34;&lt;/span&gt; &lt;span style="color:#78787e"&gt;# Maximum 2 Cores&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;memory&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;4Gi&amp;#34;&lt;/span&gt; &lt;span style="color:#78787e"&gt;# Maximum 4 GB. Java will see this as total.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;javaOpts&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;javaMinMem&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;512m&amp;#34;&lt;/span&gt; &lt;span style="color:#78787e"&gt;# tell Java to initialize the heap with 512 MB&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;javaMaxMem&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;2048m&amp;#34;&lt;/span&gt; &lt;span style="color:#78787e"&gt;# tell Java to use max 2 GB of heap size&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Write the quantities the way Kubernetes stores them.&lt;/strong&gt; The API normalises
memory values: &lt;code&gt;1024Mi&lt;/code&gt; comes back as &lt;code&gt;1Gi&lt;/code&gt;, &lt;code&gt;2048Mi&lt;/code&gt; as &lt;code&gt;2Gi&lt;/code&gt;. Helm sends
what you wrote, the cluster reports what it stored - and a GitOps tool that
compares the two, like Argo CD, then shows the application as &lt;em&gt;OutOfSync&lt;/em&gt;
forever, on a difference that does not exist. Prefer &lt;code&gt;1Gi&lt;/code&gt; over &lt;code&gt;1024Mi&lt;/code&gt;,
&lt;code&gt;2Gi&lt;/code&gt; over &lt;code&gt;2048Mi&lt;/code&gt;. Values that are already in their smallest form, such as
&lt;code&gt;512Mi&lt;/code&gt; or &lt;code&gt;100m&lt;/code&gt;, stay as they are.&lt;/p&gt;</description></item><item><title>OpenTelemetry</title><link>https://www.nplus.cloud/docs/samples/opentelemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/opentelemetry/</guid><description>&lt;h1 id="opentelemetry"&gt;OpenTelemetry&lt;a class="anchor" href="#opentelemetry"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;You can use Annotations für Telemetry Operators such as Open Telemetry to inject their Agents into the Pods.
To do so, you can either add the annotations manually to the components, like this:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nappl:
 template:
 annotations:
 instrumentation.opentelemetry.io/inject-java: &amp;#34;true&amp;#34;
 instrumentation.opentelemetry.io/java-container-names: &amp;#34;application-layer&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;or alternatively, you can turn on the built in functionality for the supported telemetry services.&lt;/p&gt;
&lt;p&gt;This is an example for OpenTelemetry:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;global:
 telemetry:
 openTelemetry: true
 serviceName: &amp;#34;{{ .this.meta.type }}-{{ .instance.name }}-{{ .instance.stage }}&amp;#34;
 meta:
 stage: &amp;#34;dev&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This will automatically set the correct settings as seen above.&lt;/p&gt;</description></item><item><title>Pinning Versions</title><link>https://www.nplus.cloud/docs/samples/pinning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/pinning/</guid><description>&lt;h1 id="pinning-versions"&gt;Pinning Versions&lt;a class="anchor" href="#pinning-versions"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="old-version"&gt;Old Version&lt;a class="anchor" href="#old-version"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you want to test rolling updates and upgrades to a new minor version, check out the &lt;em&gt;e90&lt;/em&gt; sample:&lt;/p&gt;
&lt;p&gt;This sample installs version 9.0.1400 for testing. Because cluster node discovery changed with a newer jGroups version in nscale, the chart detects the older version and enables the legacy discovery mechanism so the Pod can find its peers on versions prior to 9.1.1200.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;helm install \
 --values samples/empty.yaml \
 --values samples/demo.yaml \
 --values versions/9.0.1400.yaml \
 sample-e90 nplus/nplus-instance&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="new-version-sample"&gt;New Version Sample&lt;a class="anchor" href="#new-version-sample"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Some nscale versions are license compatible, meaning a 9.1 license file can also run nscale 9.0 software. But that is not always the case.&lt;/p&gt;</description></item><item><title>Preparing the K8s Cluster</title><link>https://www.nplus.cloud/docs/samples/cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/cluster/</guid><description>&lt;h1 id="preparing-the-k8s-cluster"&gt;Preparing the K8s Cluster&lt;a class="anchor" href="#preparing-the-k8s-cluster"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;nplus&lt;/em&gt; Charts bring some custom resources, &lt;em&gt;Application&lt;/em&gt;, &lt;em&gt;Instance&lt;/em&gt; and &lt;em&gt;Component&lt;/em&gt;. they are created during deployment of a chart and then updated by the environment operator every time the status changes.&lt;/p&gt;
&lt;p&gt;To make this work, you will need to have the &lt;em&gt;Custom Resource Definitions&lt;/em&gt; applied to your cluster prior to deploying any environment or component. This deployment is handled by the &lt;em&gt;Cluster Chart&lt;/em&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install nplus/nplus-cluster&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;em&gt;CRDs&lt;/em&gt; are grouped into &lt;em&gt;nscale&lt;/em&gt; and &lt;em&gt;nplus&lt;/em&gt; (both synonym), so that you can either query for&lt;/p&gt;</description></item><item><title>Security</title><link>https://www.nplus.cloud/docs/samples/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/security/</guid><description>&lt;h1 id="security"&gt;Security&lt;a class="anchor" href="#security"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="all-the-standards"&gt;All the standards&lt;a class="anchor" href="#all-the-standards"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There are several features that will enhance the security of your system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;all components are running rootless by default&lt;/li&gt;
&lt;li&gt;all components drop all privileges&lt;/li&gt;
&lt;li&gt;all components deny escalation&lt;/li&gt;
&lt;li&gt;all components have read only file systems&lt;/li&gt;
&lt;li&gt;Access is restricted by NetworkPolicies&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="additional-the-backend-protocol"&gt;Additional: The backend Protocol&lt;a class="anchor" href="#additional-the-backend-protocol"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Additionally, you can increase security by encrypting communication in the backend. Depending on your network driver, this might already been done automatically beween the Kubernetes Nodes. But you can double that even within a single node by switching the backend Protocol to https:&lt;/p&gt;</description></item><item><title>Sharing Instances</title><link>https://www.nplus.cloud/docs/samples/shared/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/shared/</guid><description>&lt;h1 id="sharing-instances"&gt;Sharing Instances&lt;a class="anchor" href="#sharing-instances"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Some organisations have multiple tenants that share common services, like &lt;em&gt;nscale Rendition Server&lt;/em&gt; or
have a common IT department, thus using only a single &lt;em&gt;nscale Monitoring Console&lt;/em&gt; acress all tenants.&lt;/p&gt;
&lt;p&gt;This is the Central Services Part:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;helm install \
 --values samples/shared/centralservices.yaml \
 --values samples/environment/demo.yaml \
 sample-shared-cs nplus/nplus-instance&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;And this is the tenant using the Central Services:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;helm install \
 --values samples/shared/shared.yaml \
 --values samples/environment/demo.yaml \
 sample-shared nplus/nplus-instance&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you enable security based on &lt;em&gt;Network Policies&lt;/em&gt;, you need to add additional Policies to allow access. Please see &lt;code&gt;shared-networkpolicy.yaml&lt;/code&gt; and &lt;code&gt;centralservices-networkpolicy.yaml&lt;/code&gt; as an example.&lt;/p&gt;</description></item><item><title>Single-Instance-Mode</title><link>https://www.nplus.cloud/docs/samples/sim/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/sim/</guid><description>&lt;h1 id="single-instance-mode"&gt;Single-Instance-Mode&lt;a class="anchor" href="#single-instance-mode"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;If you choose to separate tenants on your system not only by &lt;em&gt;nplus Instances&lt;/em&gt; but also by &lt;em&gt;nplus Environments&lt;/em&gt;, thus running each tenant in a separate Kubernetes &lt;em&gt;Namespace&lt;/em&gt;, you do not need to create an &lt;em&gt;nplus Environment&lt;/em&gt; first, but you can rather enable the &lt;em&gt;nplus Environment Components&lt;/em&gt; within your instance:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;components&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;sim&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;dav&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;backend&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;operator&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;toolbox&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Steps to run a SIM Instance:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create the namespace and the necessary secrets to access the repo, registry as well as the nscale license file&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;SIM_NAME=&amp;#34;empty-sim&amp;#34;

kubectl create ns $SIM_NAME
kubectl create secret docker-registry nscale-cr \
 --namespace $SIM_NAME \
 --docker-server=ceyoniq.azurecr.io \
 --docker-username=$NSCALE_ACCOUNT \
 --docker-password=$NSCALE_TOKEN
kubectl create secret docker-registry nplus-cr \
 --namespace $SIM_NAME \
 --docker-server=git.42i.org \
 --docker-username=$NPLUS_ACCOUNT \
 --docker-password=$NPLUS_TOKEN
kubectl create secret generic nscale-license \
 --namespace $SIM_NAME \
 --from-file=license.xml=$NSCALE_LICENSE&lt;/code&gt;&lt;/pre&gt;&lt;ol start="2"&gt;
&lt;li&gt;Deploy the Instance&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;helm install \
 --values lab.yaml \
 --values single-instance-mode.yaml \
 --namespace $SIM_NAME \
 $SIM_NAME nplus/nplus-instance&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you do not have any Application that requires assets such as scripts or apps, you are good to go with this.&lt;/p&gt;</description></item><item><title>Specifics of the Sharepoint Connector</title><link>https://www.nplus.cloud/docs/samples/sharepoint/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/sharepoint/</guid><description>&lt;h1 id="specifics-of-the-sharepoint-connector"&gt;Specifics of the Sharepoint Connector&lt;a class="anchor" href="#specifics-of-the-sharepoint-connector"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Normally, you will have different configurations if you want multiple Sharepoint Connectors. This makes the &lt;em&gt;nsp&lt;/em&gt; somewhat special:&lt;/p&gt;
&lt;h2 id="multi-instance-ha-sharepoint-connector"&gt;Multi Instance HA Sharepoint Connector&lt;a class="anchor" href="#multi-instance-ha-sharepoint-connector"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This sample shows how to setup a sharepoint connector with multiple instances having &lt;strong&gt;different&lt;/strong&gt; configurations for archival, but with &lt;strong&gt;High Availability&lt;/strong&gt; on the retrieval side.&lt;/p&gt;
&lt;p&gt;SharePoint is one of the few components for which is is quite common to have multiple instances instead of replicas. Replicas would include, that the configuration for all pods is identical. However, you might want to have multiple configurations as you also have multiple sharepoint sites you want to archive.&lt;/p&gt;</description></item><item><title>Static Volumes</title><link>https://www.nplus.cloud/docs/samples/static/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/static/</guid><description>&lt;h1 id="static-volumes"&gt;Static Volumes&lt;a class="anchor" href="#static-volumes"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="assigning-pvs"&gt;Assigning PVs&lt;a class="anchor" href="#assigning-pvs"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;For security reasons, you might want to use a storage class that does not perform automatic provisioning of PVs.
In that case, you want to reference a pre-created volume in the PVC.
In nplus, you can do so by setting the volumeName in the values.&lt;/p&gt;
&lt;p&gt;Please review &lt;code&gt;values.yaml&lt;/code&gt; as an example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;database&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;mounts&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;data&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;volumeName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;pv-{{ .component.fullName }}-data&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;nstl&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;mounts&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;data&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;volumeName&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;pv-{{ .component.fullName }}-data&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can also set the environment config volume. Please refer to the environment documentation for that.&lt;/p&gt;</description></item><item><title>Switching to the Official Postgres Image</title><link>https://www.nplus.cloud/docs/samples/postgres/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/postgres/</guid><description>&lt;h1 id="switching-to-the-official-postgres-image"&gt;Switching to the Official Postgres Image&lt;a class="anchor" href="#switching-to-the-official-postgres-image"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;If you want to move from the Bitnami Postgres image to the official Postgres image, set:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;components:
 database: false
 postgres: true
global:
 database:
 url: &amp;#34;jdbc:postgresql://{{ .component.prefix }}postgres:5432/{{ .this.database.name }}&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;in the values file. This will instantiate the official Postgres image.
All values are identical.&lt;/p&gt;
&lt;p&gt;You can also run both components side-by-side to perform migrations.&lt;/p&gt;
&lt;p&gt;Make sure you set the database URL to the new DB when you are done.&lt;/p&gt;</description></item><item><title>Traefik</title><link>https://www.nplus.cloud/docs/samples/traefik/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/traefik/</guid><description>&lt;h1 id="traefik"&gt;Traefik&lt;a class="anchor" href="#traefik"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;If &lt;em&gt;Traefik&lt;/em&gt; is the ingress controller of your cluster, &lt;em&gt;nplus&lt;/em&gt; offers &lt;strong&gt;two ways&lt;/strong&gt; to
publish an instance. Both are fully supported — they differ in &lt;em&gt;what kind of objects&lt;/em&gt;
the charts create, and therefore in how much of Traefik you can reach from the values.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;code&gt;backend: traefik&lt;/code&gt;&lt;/th&gt;
 &lt;th&gt;&lt;code&gt;provider: traefik&lt;/code&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Objects&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;Ingress&lt;/code&gt; + a few &lt;code&gt;Middleware&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;IngressRoute&lt;/code&gt;, &lt;code&gt;Middleware&lt;/code&gt;, &lt;code&gt;ServersTransport&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Configured by&lt;/td&gt;
 &lt;td&gt;annotations on the Ingress&lt;/td&gt;
 &lt;td&gt;native CRD fields&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Sticky cookie&lt;/td&gt;
 &lt;td&gt;annotation, name only&lt;/td&gt;
 &lt;td&gt;native, incl. &lt;code&gt;maxAge&lt;/code&gt;, &lt;code&gt;path&lt;/code&gt;, &lt;code&gt;sameSite&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Body size, timeouts&lt;/td&gt;
 &lt;td&gt;not available&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;maxRequestBodyBytes&lt;/code&gt;, &lt;code&gt;responseHeaderTimeout&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;CORS, rate limiting&lt;/td&gt;
 &lt;td&gt;not available&lt;/td&gt;
 &lt;td&gt;per component&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Own middlewares&lt;/td&gt;
 &lt;td&gt;not attachable&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ingress.traefik.middlewares&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Denied paths&lt;/td&gt;
 &lt;td&gt;routed to the &lt;code&gt;void&lt;/code&gt; service&lt;/td&gt;
 &lt;td&gt;answered with &lt;strong&gt;403&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Portable to another controller&lt;/td&gt;
 &lt;td&gt;yes, it stays an Ingress&lt;/td&gt;
 &lt;td&gt;no, Traefik only&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Rule of thumb: take the &lt;strong&gt;annotations&lt;/strong&gt; variant if you want to keep the manifests
portable and only need the basics. Take the &lt;strong&gt;native&lt;/strong&gt; variant if you actually want
to configure Traefik — body limits, timeouts, CORS, rate limiting — or if you want
to attach middlewares of your own.&lt;/p&gt;</description></item><item><title>Using detached applications</title><link>https://www.nplus.cloud/docs/samples/detached/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/detached/</guid><description>&lt;h1 id="using-detached-applications"&gt;Using detached applications&lt;a class="anchor" href="#using-detached-applications"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;All the other samples use an application that is deployed &lt;strong&gt;inside of an instance&lt;/strong&gt;. However, you can also deploy an application &lt;strong&gt;detached&lt;/strong&gt; from the instance as a solo chart.&lt;/p&gt;
&lt;p&gt;The reason for this is, that you&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;can update the instance without running the application update&lt;/li&gt;
&lt;li&gt;update the application without touching the instance&lt;/li&gt;
&lt;li&gt;have multiple applications deployed within one instance&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are two major things you need to do:&lt;/p&gt;</description></item><item><title>Using Object Stores</title><link>https://www.nplus.cloud/docs/samples/blobstore/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/blobstore/</guid><description>&lt;h1 id="using-object-stores"&gt;Using Object Stores&lt;a class="anchor" href="#using-object-stores"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Blobstores aka Objectstores have a REST Interface that you can upload your Payload to and receive an ID for it. They are normally structured into &lt;em&gt;Buckets&lt;/em&gt; or &lt;em&gt;Containers&lt;/em&gt; to privide
some sort of pooling payload within the store.&lt;/p&gt;
&lt;p&gt;The &lt;em&gt;nscale Server Storage Layer&lt;/em&gt; supports multiple brands of objectstores, the most popular being Amazon S3 and Microsoft Azure Blobstore.&lt;/p&gt;
&lt;p&gt;In order to use them, you need to&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;get an account for the store&lt;/li&gt;
&lt;li&gt;configure the &lt;em&gt;nstl&lt;/em&gt; with the url, credentials etc.&lt;/li&gt;
&lt;li&gt;Add firewall rules to access to store&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have a look at the sample files&lt;/p&gt;</description></item><item><title>Using the ERP Proxy</title><link>https://www.nplus.cloud/docs/samples/erpproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/erpproxy/</guid><description>&lt;h1 id="using-the-erp-proxy"&gt;Using the ERP Proxy&lt;a class="anchor" href="#using-the-erp-proxy"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;You can customize the usage of the ERP Proxy by setting the following values in the &lt;code&gt;values.yaml&lt;/code&gt; file:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;components:
 erpproxya: true
 erpproxyb: true
erpproxya:
 ingress:
 contextPath: /proxya
 xsap:
 url: &amp;#34;{{ printf \&amp;#34;%s/%s\&amp;#34; ($.this.nappl).instance \&amp;#34;xsap/cs/sample1\&amp;#34;}}&amp;#34;
erpproxyb:
 ingress:
 contextPath: /proxyb
 xsap:
 url: &amp;#34;{{ printf \&amp;#34;%s/%s\&amp;#34; ($.this.nappl).instance \&amp;#34;xsap/cs/sample2\&amp;#34;}}&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="files"&gt;Files&lt;a class="anchor" href="#files"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.nplus.cloud/downloads/samples/erpproxy.tar.gz"&gt;Download all files of this sample&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="buildsh"&gt;build.sh&lt;a class="anchor" href="#buildsh"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;&lt;/span&gt;&lt;span style="color:#78787e"&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# This sample script builds the example as described. It is also used to build the test environment in our lab,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# so it should be well tested.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Make sure it fails immediately, if anything goes wrong&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;set&lt;/span&gt; -e
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# -- ENVironment variables:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# CHARTS: The path to the source code&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# DEST: The path to the build destination&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# SAMPLE: The directory of the sample&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# NAME: The name of the sample, used as the .Release.Name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# KUBE_CONTEXT: The name of the kube context, used to build this sample depending on where you run it against. You might have different Environments such as lab, dev, qa, prod, demo, local, ...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Check, if we have the source code available&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: The Charts Sources folder is not set. Please make sure to run this script with the full Source Code available&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: DEST folder not found.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;/instance&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: Chart Sources in &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;/instance not found. Are you running this script as a subscriber?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Set the Variables&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;SAMPLE&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;erpproxy&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;NAME&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;sample-&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Output what is happening&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$NAME&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Create the manifest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p &lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;/instance
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm template --debug &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/application/empty.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/environment/&lt;span style="color:#ff5c57"&gt;$KUBE_CONTEXT&lt;/span&gt;.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/resources/&lt;span style="color:#ff5c57"&gt;$KUBE_CONTEXT&lt;/span&gt;.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/erpproxy/values.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;$NAME&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;/instance &amp;gt; &lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;/instance/&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="valuesyaml"&gt;values.yaml&lt;a class="anchor" href="#valuesyaml"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;components&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;erpproxya&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;erpproxyb&lt;/span&gt;: &lt;span style="color:#ff6ac1"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;erpproxya&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;ingress&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;contextPath&lt;/span&gt;: /proxya
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;xsap&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;url&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;{{ printf \&amp;#34;%s/%s\&amp;#34; ($.this.nappl).instance \&amp;#34;xsap/cs/sample1\&amp;#34;}}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;erpproxyb&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;ingress&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;contextPath&lt;/span&gt;: /proxyb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;xsap&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;url&lt;/span&gt;: &lt;span style="color:#5af78e"&gt;&amp;#34;{{ printf \&amp;#34;%s/%s\&amp;#34; ($.this.nappl).instance \&amp;#34;xsap/cs/sample2\&amp;#34;}}&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Using the gateway API</title><link>https://www.nplus.cloud/docs/samples/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/samples/gateway/</guid><description>&lt;h1 id="using-the-gateway-api"&gt;Using the gateway API&lt;a class="anchor" href="#using-the-gateway-api"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;you can use the gateway api instead of the default ingress api.&lt;/p&gt;
&lt;p&gt;to do so, simply switch the provider on either environment or instance level:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;global:
 ingress:
 provider: gateway&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;all ingress parameters are taken into the gateway configuration, such as the class etc.&lt;/p&gt;
&lt;h2 id="files"&gt;Files&lt;a class="anchor" href="#files"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.nplus.cloud/downloads/samples/gateway.tar.gz"&gt;Download all files of this sample&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="buildsh"&gt;build.sh&lt;a class="anchor" href="#buildsh"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;&lt;/span&gt;&lt;span style="color:#78787e"&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# This sample script builds the example as described. It is also used to build the test environment in our lab,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# so it should be well tested.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Make sure it fails immediately, if anything goes wrong&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;set&lt;/span&gt; -e
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# -- ENVironment variables:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# CHARTS: The path to the source code&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# DEST: The path to the build destination&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# SAMPLE: The directory of the sample&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# NAME: The name of the sample, used as the .Release.Name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# KUBE_CONTEXT: The name of the kube context, used to build this sample depending on where you run it against. You might have different Environments such as lab, dev, qa, prod, demo, local, ...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Check, if we have the source code available&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: The Charts Sources folder is not set. Please make sure to run this script with the full Source Code available&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: DEST folder not found.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;if&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt; ! -d &lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;/instance&amp;#34;&lt;/span&gt; &lt;span style="color:#ff6ac1"&gt;]&lt;/span&gt;; &lt;span style="color:#ff6ac1"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;ERROR Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt; example: Chart Sources in &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;&lt;span style="color:#5af78e"&gt;/instance not found. Are you running this script as a subscriber?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff5c57"&gt;exit&lt;/span&gt; &lt;span style="color:#ff9f43"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Set the Variables&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;SAMPLE&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;gateway&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;NAME&lt;/span&gt;&lt;span style="color:#ff6ac1"&gt;=&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;sample-&lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Output what is happening&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;echo&lt;/span&gt; &lt;span style="color:#5af78e"&gt;&amp;#34;Building &lt;/span&gt;&lt;span style="color:#ff5c57"&gt;$NAME&lt;/span&gt;&lt;span style="color:#5af78e"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#78787e"&gt;# Create the manifest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p &lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;/instance
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm template --debug &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/application/empty.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/environment/&lt;span style="color:#ff5c57"&gt;$KUBE_CONTEXT&lt;/span&gt;.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/resources/&lt;span style="color:#ff5c57"&gt;$KUBE_CONTEXT&lt;/span&gt;.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; --values &lt;span style="color:#ff5c57"&gt;$SAMPLES&lt;/span&gt;/&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;/values.yaml &lt;span style="color:#5af78e"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#5af78e"&gt;&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;$NAME&lt;/span&gt; &lt;span style="color:#ff5c57"&gt;$CHARTS&lt;/span&gt;/instance &amp;gt; &lt;span style="color:#ff5c57"&gt;$DEST&lt;/span&gt;/instance/&lt;span style="color:#ff5c57"&gt;$SAMPLE&lt;/span&gt;.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="valuesyaml"&gt;values.yaml&lt;a class="anchor" href="#valuesyaml"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff6ac1"&gt;global&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;ingress&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff6ac1"&gt;provider&lt;/span&gt;: gateway&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>