<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>nplus</title><link>https://www.nplus.cloud/</link><description>Recent content on nplus</description><generator>Hugo</generator><language>en</language><copyright>© 42i GmbH</copyright><atom:link href="https://www.nplus.cloud/index.xml" rel="self" type="application/rss+xml"/><item><title>Versioning</title><link>https://www.nplus.cloud/docs/guides/versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/guides/versioning/</guid><description>&lt;h1 id="versioning"&gt;Versioning&lt;a class="anchor" href="#versioning"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Since 26.4, the &lt;em&gt;nplus version&lt;/em&gt; is &lt;strong&gt;independent of the nscale version&lt;/strong&gt;.
All nplus charts — the instance, the environment, the cluster and every
component — carry the same nplus version. Which nscale version runs is decided
by the values, not by the chart version.&lt;/p&gt;
&lt;h2 id="nplus-versions"&gt;nplus versions&lt;a class="anchor" href="#nplus-versions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Channel&lt;/th&gt;
 &lt;th&gt;Form&lt;/th&gt;
 &lt;th&gt;Example&lt;/th&gt;
 &lt;th&gt;Helm&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Release&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;X.Y.&amp;lt;rev&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;26.4.1000&lt;/code&gt;, &lt;code&gt;26.4.1001&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;helm install&lt;/code&gt; / &lt;code&gt;helm upgrade&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Development&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;X.Y.1000-&amp;lt;n&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;26.4.1000-1&lt;/code&gt;, &lt;code&gt;26.4.1000-2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;helm install --devel&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;X.Y&lt;/code&gt; is the release line. It follows the calendar: &lt;code&gt;26.4&lt;/code&gt; is the line of
2026. A new line starts when the chart code changes in a way that needs
attention on upgrade.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rev&lt;/code&gt; counts the releases of a line, starting at 1000. Every published
version passed the full test suite.&lt;/li&gt;
&lt;li&gt;Development versions are pre-releases of the next release in SemVer terms
(&lt;code&gt;26.4.1000-2 &amp;lt; 26.4.1000&lt;/code&gt;), so &lt;code&gt;helm install&lt;/code&gt; without &lt;code&gt;--devel&lt;/code&gt; never picks
one up.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Versions before 26.3 followed the nscale Application Layer version (for
example &lt;code&gt;10.2.1002-200&lt;/code&gt;). They remain available, but receive no updates.
&lt;strong&gt;26.3.200&lt;/strong&gt; is exactly the code of beta 200 under the new number: switch to
it first, without any change to your deployment, and move on to 26.4 from
there.&lt;/p&gt;</description></item><item><title>Quickstart</title><link>https://www.nplus.cloud/docs/guides/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/guides/quickstart/</guid><description>&lt;h1 id="nplus-quickstart-guide"&gt;&lt;em&gt;nplus&lt;/em&gt; Quickstart Guide&lt;a class="anchor" href="#nplus-quickstart-guide"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The charts are built in a way that they provide minimal functionality without any configuration, using default values.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you want ingress, you have to configure the domain. Without the domain set, your charts will not have any default way to access them. However, you can still forward traffic to them or configure a &lt;em&gt;NodePort&lt;/em&gt; or &lt;em&gt;LoadBalancer&lt;/em&gt; manually.&lt;/li&gt;
&lt;li&gt;If you want proper TLS, you need a certificate. Without the certificate provided, a self-signed certificate will secure your connection.&lt;/li&gt;
&lt;li&gt;If you want specific storage, configure the storage class to use. Without it, you will get the default class for RWO and RWX.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This Quick Start example has nothing configured, so you will get:&lt;/p&gt;</description></item><item><title>Quickstart with Argo CD</title><link>https://www.nplus.cloud/docs/guides/quickstart-argo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/guides/quickstart-argo/</guid><description>&lt;blockquote class='book-hint '&gt;
&lt;p&gt;This guide extends the &lt;a href="https://www.nplus.cloud/docs/guides/quickstart/"&gt;Quickstart Guide&lt;/a&gt;, so make sure you have completed that before starting with ArgoCD.&lt;/p&gt;
&lt;/blockquote&gt;&lt;h1 id="adding-argocd"&gt;Adding ArgoCD&lt;a class="anchor" href="#adding-argocd"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;In order to be able to deploy &lt;em&gt;nplus instances&lt;/em&gt; using ArgoCD, you need to add the Chart Repository to Argo:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat &amp;lt;&amp;lt; EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
 name: nplus-repo
 namespace: argocd
 labels:
 argocd.argoproj.io/secret-type: repository
stringData:
 type: helm
 url: https://git.42i.org/api/packages/nplus/helm
 password: $NPLUS_TOKEN
 username: $NPLUS_ACCOUNT
EOF&lt;/code&gt;&lt;/pre&gt;&lt;blockquote class='book-hint '&gt;
&lt;p&gt;This requires the Environment Variables for the &lt;em&gt;NPLUS_ACCOUNT&lt;/em&gt; and &lt;em&gt;NPLUS_TOKEN&lt;/em&gt; to be set. Check the Quickstart Guide if you are uncertain&lt;/p&gt;</description></item><item><title>FAQ</title><link>https://www.nplus.cloud/docs/guides/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/guides/faq/</guid><description>&lt;h1 id="frequently-asked-questions-faq"&gt;Frequently Asked Questions (FAQ)&lt;a class="anchor" href="#frequently-asked-questions-faq"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="how-do-i-add-my-custom-generic-base-app-gba-to-the-deployment"&gt;How do I add my custom Generic Base App (GBA) to the deployment?&lt;a class="anchor" href="#how-do-i-add-my-custom-generic-base-app-gba-to-the-deployment"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can use the application chart to add your GBAs to a deployment. Please follow the instructions
in the &lt;a href="https://www.nplus.cloud/docs/charts/application/"&gt;chart README&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="i-do-not-find-any-of-my-custom-objects-roles-classes--from-my-gba-in-the-system-is-there-an-install-log-file-that-i-can-check"&gt;I do not find any of my custom objects (roles, classes, &amp;hellip;) from my GBA in the system. Is there an install log file that I can check?&lt;a class="anchor" href="#i-do-not-find-any-of-my-custom-objects-roles-classes--from-my-gba-in-the-system-is-there-an-install-log-file-that-i-can-check"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Yes. You can either check the log of the application job with&lt;/p&gt;</description></item><item><title>nscale versions</title><link>https://www.nplus.cloud/docs/versions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/versions/</guid><description>&lt;h1 id="nscale-versions"&gt;nscale versions&lt;a class="anchor" href="#nscale-versions"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Each file pins the images of every nscale component for one nscale release. The charts default to the latest one (&lt;strong&gt;10.2.1001&lt;/strong&gt;). Stack a file on top of your values to run another release, see &lt;a href="https://www.nplus.cloud/docs/guides/versioning/"&gt;Versioning&lt;/a&gt;.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;nscale&lt;/th&gt;
 &lt;th&gt;file&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;10.2.1001&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.2.1001.yaml"&gt;10.2.1001.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10.1.1509&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.1.1509.yaml"&gt;10.1.1509.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10.1.1500&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.1.1500.yaml"&gt;10.1.1500.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10.1.1303&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.1.1303.yaml"&gt;10.1.1303.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10.1.1301&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.1.1301.yaml"&gt;10.1.1301.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10.1.1101&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.1.1101.yaml"&gt;10.1.1101.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10.0.1503&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.0.1503.yaml"&gt;10.0.1503.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10.0.1502&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.0.1502.yaml"&gt;10.0.1502.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10.0.1300&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.0.1300.yaml"&gt;10.0.1300.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10.0.1101&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.0.1101.yaml"&gt;10.0.1101.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10.0.1001&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/10.0.1001.yaml"&gt;10.0.1001.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.3.1401&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.3.1401.yaml"&gt;9.3.1401.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.3.1300&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.3.1300.yaml"&gt;9.3.1300.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.3.1202&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.3.1202.yaml"&gt;9.3.1202.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.2.1505&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.2.1505.yaml"&gt;9.2.1505.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.2.1503&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.2.1503.yaml"&gt;9.2.1503.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.2.1502&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.2.1502.yaml"&gt;9.2.1502.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.2.1501&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.2.1501.yaml"&gt;9.2.1501.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.2.1402&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.2.1402.yaml"&gt;9.2.1402.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.2.1302&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.2.1302.yaml"&gt;9.2.1302.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.2.1200&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.2.1200.yaml"&gt;9.2.1200.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.2.1101&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.2.1101.yaml"&gt;9.2.1101.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.2.1005&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.2.1005.yaml"&gt;9.2.1005.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.2&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.2.yaml"&gt;9.2.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.1.1506&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.1.1506.yaml"&gt;9.1.1506.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.1.1501&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.1.1501.yaml"&gt;9.1.1501.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.1.1401&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.1.1401.yaml"&gt;9.1.1401.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.1.1300&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.1.1300.yaml"&gt;9.1.1300.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.1.1201&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.1.1201.yaml"&gt;9.1.1201.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.1.1100&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.1.1100.yaml"&gt;9.1.1100.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.1.1001&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.1.1001.yaml"&gt;9.1.1001.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.0.1501&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.0.1501.yaml"&gt;9.0.1501.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;9.0.1400&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://www.nplus.cloud/downloads/versions/9.0.1400.yaml"&gt;9.0.1400.yaml&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Operations</title><link>https://www.nplus.cloud/docs/guides/operations1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/guides/operations1/</guid><description>&lt;h1 id="day-1-ops-install-update-uninstall"&gt;Day 1 Ops: Install, Update, Uninstall&lt;a class="anchor" href="#day-1-ops-install-update-uninstall"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install instance &lt;em&gt;sample&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;To demonstrate, we use the sample-tenant chart we find in the samples directory. The main difference
to the default instance chart is, that a domain is set to &lt;code&gt;*.sample.nplus.cloud&lt;/code&gt;, so we will be able to
log into the web client right away if we redirected this domain correctly.&lt;/p&gt;
&lt;p&gt;You can easily adopt the examples to your environment.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;helm install sample nplus/sample-tenant --version 9.0.1400&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Rolling update&lt;/strong&gt; of instance &lt;em&gt;sample&lt;/em&gt; to a later monthly release&lt;/p&gt;</description></item><item><title>Release history</title><link>https://www.nplus.cloud/docs/history/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/history/</guid><description>&lt;h1 id="version-history"&gt;Version History&lt;a class="anchor" href="#version-history"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="september-2026-beta-200"&gt;September 2026, Beta 200&lt;a class="anchor" href="#september-2026-beta-200"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Removed the JSONL export of the documentation. &lt;code&gt;subscription/ai/jsonl&lt;/code&gt; held a copy of the chart and manual documentation for feeding into an LLM, generated by two helper scripts and a helm-docs template. Nobody consumed it, the scripts carried their input and output paths hard coded as devcontainer paths, and &lt;code&gt;bin/build&lt;/code&gt; called them with &lt;code&gt;|| true&lt;/code&gt; - so outside a devcontainer they failed silently and the files quietly went stale. Documentation now lives in the chart READMEs and under &lt;code&gt;docs/&lt;/code&gt; only.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="september-2026-beta-199"&gt;September 2026, Beta 199&lt;a class="anchor" href="#september-2026-beta-199"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;Component&lt;/code&gt; and &lt;code&gt;Instance&lt;/code&gt; custom resources no longer carry &lt;code&gt;tenant&lt;/code&gt; and &lt;code&gt;provider&lt;/code&gt; when they are not set. Both belong to cloud billing and stay empty on premise, but were rendered unconditionally and arrived as &lt;code&gt;null&lt;/code&gt; in the resource - which Argo CD reports as a difference on every sync. They are now written only when they carry a value, on component, instance or environment level alike. Confirmed against a customer&amp;rsquo;s Argo CD manifest, where both fields showed up as &lt;code&gt;null&lt;/code&gt; on all eight components and on the instance.&lt;/li&gt;
&lt;li&gt;A component deployed on its own now renders its own TLS certificate. Only the umbrella charts (&lt;code&gt;instance&lt;/code&gt;, &lt;code&gt;environment&lt;/code&gt;, &lt;code&gt;rms&lt;/code&gt;) did so, while every component refers to &lt;code&gt;ingress.secret&lt;/code&gt; - so a single component without an instance pointed at a secret that nobody created. With &lt;code&gt;ingress.issuer&lt;/code&gt; set it renders a &lt;code&gt;Certificate&lt;/code&gt;, otherwise a self signed secret, which &lt;code&gt;ingress.createSelfSignedCertificate: false&lt;/code&gt; switches off. Inside an instance or an environment nothing changes: the umbrella chart keeps owning the certificate. This was invisible with &lt;code&gt;provider: ingress&lt;/code&gt; in clusters running a cert-manager ingress shim, where the Ingress object triggered the certificate; with &lt;code&gt;provider: traefik&lt;/code&gt; there is no Ingress to trigger anything, and Traefik answered with its default certificate instead - which looks like a broken TLS setup rather than a missing object. Note that the self signed certificate is regenerated on every render and that several standalone components in one namespace share the secret name.&lt;/li&gt;
&lt;li&gt;The component list of the &lt;code&gt;Instance&lt;/code&gt; custom resource no longer contains &lt;code&gt;sim&lt;/code&gt;. &lt;code&gt;components.sim&lt;/code&gt; is not a component but the section for single instance mode, and a non empty map counts as &lt;em&gt;true&lt;/em&gt; - so a component that will never exist ended up in &lt;code&gt;components&lt;/code&gt; and in &lt;code&gt;expected&lt;/code&gt;, where the operator waits for it. Only real on/off switches are listed now; the sub charts of single instance mode keep their own conditions.&lt;/li&gt;
&lt;li&gt;The annotations block of a pod template is only written when there is something to annotate. Components without OpenTelemetry injection and without security annotations rendered an empty &lt;code&gt;annotations:&lt;/code&gt;, which arrives as &lt;code&gt;null&lt;/code&gt; in the cluster and is reported as a difference on every Argo CD sync. The new helper &lt;code&gt;nplus.podAnnotations&lt;/code&gt; brings the key along with its content, and takes an own annotation as a second argument for the components that always set one.&lt;/li&gt;
&lt;li&gt;Fixed the component and instance templates swallowing their own indentation: &lt;code&gt;component.tpl&lt;/code&gt; passed the rendered resource through without &lt;code&gt;nindent&lt;/code&gt;, so the first line kept the template indentation. Helm trims that away before applying, which is why it never showed in a cluster, but it made the resource unparseable for anything reading the template output directly - chart unit tests among them.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="september-2026-beta-198"&gt;September 2026, Beta 198&lt;a class="anchor" href="#september-2026-beta-198"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Values are rendered key by key: what is not set no longer appears in the manifest. The new helper &lt;code&gt;nplus.compact&lt;/code&gt; drops empty entries from a values block — null, the empty string, and maps or lists that end up empty — while &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;false&lt;/code&gt; are kept, because those are values rather than omissions. It is applied to &lt;code&gt;resources&lt;/code&gt;, &lt;code&gt;initResources&lt;/code&gt;, &lt;code&gt;sidecarResources&lt;/code&gt;, both security contexts and the Traefik sticky cookie, and is available for any other block that reaches the manifest through &lt;code&gt;toYaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Environment variables built from maps (&lt;code&gt;env&lt;/code&gt;, &lt;code&gt;global.env&lt;/code&gt;, &lt;code&gt;global.environment.env&lt;/code&gt;) skip entries without a value — an unset key rendered as &lt;code&gt;value:&lt;/code&gt; with nothing behind it, a null in the manifest. An empty string is kept: for an environment variable, &amp;ldquo;set but empty&amp;rdquo; differs from &amp;ldquo;not set&amp;rdquo;. The values files declare the full shape (&lt;code&gt;requests&lt;/code&gt;/&lt;code&gt;limits&lt;/code&gt; with &lt;code&gt;cpu&lt;/code&gt;/&lt;code&gt;memory&lt;/code&gt;), so unset keys arrived as &lt;code&gt;cpu: null&lt;/code&gt; — and Helm 4, as used by newer Argo CD versions, reads that as &lt;code&gt;0&lt;/code&gt;, which kept applications permanently out of sync. Empty sections are dropped as well, and a block without any value at all is omitted entirely. Resource kinds beyond cpu and memory (ephemeral-storage, GPU) are preserved.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="september-2026-beta-197"&gt;September 2026, Beta 197&lt;a class="anchor" href="#september-2026-beta-197"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;ingress.labels&lt;/code&gt;: extra labels for everything the ingress path creates — the &lt;code&gt;Ingress&lt;/code&gt; as well as &lt;code&gt;IngressRoute&lt;/code&gt;, &lt;code&gt;Middleware&lt;/code&gt;, &lt;code&gt;ServersTransport&lt;/code&gt;, &lt;code&gt;HTTPRoute&lt;/code&gt; and &lt;code&gt;Gateway&lt;/code&gt;. Clusters that enforce labels on these objects (a Kyverno policy requiring &lt;code&gt;traefik-scope&lt;/code&gt; on every Traefik CR, for example) rejected the whole deployment before; setting the label once on environment or instance level now covers every component and the shared objects.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="august-2026-beta-196"&gt;August 2026, Beta 196&lt;a class="anchor" href="#august-2026-beta-196"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fixed the SharePoint cluster ingress, which did not know the &lt;code&gt;traefik&lt;/code&gt; provider and aborted the render with &lt;code&gt;unsupported ingress provider: traefik&lt;/code&gt;. It now writes an &lt;code&gt;IngressRoute&lt;/code&gt; for the cluster service as well.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="august-2026-beta-195"&gt;August 2026, Beta 195&lt;a class="anchor" href="#august-2026-beta-195"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;ingress.provider: traefik&lt;/code&gt;, publishing a component with native Traefik CRDs instead of a Kubernetes Ingress. Every component renders its own &lt;code&gt;IngressRoute&lt;/code&gt;, while the cross cutting middlewares (app-root redirect, request body limit, whitelist) and the &lt;code&gt;ServersTransport&lt;/code&gt; are rendered once per instance and referenced by name. A component deployed standalone renders its own copies.&lt;/li&gt;
&lt;li&gt;Added per component Traefik options below &lt;code&gt;ingress.traefik&lt;/code&gt;: CORS, rate limiting, native sticky cookie settings, body size and timeout overrides, and &lt;code&gt;middlewares&lt;/code&gt; to attach middlewares of your own without disabling the nplus routing.&lt;/li&gt;
&lt;li&gt;Denied paths (&lt;code&gt;ingress.deny&lt;/code&gt;) are answered with 403 by a blocking middleware in this mode, instead of being routed to the &lt;code&gt;void&lt;/code&gt; service.&lt;/li&gt;
&lt;li&gt;Fixed the app-root redirect middleware: the replacement was written as &lt;code&gt;$${1}&lt;/code&gt;, which Traefik expands to a literal dollar sign, so the redirect pointed to &lt;code&gt;https://${1}/...&lt;/code&gt; instead of the host. This affected the &lt;code&gt;ingress.backend: traefik&lt;/code&gt; variant as well.&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;updateStrategy&lt;/code&gt; being ignored: the value is documented in nine charts, but only the web chart evaluated it. All deployment charts now honor it, which also makes &lt;code&gt;Recreate&lt;/code&gt; available on single node clusters, where a rolling update deadlocks against the pod anti affinity.&lt;/li&gt;
&lt;li&gt;Added chart unit tests based on &lt;em&gt;helm-unittest&lt;/em&gt;, covering the ingress, traefik and gateway providers. Run them with &lt;code&gt;make test&lt;/code&gt;; &lt;code&gt;make beta&lt;/code&gt; now runs them before building.&lt;/li&gt;
&lt;li&gt;Added the &lt;a href="https://www.nplus.cloud/docs/samples/traefik/"&gt;traefik&lt;/a&gt; sample comparing both Traefik variants, and documented Traefik in detail in the shared ingress documentation of every chart.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="august-2026-beta-194"&gt;August 2026, Beta 194&lt;a class="anchor" href="#august-2026-beta-194"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update nscale to 10.1.1509&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="march-2026-beta-193"&gt;March 2026, Beta 193&lt;a class="anchor" href="#march-2026-beta-193"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Set the http port of the dms api component to 8080&lt;/li&gt;
&lt;li&gt;Fixed value resolution for ports, where numbers may arrive as &lt;code&gt;int&lt;/code&gt; or &lt;code&gt;int64&lt;/code&gt; depending on whether they come from a values file or the command line&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="march-2026-beta-192"&gt;March 2026, Beta 192&lt;a class="anchor" href="#march-2026-beta-192"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;ingress.backend&lt;/code&gt; switch (&lt;code&gt;nginx&lt;/code&gt; or &lt;code&gt;traefik&lt;/code&gt;) to the shared ingress template.&lt;/li&gt;
&lt;li&gt;Added Traefik middleware manifest generation for app-root redirect, rewrite (inputPath + rewriteTarget), and whitelist.&lt;/li&gt;
&lt;li&gt;Added automatic Traefik middleware binding via &lt;code&gt;traefik.ingress.kubernetes.io/router.middlewares&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Remaining non-1:1 topics for Traefik are &lt;code&gt;proxy-read-timeout&lt;/code&gt; and custom &lt;code&gt;configuration-snippet&lt;/code&gt; based deny rules.&lt;/li&gt;
&lt;li&gt;Added the option to add a RAMDrive configuration to the generic Volume list. See the generic example for details.&lt;/li&gt;
&lt;li&gt;Update nscale to 10.1.1500&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="february-2026-beta-191"&gt;February 2026, Beta 191&lt;a class="anchor" href="#february-2026-beta-191"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fixed a bug in the SharePoint Cluster Ingress, where we had a double if enabled preventing it from being generated&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="february-2026-beta-190"&gt;February 2026, Beta 190&lt;a class="anchor" href="#february-2026-beta-190"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added postgres (official) supprt, see example.&lt;/li&gt;
&lt;li&gt;Added Gateway API support replacing ingresses, see example&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="february-2026-beta-189"&gt;February 2026, Beta 189&lt;a class="anchor" href="#february-2026-beta-189"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Implemented ability to override the probes in all charts
see the probes sample for demo&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="february-2026-release-141303"&gt;February 2026, Release 1.4.1303&lt;a class="anchor" href="#february-2026-release-141303"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Stable version&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="february-2026-beta-187"&gt;February 2026, Beta 187&lt;a class="anchor" href="#february-2026-beta-187"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update to nscale 10.1.1303
Some components are on 1400, like Pipeliner.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="january-2026-beta-186"&gt;January 2026, Beta 186&lt;a class="anchor" href="#january-2026-beta-186"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update to nscale 10.1.1301&lt;/li&gt;
&lt;li&gt;Refactored the dev environment to the new dev container&lt;/li&gt;
&lt;li&gt;Refactored the server in the data center&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="november-2025-beta-185"&gt;November 2025, Beta 185&lt;a class="anchor" href="#november-2025-beta-185"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update to nscale 10.1.1101&lt;/li&gt;
&lt;li&gt;Added custom init containers
(see sample initcontainers and documentation in README.md for more info)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="october-2025-beta-183"&gt;October 2025, Beta 183&lt;a class="anchor" href="#october-2025-beta-183"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update to nscale 10.0.1503&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="september-2025-beta-182"&gt;September 2025, Beta 182&lt;a class="anchor" href="#september-2025-beta-182"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update to nscale 10.0.1502&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="august-2025-beta-181"&gt;August 2025, Beta 181&lt;a class="anchor" href="#august-2025-beta-181"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;No new nscale version available yet (as of 2025-08-05).&lt;/li&gt;
&lt;li&gt;Changed the NAPPL probes due to current discussions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="july-2025-beta-180"&gt;July 2025, Beta 180&lt;a class="anchor" href="#july-2025-beta-180"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update to nscale 10.0.1300&lt;/li&gt;
&lt;li&gt;Added an option to turn off service stickiness in nappl&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="may-2025-beta-178179"&gt;May 2025, Beta 178/179&lt;a class="anchor" href="#may-2025-beta-178179"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added revisionHistoryLimit to all charts. You can also set it globally per instance or environment.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="may-2025-beta-177"&gt;May 2025, Beta 177&lt;a class="anchor" href="#may-2025-beta-177"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ability to set (and create) a PriorityClass for all components. This was possible for the database and the application layer before. Now you can set it for
cmis, ilm, administrator, mon, nappl, nstl, pam, pipeliner, rs, sharepoint, web and webdav.
See component README.md for details.&lt;/li&gt;
&lt;li&gt;Update to version 10.0.1101&lt;/li&gt;
&lt;li&gt;Path types for the default ingress paths in NAPPL were wrong: /engine.properties and /index.html
have been changed from &lt;code&gt;Prefix&lt;/code&gt; to &lt;code&gt;Exact&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="april-2025-beta-176"&gt;April 2025, Beta 176&lt;a class="anchor" href="#april-2025-beta-176"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;NAPPL probes set to official endpoints&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="april-2025-beta-175"&gt;April 2025, Beta 175&lt;a class="anchor" href="#april-2025-beta-175"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update to nscale 10&lt;/li&gt;
&lt;li&gt;Fixed a bug in the Pipeliner ingress&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="february-2025-beta-174"&gt;February 2025, Beta 174&lt;a class="anchor" href="#february-2025-beta-174"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Next to &lt;code&gt;ingress.cookie&lt;/code&gt; you can now set &lt;code&gt;ingress.sameSite&lt;/code&gt; to &lt;code&gt;strict&lt;/code&gt;, &lt;code&gt;lax&lt;/code&gt; or &lt;code&gt;none&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Update to 9.3.1401&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="february-2025-beta-173"&gt;February 2025, Beta 173&lt;a class="anchor" href="#february-2025-beta-173"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Set SAPPROXY_CONTEXT_PATH for erpproxy to enable multiple instances on
different paths. The Helm value is .this.ingress.contextPath.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="february-2025-release-131400"&gt;February 2025, Release 1.3.1400&lt;a class="anchor" href="#february-2025-release-131400"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Stable release&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="january-2025-beta-171"&gt;January 2025, Beta 171&lt;a class="anchor" href="#january-2025-beta-171"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;values.schema.json were too strict with respect to &lt;code&gt;global&lt;/code&gt; and &lt;code&gt;environment&lt;/code&gt; settings (AdditionalProperties). Now they are more permissive.&lt;/li&gt;
&lt;li&gt;Added erpproxy[a-d] to allow multiple ERP Proxy deployments with different configurations in one nplus instance.&lt;/li&gt;
&lt;li&gt;Added ERP-Proxy to DSL for documentation&lt;/li&gt;
&lt;li&gt;Updated ERP CMIS version&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="january-2025-beta-170"&gt;January 2025, Beta 170&lt;a class="anchor" href="#january-2025-beta-170"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added values.schema.json to all charts for validation. Please add, for instance,
&lt;pre tabindex="0"&gt;&lt;code&gt;# yaml-language-server: $schema=/docs/raw/branch/master/charts/instance/values.schema.json&lt;/code&gt;&lt;/pre&gt;to your values file.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="january-2025-beta-169"&gt;January 2025, Beta 169&lt;a class="anchor" href="#january-2025-beta-169"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Allow the ERP Proxy URL to be fully customizable&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="january-2025-beta-168"&gt;January 2025, Beta 168&lt;a class="anchor" href="#january-2025-beta-168"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Removed the extra certificate from the RMS component&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="january-2025-beta-167"&gt;January 2025, Beta 167&lt;a class="anchor" href="#january-2025-beta-167"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update to nscale 9.3.1300&lt;/li&gt;
&lt;li&gt;Added terminationGracePeriodSeconds to all pods; it can now be set with &lt;code&gt;.terminationGracePeriodSeconds&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="december-2024-beta-166"&gt;December 2024, Beta 166&lt;a class="anchor" href="#december-2024-beta-166"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The secondary disk is now optional and needs to be enabled with &lt;code&gt;mounts.disk.enabled: true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The default mount for the HID is now on the secondary disk. If you have HID enabled, this is a breaking change. Make sure you deal with existing HID files.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="december-2024-beta-164"&gt;December 2024, Beta 164&lt;a class="anchor" href="#december-2024-beta-164"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Separated the buffers and DA for performance reasons in nstl. The buffers are now stored on a new volume &lt;em&gt;disk&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;/var/crash&lt;/code&gt; to nstl, storing potential crash dumps on pTemp.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="december-2024-beta-163"&gt;December 2024, Beta 163&lt;a class="anchor" href="#december-2024-beta-163"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update to nscale 9.3.1202&lt;/li&gt;
&lt;li&gt;In addition to .this.resources, you can now also set .this.sidecarResources and .this.initResources.
However, you should not do so unless you know what you are doing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="december-2024-beta-162"&gt;December 2024, Beta 162&lt;a class="anchor" href="#december-2024-beta-162"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Changed resources for the Fluentbit sidecar container&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="december-2024-beta-161"&gt;December 2024, Beta 161&lt;a class="anchor" href="#december-2024-beta-161"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added startup probes for all components&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="november-2024-beta-160"&gt;November 2024, Beta 160&lt;a class="anchor" href="#november-2024-beta-160"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added a startup probe for nstl&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="november-2024-beta-159"&gt;November 2024, Beta 159&lt;a class="anchor" href="#november-2024-beta-159"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added .instance.stage to identify a stage&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="november-2024-beta-158"&gt;November 2024, Beta 158&lt;a class="anchor" href="#november-2024-beta-158"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added service.name for OpenTelemetry&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="october-2024-beta-157"&gt;October 2024, Beta 157&lt;a class="anchor" href="#october-2024-beta-157"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Latest ERP-Proxy version by Ceyoniq. This also has been &lt;strong&gt;renamed&lt;/strong&gt; to &lt;strong&gt;erpproxy&lt;/strong&gt; to match the &lt;strong&gt;erpcmis&lt;/strong&gt; connector chart naming.&lt;/li&gt;
&lt;li&gt;First beta of the ERP-CMIS connector in directory &lt;strong&gt;erpcmis&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Added the possibility to add annotations to payloads for use with OpenTelemetry&lt;br&gt;
Also see &lt;a href="https://opentelemetry.io/docs/kubernetes/operator/automatic/"&gt;here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Also added hard-coded OpenTelemetry support for convenience&lt;/li&gt;
&lt;li&gt;Fixed a bug where the prepper chart waited for post-sync in Argo deployments&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="october-2024-beta-156"&gt;October 2024, Beta 156&lt;a class="anchor" href="#october-2024-beta-156"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;nscale ERP Proxy chart now available. There is still a bug in this first image by Ceyoniq, so the chart will not bring up a running
system yet. But the values are in, so you can start setting up the instances.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="october-2024-beta-155"&gt;October 2024, Beta 155&lt;a class="anchor" href="#october-2024-beta-155"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added the possibility to use ConfigMaps and secrets in the generic mount interface.&lt;br&gt;
Please see the &lt;em&gt;generic&lt;/em&gt; example for details&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="september-2024-release-121500"&gt;September 2024, Release 1.2.1500&lt;a class="anchor" href="#september-2024-release-121500"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Update to nscale 9.2.1502&lt;/li&gt;
&lt;li&gt;Added value &lt;code&gt;logForwarder.db&lt;/code&gt; to set a fully qualified path to the database file, in case you do not want to have it alongside the logs.&lt;br&gt;
Example:
&lt;pre tabindex="0"&gt;&lt;code&gt;logForwarder:
- name: Accounting
 path: &amp;#34;/opt/ceyoniq/nscale-server/storage-layer/accounting/*.csv&amp;#34;
 db: &amp;#34;/opt/ceyoniq/nscale-server/storage-layer/logsdb/logs.db&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;BASEFOLDER value typo corrected in SharePoint. It is now &lt;code&gt;Values.nappl.baseFolder&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The default value for &lt;code&gt;doInitialCrawl&lt;/code&gt; was a boolean. It is now a string &lt;code&gt;false&lt;/code&gt;, which is correct.&lt;/li&gt;
&lt;li&gt;You can now add any extra annotations to services and ingresses.
Example:
&lt;pre tabindex="0"&gt;&lt;code&gt;global:
 ingress:
 annotations:
 nginx.org/proxy-read-timeout: &amp;#34;20s&amp;#34;
 service:
 annotations:
 consul.hashicorp.com/service-sync: &amp;#34;true&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;.this.ingress.proxyReadTimeout&lt;/code&gt; to set this extra annotation on ingress objects&lt;/li&gt;
&lt;li&gt;Ports can now be disabled in NetworkPolicies if you use a CNI driver that does not support them.
This is especially for the &amp;ldquo;endPort&amp;rdquo; attribute, which is currently not supported by Cilium.&lt;/li&gt;
&lt;li&gt;Added port 443 to the egress in NetworkPolicies for pods accessing the K8s API&lt;/li&gt;
&lt;li&gt;There was a duplicate PodDisruptionBudget. Fixed it.&lt;/li&gt;
&lt;li&gt;Fixed a bug with respect to Volume Names / Static Volumes and Storage Classes&lt;/li&gt;
&lt;li&gt;Corrected documentation for &lt;code&gt;global.pullSecretOverride&lt;/code&gt; (wrong, missing s) and &lt;code&gt;global.pullSecretsOverride&lt;/code&gt; (correct)&lt;/li&gt;
&lt;li&gt;Fixed a bug where PAM could not communicate with JOBSNAPPL in a HA scenario&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="august-2024-release-121400"&gt;August 2024, Release 1.2.1400&lt;a class="anchor" href="#august-2024-release-121400"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fixed bugs related to the KubePing protocol in versions &amp;lt; 9.1.&lt;/p&gt;</description></item><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>Imprint</title><link>https://www.nplus.cloud/imprint/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/imprint/</guid><description>&lt;h1 id="imprint"&gt;Imprint&lt;a class="anchor" href="#imprint"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;42i GmbH&lt;/strong&gt;&lt;br&gt;
Zum Kurwald 17&lt;br&gt;
33175 Bad Lippspringe&lt;br&gt;
Germany&lt;/p&gt;
&lt;p&gt;E-mail: &lt;a href="mailto:info@42i.org"&gt;info@42i.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Register court: Amtsgericht Paderborn, HRB 12250&lt;br&gt;
VAT ID: DE318728045&lt;/p&gt;
&lt;p&gt;Managing director: Andreas Ahmann&lt;/p&gt;
&lt;p&gt;&lt;em&gt;nscale&lt;/em&gt; is a product and trademark of Ceyoniq Technology GmbH. nplus contains
no nscale software, licenses or services; these are obtained directly from
Ceyoniq.&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>nplus-application</title><link>https://www.nplus.cloud/docs/charts/application/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/application/</guid><description>&lt;h1 id="nplus-application"&gt;nplus-application&lt;a class="anchor" href="#nplus-application"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nplus Application, used to install Apps and Customizations into the nscale Application Layer.&lt;/p&gt;
&lt;h2 id="appinstaller"&gt;AppInstaller&lt;a class="anchor" href="#appinstaller"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In order to install Apps, you will need a matching AppInstaller. This can be downloaded from the Ceyoniq Service Portal.
Once you have it, copy it the pool folder (or any other place where the application chart has access to):&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;kubectl cp app-installer-9.0.1202.jar nplus-toolbox-0:/conf/pool&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="ceyoniq-smart-business-apps-sbs"&gt;Ceyoniq Smart Business Apps (SBS)&lt;a class="anchor" href="#ceyoniq-smart-business-apps-sbs"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The SBS Apps are automatically downloaded from the official Ceyoniq nstore by a job in the &lt;em&gt;nplus environment&lt;/em&gt;, if you switched it on during the environment installation:&lt;/p&gt;</description></item><item><title>nplus-cluster</title><link>https://www.nplus.cloud/docs/charts/cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/cluster/</guid><description>&lt;h1 id="nplus-cluster"&gt;nplus-cluster&lt;a class="anchor" href="#nplus-cluster"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Installs Cluster-Wide Resources such as CRDs&lt;/p&gt;</description></item><item><title>nplus-component-administrator</title><link>https://www.nplus.cloud/docs/charts/administrator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/administrator/</guid><description>&lt;h1 id="nplus-component-administrator"&gt;nplus-component-administrator&lt;a class="anchor" href="#nplus-component-administrator"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale Administrator, providing the Web Version of the Administrator to be used in the Instance&lt;/p&gt;
&lt;h2 id="nplus-component-administrator-chart-configuration"&gt;nplus-component-administrator Chart Configuration&lt;a class="anchor" href="#nplus-component-administrator-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-administrator 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-component-cmis</title><link>https://www.nplus.cloud/docs/charts/cmis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/cmis/</guid><description>&lt;h1 id="nplus-component-cmis"&gt;nplus-component-cmis&lt;a class="anchor" href="#nplus-component-cmis"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale CMIS Connector, provides a CMIS Interface to the Instance&lt;/p&gt;
&lt;h2 id="nplus-component-cmis-chart-configuration"&gt;nplus-component-cmis Chart Configuration&lt;a class="anchor" href="#nplus-component-cmis-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-cmis 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-component-database</title><link>https://www.nplus.cloud/docs/charts/database/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/database/</guid><description>&lt;h1 id="nplus-component-database"&gt;nplus-component-database&lt;a class="anchor" href="#nplus-component-database"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Postgres Database, deploys a DEV or TESTING environment DB&lt;/p&gt;
&lt;h2 id="nplus-component-database-chart-configuration"&gt;nplus-component-database Chart Configuration&lt;a class="anchor" href="#nplus-component-database-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-database 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-component-erpcmis</title><link>https://www.nplus.cloud/docs/charts/erpcmis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/erpcmis/</guid><description>&lt;h1 id="nplus-component-erpcmis"&gt;nplus-component-erpcmis&lt;a class="anchor" href="#nplus-component-erpcmis"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale ERP CMIS, providing SAP S/4 HANA Public Cloud Archive Access&lt;/p&gt;
&lt;h2 id="nplus-component-erpcmis-chart-configuration"&gt;nplus-component-erpcmis Chart Configuration&lt;a class="anchor" href="#nplus-component-erpcmis-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-erpcmis 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-component-erpproxy</title><link>https://www.nplus.cloud/docs/charts/erpproxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/erpproxy/</guid><description>&lt;h1 id="nplus-component-erpproxy"&gt;nplus-component-erpproxy&lt;a class="anchor" href="#nplus-component-erpproxy"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale ERP Proxy, providing SAP Archive Link access to alien Archive Components&lt;/p&gt;
&lt;h1 id="single-server-with-multiple-replicas-and-same-config"&gt;Single Server with multiple Replicas (and same Config)&lt;a class="anchor" href="#single-server-with-multiple-replicas-and-same-config"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;In the instance, configure&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;components:
 sharepoint: true
sharepoint:
 replicas: 2&lt;/code&gt;&lt;/pre&gt;&lt;h1 id="multiple-servers-with-different-configs"&gt;Multiple Servers with different Configs&lt;a class="anchor" href="#multiple-servers-with-different-configs"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;components:
 sharepointa: true
 sharepointb: true
sharepointa:
 replicas: 1
sharepointb:
 replicas: 1&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;this way, you will have two sharepoint instances with different config.&lt;/p&gt;
&lt;h2 id="nplus-component-erpproxy-chart-configuration"&gt;nplus-component-erpproxy Chart Configuration&lt;a class="anchor" href="#nplus-component-erpproxy-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-erpproxy 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.&lt;/p&gt;</description></item><item><title>nplus-component-ilm</title><link>https://www.nplus.cloud/docs/charts/ilm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/ilm/</guid><description>&lt;h1 id="nplus-component-ilm"&gt;nplus-component-ilm&lt;a class="anchor" href="#nplus-component-ilm"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale ILM Connector, providing a certified SAP ILM interface&lt;/p&gt;
&lt;h2 id="nplus-component-ilm-chart-configuration"&gt;nplus-component-ilm Chart Configuration&lt;a class="anchor" href="#nplus-component-ilm-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-ilm 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-component-mon</title><link>https://www.nplus.cloud/docs/charts/mon/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/mon/</guid><description>&lt;h1 id="nplus-component-mon"&gt;nplus-component-mon&lt;a class="anchor" href="#nplus-component-mon"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale Monitoring Console, used to provide sensor information from all components to dashboards&lt;/p&gt;
&lt;h2 id="generelle-informationen"&gt;Generelle Informationen&lt;a class="anchor" href="#generelle-informationen"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Wenn Ressourcen im Admin hinzugefügt werden, müssen nachträglich die Namen der Server geändert werden.
Diese heißen üblicherweise &lt;instance&gt;-nappl oder &lt;instance&gt;-nstl.
Also z.B. rms-nappl und rms-nstl&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="nplus-component-mon-chart-configuration"&gt;nplus-component-mon Chart Configuration&lt;a class="anchor" href="#nplus-component-mon-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-mon 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.&lt;/p&gt;</description></item><item><title>nplus-component-nappl</title><link>https://www.nplus.cloud/docs/charts/nappl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/nappl/</guid><description>&lt;h1 id="nplus-component-nappl"&gt;nplus-component-nappl&lt;a class="anchor" href="#nplus-component-nappl"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale Server Application Layer, the central component in the nscale ecosystem&lt;/p&gt;
&lt;h2 id="nplus-component-nappl-chart-configuration"&gt;nplus-component-nappl Chart Configuration&lt;a class="anchor" href="#nplus-component-nappl-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-nappl 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-component-nstl</title><link>https://www.nplus.cloud/docs/charts/nstl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/nstl/</guid><description>&lt;h1 id="nplus-component-nstl"&gt;nplus-component-nstl&lt;a class="anchor" href="#nplus-component-nstl"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale Server Storage Layer, virtualizing the storage to be used by the nscale Server&lt;/p&gt;
&lt;h2 id="server-ids"&gt;Server Ids&lt;a class="anchor" href="#server-ids"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;if you use nstlHA, both server must have unique server IDs.
Since the probaly use the same license file, you can set it via&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;nstla:
 serverId: 4711
nstlb:
 serverId: 4712&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;to make this work, you &lt;strong&gt;must&lt;/strong&gt; have a license without nstl ServerID in it.&lt;/p&gt;
&lt;h2 id="high-availability"&gt;High Availability&lt;a class="anchor" href="#high-availability"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;nscale Server Storage Layer&lt;/em&gt; does not support multiple replicas because of configuration restraints. To get HA,
nplus defines nstl[a-d].&lt;/p&gt;</description></item><item><title>nplus-component-pam</title><link>https://www.nplus.cloud/docs/charts/pam/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/pam/</guid><description>&lt;h1 id="nplus-component-pam"&gt;nplus-component-pam&lt;a class="anchor" href="#nplus-component-pam"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale Process Automation Modeler, providing Web UI Modeler for PAP&lt;/p&gt;
&lt;h2 id="nplus-component-pam-chart-configuration"&gt;nplus-component-pam Chart Configuration&lt;a class="anchor" href="#nplus-component-pam-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-pam 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-component-pipeliner</title><link>https://www.nplus.cloud/docs/charts/pipeliner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/pipeliner/</guid><description>&lt;h1 id="nplus-component-pipeliner"&gt;nplus-component-pipeliner&lt;a class="anchor" href="#nplus-component-pipeliner"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale Pipeliner, the mass import / export tool of nscale&lt;/p&gt;
&lt;h2 id="nplus-component-pipeliner-chart-configuration"&gt;nplus-component-pipeliner Chart Configuration&lt;a class="anchor" href="#nplus-component-pipeliner-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-pipeliner 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-component-postgres</title><link>https://www.nplus.cloud/docs/charts/postgres/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/postgres/</guid><description>&lt;h1 id="nplus-component-postgres"&gt;nplus-component-postgres&lt;a class="anchor" href="#nplus-component-postgres"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Postgres Database, deploys the official Postgres image&lt;/p&gt;
&lt;h2 id="nplus-component-postgres-chart-configuration"&gt;nplus-component-postgres Chart Configuration&lt;a class="anchor" href="#nplus-component-postgres-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-postgres 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h3 id="template-functions"&gt;Template Functions&lt;a class="anchor" href="#template-functions"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;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).&lt;/p&gt;</description></item><item><title>nplus-component-rms</title><link>https://www.nplus.cloud/docs/charts/rms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/rms/</guid><description>&lt;h1 id="nplus-component-rms"&gt;nplus-component-rms&lt;a class="anchor" href="#nplus-component-rms"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nplus Remote Management Server incl. RMS and Access Proxy&lt;/p&gt;
&lt;h2 id="generelle-informationen"&gt;Generelle Informationen&lt;a class="anchor" href="#generelle-informationen"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Das RMS Chart simuliert einen Server, auf dem alle nscale Komponenten installiert sind. Dieser kann dann per
nscale Administrator zugegriffen werden. Der Ingress dafür ist admin.&lt;domain&gt;.&lt;/p&gt;
&lt;p&gt;Das funktioniert nur mit RMS 2 und einem neuen Admin ab Version 9.2&lt;/p&gt;
&lt;h2 id="bash-into"&gt;Bash into&lt;a class="anchor" href="#bash-into"&gt;#&lt;/a&gt;&lt;/h2&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-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#ff5c57"&gt;exec&lt;/span&gt; --stdin --tty rms-rms-0 -- bash&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="logs"&gt;Logs&lt;a class="anchor" href="#logs"&gt;#&lt;/a&gt;&lt;/h2&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-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl logs rms-rms-0 -c proxy
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl logs rms-rms-0 -c rms&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="nplus-component-rms-chart-configuration"&gt;nplus-component-rms Chart Configuration&lt;a class="anchor" href="#nplus-component-rms-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-rms 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.&lt;/p&gt;</description></item><item><title>nplus-component-rs</title><link>https://www.nplus.cloud/docs/charts/rs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/rs/</guid><description>&lt;h1 id="nplus-component-rs"&gt;nplus-component-rs&lt;a class="anchor" href="#nplus-component-rs"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale Rendition Server, providing means to format-convert common file types&lt;/p&gt;
&lt;h2 id="nplus-component-rs-chart-configuration"&gt;nplus-component-rs Chart Configuration&lt;a class="anchor" href="#nplus-component-rs-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-rs 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-component-sharepoint</title><link>https://www.nplus.cloud/docs/charts/sharepoint/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/sharepoint/</guid><description>&lt;h1 id="nplus-component-sharepoint"&gt;nplus-component-sharepoint&lt;a class="anchor" href="#nplus-component-sharepoint"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale SharePoint Connector, providing SP archiving to the Instance&lt;/p&gt;
&lt;h1 id="single-server-with-multiple-replicas-and-same-config"&gt;Single Server with multiple Replicas (and same Config)&lt;a class="anchor" href="#single-server-with-multiple-replicas-and-same-config"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;In the instance, configure&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;components:
 sharepoint: true
sharepoint:
 replicas: 2&lt;/code&gt;&lt;/pre&gt;&lt;h1 id="multiple-servers-with-different-configs"&gt;Multiple Servers with different Configs&lt;a class="anchor" href="#multiple-servers-with-different-configs"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;components:
 sharepointa: true
 sharepointb: true
sharepointa:
 replicas: 1
sharepointb:
 replicas: 1&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;this way, you will have two sharepoint instances with different config.&lt;/p&gt;
&lt;h1 id="cluster-service"&gt;Cluster Service&lt;a class="anchor" href="#cluster-service"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;in multi server mode, the Instance Chart deploys a sharepoint cluster service that balances across sharepoint A and B.&lt;/p&gt;</description></item><item><title>nplus-component-web</title><link>https://www.nplus.cloud/docs/charts/web/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/web/</guid><description>&lt;h1 id="nplus-component-web"&gt;nplus-component-web&lt;a class="anchor" href="#nplus-component-web"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale Web, providing a modern Web UI to nscale users&lt;/p&gt;
&lt;h2 id="tls--https"&gt;tls / https&lt;a class="anchor" href="#tls--https"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;nscale Web is &lt;strong&gt;not&lt;/strong&gt; automatically enabling tls / https and also does currently &lt;strong&gt;not&lt;/strong&gt; automatically generate a certificate for tls.&lt;/p&gt;
&lt;p&gt;However, the nplus Web Chart does, and stores it in &lt;code&gt;conf/keystore.jks&lt;/code&gt;. Additionally, if there is no &lt;code&gt;server.xml&lt;/code&gt; in the conf directory, nplus copies a custom &lt;code&gt;server.xml&lt;/code&gt; to conf, that has tls enabled and references &lt;code&gt;conf/keystore.jks&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you already have a running web componenent, and want to use tls with web, you will need to edit this file manually. See ITSMSD-8772.&lt;/p&gt;</description></item><item><title>nplus-component-webdav</title><link>https://www.nplus.cloud/docs/charts/webdav/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/webdav/</guid><description>&lt;h1 id="nplus-component-webdav"&gt;nplus-component-webdav&lt;a class="anchor" href="#nplus-component-webdav"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nscale WebDAV Connector, providing a standard WebDAV interface to the Instance&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;a class="anchor" href="#usage"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;https://empty.lab.nplus.cloud/dav/nscalealinst1/Sample&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="nplus-component-webdav-chart-configuration"&gt;nplus-component-webdav Chart Configuration&lt;a class="anchor" href="#nplus-component-webdav-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-component-webdav 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-environment</title><link>https://www.nplus.cloud/docs/charts/environment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/environment/</guid><description>&lt;h1 id="nplus-environment"&gt;nplus-environment&lt;a class="anchor" href="#nplus-environment"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Installs Namespace-Wide Resources such as the conf PVC, the toolbox and the nplus monitoring service&lt;/p&gt;
&lt;p&gt;This Environment Chart provides a common config pool and administrative tools to
operate all nplus instances in this namespace.
There must be exactly one deployed instance of this environment chart per kubernetes namespace.
Without the environment, the instance and component charts will fail to deploy.&lt;/p&gt;
&lt;p&gt;It also deployes the operator, which is a monitoring component to observe all instances and provide
healthyness information to the administrator and third party dashboards&lt;/p&gt;</description></item><item><title>nplus-environment-backend</title><link>https://www.nplus.cloud/docs/charts/envbackend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/envbackend/</guid><description>&lt;h1 id="nplus-environment-backend"&gt;nplus-environment-backend&lt;a class="anchor" href="#nplus-environment-backend"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Installs Namespace-Wide Resources such as the conf PVC and the ptemp PVC&lt;/p&gt;
&lt;h2 id="nplus-environment-backend-chart-configuration"&gt;nplus-environment-backend Chart Configuration&lt;a class="anchor" href="#nplus-environment-backend-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-environment-backend 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-environment-dav</title><link>https://www.nplus.cloud/docs/charts/envdav/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/envdav/</guid><description>&lt;h1 id="nplus-environment-dav"&gt;nplus-environment-dav&lt;a class="anchor" href="#nplus-environment-dav"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Provides WebDAV access to environment resources such as the conf PVC and the ptemp PVC&lt;/p&gt;
&lt;h2 id="nplus-environment-dav-chart-configuration"&gt;nplus-environment-dav Chart Configuration&lt;a class="anchor" href="#nplus-environment-dav-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-environment-dav 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-environment-operator</title><link>https://www.nplus.cloud/docs/charts/envoperator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/envoperator/</guid><description>&lt;h1 id="nplus-environment-operator"&gt;nplus-environment-operator&lt;a class="anchor" href="#nplus-environment-operator"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Installs the nplus operator managin the custom resource definitions for nplus and nscale&lt;/p&gt;
&lt;h2 id="nplus-environment-operator-chart-configuration"&gt;nplus-environment-operator Chart Configuration&lt;a class="anchor" href="#nplus-environment-operator-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-environment-operator 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-environment-toolbox</title><link>https://www.nplus.cloud/docs/charts/envtoolbox/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/envtoolbox/</guid><description>&lt;h1 id="nplus-environment-toolbox"&gt;nplus-environment-toolbox&lt;a class="anchor" href="#nplus-environment-toolbox"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Installs the environment toolbox with git and nstore downloader installed, also serving as target for pool copy actions in the pipeline&lt;/p&gt;
&lt;h2 id="nplus-environment-toolbox-chart-configuration"&gt;nplus-environment-toolbox Chart Configuration&lt;a class="anchor" href="#nplus-environment-toolbox-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-environment-toolbox 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-instance</title><link>https://www.nplus.cloud/docs/charts/instance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/instance/</guid><description>&lt;h1 id="nplus-instance"&gt;nplus-instance&lt;a class="anchor" href="#nplus-instance"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nplus Instance, an umbrella chart for orchestrating the components in a nplus Instance&lt;/p&gt;
&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 want to separate tenants on your system not only by instance but also by environment / namespace, you can run &lt;em&gt;nplus&lt;/em&gt; in &lt;em&gt;single instance mode&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;SIM (Single Instance Mode) lets you deploy your instance including all components of the environment in one single chart.&lt;/p&gt;
&lt;p&gt;Steps to turn on single instance mode:&lt;/p&gt;</description></item><item><title>nplus-instance-argo</title><link>https://www.nplus.cloud/docs/charts/instance-argo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/instance-argo/</guid><description>&lt;h1 id="nplus-instance-argo"&gt;nplus-instance-argo&lt;a class="anchor" href="#nplus-instance-argo"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nplus Instance ArgoCD Edition, supporting the deployment of npus Instances through ArgoCD&lt;/p&gt;
&lt;h2 id="nplus-instance-argo-chart-configuration"&gt;nplus-instance-argo Chart Configuration&lt;a class="anchor" href="#nplus-instance-argo-chart-configuration"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You can customize / configure nplus-instance-argo 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>nplus-prepper</title><link>https://www.nplus.cloud/docs/charts/prepper/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/docs/charts/prepper/</guid><description>&lt;h1 id="nplus-prepper"&gt;nplus-prepper&lt;a class="anchor" href="#nplus-prepper"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;nplus Prepper, used to deploy assets prior to component deployment&lt;/p&gt;
&lt;p&gt;The &lt;em&gt;Prepper&lt;/em&gt; prepares everything required for the Instance to work as intended. It is very much like the &lt;em&gt;Application&lt;/em&gt;, except that it does not connect to any nscale component (as they do not yet run by the time the prepper executes). But just like the Application, the Prepper is able to download assets and run scripts.&lt;/p&gt;
&lt;p&gt;You can add this to your (instance-) deployment:&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>Privacy</title><link>https://www.nplus.cloud/privacy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.nplus.cloud/privacy/</guid><description>&lt;h1 id="privacy"&gt;Privacy&lt;a class="anchor" href="#privacy"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This website is a static site. It sets no cookies, uses no tracking and loads
no resources from third parties. The search runs entirely in your browser.&lt;/p&gt;
&lt;p&gt;When you visit the site, the web server processes the technically necessary
connection data (IP address, time, requested page, browser identification) to
deliver the pages and to protect the server against abuse. This data is not
merged with other data (Art. 6 (1) (f) GDPR).&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>