{"componentChunkName":"component---src-templates-doc-page-tsx","path":"/de/docs/dogus/cas/development/Upgrading_CAS/","result":{"data":{"markdownRemark":{"html":"<h2 id=\"cas-aktualisieren\" style=\"position:relative;\"><a href=\"#cas-aktualisieren\" aria-label=\"cas aktualisieren permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>CAS aktualisieren</h2>\n<p>Ein Leitfaden, um dieses Dogu auf ein neues Apereo-CAS-Release zu heben. Er beschreibt, <strong>was zu tun\nist und in welcher Reihenfolge</strong>, und — genauso wichtig — <strong>was erneut zu prüfen ist</strong>, denn dieses Overlay\nbringt eigenen Java-Code und eigene Templates mit, die von CAS-Interna abhängen, welche sich zwischen\nVersionen verändern können.</p>\n<hr>\n<h3 id=\"0-was-beim-cas-upgrade-zu-beachten-ist\" style=\"position:relative;\"><a href=\"#0-was-beim-cas-upgrade-zu-beachten-ist\" aria-label=\"0 was beim cas upgrade zu beachten ist permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>0. Was beim CAS-Upgrade zu beachten ist</h3>\n<p>Diese Tatsachen prägen das gesamte Upgrade:</p>\n<ol>\n<li><strong>Die CAS-Version gibt die Spring-Boot- und Tomcat-Versionen vor.</strong> <code class=\"language-text\">app/build.gradle</code> zieht\n<code class=\"language-text\">enforcedPlatform(&quot;org.apereo.cas:cas-server-support-bom:&lt;cas.version&gt;&quot;)</code>. Hebe Spring Boot oder das\ngebündelte Tomcat <strong>nicht</strong> unabhängig an — richte sie an dem aus, was das Ziel-CAS-Release erwartet.</li>\n<li><strong>Jede Anpassung ist eine Kopplung an CAS.</strong> Eigener Java-Code überschreibt CAS-Beans/Webflow namentlich;\neigene Templates rendern CAS-Modellobjekte und posten an CAS-Webflow-Events. Ein CAS-Upgrade kann eine\nBean, einen Webflow-State, eine Property oder ein Template-Modellfeld umbenennen und eine Anpassung\n<strong>stillschweigend</strong> brechen (kein Compile-Fehler). Versuche solche Abweichungen zu minimieren.</li>\n<li>Unsere Anpassung liefert keine Material-Styles aus, sondern unsere eigenen. Rechne also bei neuen\nUI-Features mit der Notwendigkeit, <strong>nachzustylen</strong>.</li>\n</ol>\n<hr>\n<h3 id=\"1-die-versionen-anheben-als-ein-gekoppeltes-set\" style=\"position:relative;\"><a href=\"#1-die-versionen-anheben-als-ein-gekoppeltes-set\" aria-label=\"1 die versionen anheben als ein gekoppeltes set permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1. Die Versionen anheben (als ein gekoppeltes Set)</h3>\n<table>\n<thead>\n<tr>\n<th>Was</th>\n<th>Wo (in diesem Repo)</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CAS</td>\n<td><code class=\"language-text\">app/gradle.properties</code> → <code class=\"language-text\">cas.version</code></td>\n</tr>\n<tr>\n<td>Spring-Boot-Plugin</td>\n<td><code class=\"language-text\">app/gradle.properties</code> → <code class=\"language-text\">springBootVersion</code> (muss zur CAS-BOM passen)</td>\n</tr>\n<tr>\n<td>Tomcat (Embedded-Referenz)</td>\n<td><code class=\"language-text\">app/gradle.properties</code> → <code class=\"language-text\">tomcatVersion</code></td>\n</tr>\n<tr>\n<td>Tomcat (standalone, ins Image gebacken — das, das tatsächlich ausliefert)</td>\n<td><code class=\"language-text\">Dockerfile</code> → <code class=\"language-text\">TOMCAT_MAJOR_VERSION</code>, <code class=\"language-text\">TOMCAT_VERSION</code>, <strong>und</strong> <code class=\"language-text\">TOMCAT_TARGZ_SHA512</code></td>\n</tr>\n<tr>\n<td>Java</td>\n<td><code class=\"language-text\">gradle.properties</code>, <code class=\"language-text\">system.properties</code>, beide Docker-Base-Images</td>\n</tr>\n</tbody>\n</table>\n<blockquote>\n<p>Hinweis zu Tomcat: <code class=\"language-text\">app/build.gradle</code> schließt <code class=\"language-text\">org.apache.tomcat.embed</code> aus, die War wird also <strong>nicht</strong>\nauf dem eingebetteten Tomcat ausgeführt — sie wird in das <strong>standalone</strong>-Tomcat deployt, das vom\n<code class=\"language-text\">Dockerfile</code> ins Image gebacken wird. Die <code class=\"language-text\">Dockerfile</code>-ARGs sind daher die maßgebliche Tomcat-Version.\nHalte <code class=\"language-text\">tomcatVersion</code> in <code class=\"language-text\">app/gradle.properties</code> trotzdem abgeglichen (vermeidet Verwirrung), und\n<strong>aktualisiere immer <code class=\"language-text\">TOMCAT_TARGZ_SHA512</code></strong> — es ist die SHA-512 der heruntergeladenen\n<code class=\"language-text\">apache-tomcat-&lt;version&gt;.tar.gz</code>; eine veraltete Prüfsumme lässt den Image-Build fehlschlagen. Beziehe die\nneue Prüfsumme aus Apaches veröffentlichter <code class=\"language-text\">.sha512</code>-Datei für dieses Tomcat-Release.</p>\n</blockquote>\n<h4 id=\"wo-man-die-korrekten-spring-boot--und-tomcat-versionen-für-ein-cas-release-nachliest\" style=\"position:relative;\"><a href=\"#wo-man-die-korrekten-spring-boot--und-tomcat-versionen-f%C3%BCr-ein-cas-release-nachliest\" aria-label=\"wo man die korrekten spring boot  und tomcat versionen für ein cas release nachliest permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Wo man die <em>korrekten</em> Spring-Boot- und Tomcat-Versionen für ein CAS-Release nachliest</h4>\n<p>Rate nicht und hebe diese nicht unabhängig an. Die Versionen, gegen die ein bestimmtes CAS-Release gebaut und\ngetestet wird, kommen von upstream, in dieser Präferenzreihenfolge:</p>\n<ol>\n<li><strong>Das Apereo-Repo <code class=\"language-text\">cas-overlay-template</code> — die kanonische Quelle.</strong> Dieses Projekt ist danach aufgebaut.\nChecke den Branch aus, der zur <strong>Minor</strong>-Linie des Ziel-CAS passt (z. B. <code class=\"language-text\">7.3</code>), und lies dessen\n<code class=\"language-text\">gradle.properties</code>: es pinnt <code class=\"language-text\">springBootVersion</code> und referenziert <code class=\"language-text\">tomcatVersion</code> (die Tomcat-Zeile ist\nals Kommentar vorhanden, z. B. <code class=\"language-text\"># tomcatVersion=11.0.22</code>) für genau diese CAS-Linie.\n→ <code class=\"language-text\">https://github.com/apereo/cas-overlay-template/blob/&lt;minor&gt;/gradle.properties</code></li>\n<li><strong>Gegenprüfen anhand des <code class=\"language-text\">cas-server-support-bom</code>-POM</strong> für die exakte Patch-Version — es ist das, was\n<code class=\"language-text\">enforcedPlatform(...)</code> zur Build-Zeit auflöst, also die Grundwahrheit für die <em>Library</em>-Versionen, die\nauf dem Classpath landen (hier ist die Patch-Version enthalten, z. B. <code class=\"language-text\">7.3.7</code>).\n→ <code class=\"language-text\">https://repo1.maven.org/maven2/org/apereo/cas/cas-server-support-bom/&lt;cas.version&gt;/cas-server-support-bom-&lt;cas.version&gt;.pom</code></li>\n<li><strong>Die CAS-Release-Notes / <code class=\"language-text\">What&#39;s New</code>-Doku</strong> für die wichtigsten Spring-Boot-/Java-Anforderungen und\netwaige Breaking Changes (siehe §8, wie man zwischen Versionen difft).</li>\n</ol>\n<p>Setze <code class=\"language-text\">cas.version</code> auf den Ziel-Patch, dann setze <code class=\"language-text\">springBootVersion</code> (und die Tomcat-Versionen) auf das,\nwas diese CAS-Linie gemäß der obigen Quelle pinnt. Java ergibt sich aus der Spring-Boot-Baseline (Spring Boot\n3.x → JDK 17+, dieses Overlay nutzt 21).</p>\n<hr>\n<h3 id=\"2-build--unit-tests-schnelle-innere-schleife--kein-laufendes-cas-nötig\" style=\"position:relative;\"><a href=\"#2-build--unit-tests-schnelle-innere-schleife--kein-laufendes-cas-n%C3%B6tig\" aria-label=\"2 build  unit tests schnelle innere schleife  kein laufendes cas nötig permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2. Build + Unit-Tests (schnelle innere Schleife — kein laufendes CAS nötig)</h3>\n<p>Der Build benötigt <strong>JDK 21+</strong> (das Spring-Boot-Plugin verlangt es). Vom Repo-Root aus:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token builtin class-name\">cd</span> app <span class=\"token operator\">&amp;&amp;</span> <span class=\"token assign-left variable\">JAVA_HOME</span><span class=\"token operator\">=</span><span class=\"token operator\">&lt;</span>path-to-jdk-2<span class=\"token operator\"><span class=\"token file-descriptor important\">1</span>></span> ./gradlew clean build   <span class=\"token comment\"># kompilieren + vollständige Unit-Test-Suite</span>\n<span class=\"token builtin class-name\">cd</span> app <span class=\"token operator\">&amp;&amp;</span> <span class=\"token assign-left variable\">JAVA_HOME</span><span class=\"token operator\">=</span><span class=\"token operator\">&lt;</span>path-to-jdk-2<span class=\"token operator\"><span class=\"token file-descriptor important\">1</span>></span> ./gradlew <span class=\"token builtin class-name\">test</span>          <span class=\"token comment\"># nur die Tests</span></code></pre></div>\n<p>CI macht dasselbe in der Jenkins-Stage <strong>Gradle Build &#x26; Test</strong>: <code class=\"language-text\">clean build</code>\ndann <code class=\"language-text\">test</code>.</p>\n<hr>\n<h3 id=\"3-das-theme-css-neu-bauen-falls-du-irgendein-template-angefasst-hast\" style=\"position:relative;\"><a href=\"#3-das-theme-css-neu-bauen-falls-du-irgendein-template-angefasst-hast\" aria-label=\"3 das theme css neu bauen falls du irgendein template angefasst hast permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>3. Das Theme-CSS neu bauen, <em>falls du irgendein Template angefasst hast</em></h3>\n<p><code class=\"language-text\">app/src/main/resources/static/css/ces-theme-tailwind.css</code> ist ein <strong>generiertes Artefakt</strong>. Tailwind gibt\nnur Regeln für Klassen-Strings aus, die es beim Scannen der Templates findet, daher ist jede Klasse, die du\nhinzufügst (inklusive beliebiger Werte wie <code class=\"language-text\">w-[20px]</code>), ein stilles No-op, bis das CSS neu generiert wird.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">yarn</span> <span class=\"token function\">install</span>     <span class=\"token comment\"># einmalig, um node_modules zu befüllen</span>\n<span class=\"token function\">yarn</span> tw          <span class=\"token comment\"># regeneriert static/css/ces-theme-tailwind.css</span></code></pre></div>\n<p>Committe das neu generierte CSS zusammen mit der Template-Änderung und mache dann beim Testen im Browser ein\nHard-Refresh.</p>\n<hr>\n<h3 id=\"4-integrationstests--single-node\" style=\"position:relative;\"><a href=\"#4-integrationstests--single-node\" aria-label=\"4 integrationstests  single node permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4. Integrationstests — Single Node</h3>\n<p>Die Cypress-Suite (<code class=\"language-text\">integrationTests/</code>) läuft gegen ein <strong>bereits laufendes</strong> CAS; sie bootet CAS nicht\nselbst. Bringe CAS zuerst hoch (manuell für einen lokalen Lauf, oder die Pipeline tut es in der CI), siehe\n<a href=\"/de/docs/dogus/cas/development/Setup_Integrationtests/\">IT-Docs</a></p>\n<hr>\n<h3 id=\"5-integrationstests--multinode-jenkins-parameter\" style=\"position:relative;\"><a href=\"#5-integrationstests--multinode-jenkins-parameter\" aria-label=\"5 integrationstests  multinode jenkins parameter permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5. Integrationstests — Multinode (Jenkins-Parameter)</h3>\n<p>Die Pipeline führt die Suite auch auf einem <strong>Multinode-(k8s-)Ecosystem</strong> aus. Das sind die <code class=\"language-text\">MN-*</code>-Stages\n(<code class=\"language-text\">MN-Run Integration Tests</code> usw.), die über <code class=\"language-text\">pipe.agentMultinode</code> im <code class=\"language-text\">Jenkinsfile</code> an den Multinode-Agent\ngehängt werden.</p>\n<p>Der Multinode-Lauf ist <strong>durch den Build-Parameter <code class=\"language-text\">PipelineMode</code></strong> gesteuert, der von <code class=\"language-text\">DoguPipe</code>\n(pipe-build-lib) geliefert wird, nicht im <code class=\"language-text\">Jenkinsfile</code> hartcodiert. Um ihn auszuführen:</p>\n<ol>\n<li>Öffne in Jenkins den Job und wähle <strong>Build with Parameters</strong>.</li>\n<li>Setze <strong><code class=\"language-text\">PipelineMode</code></strong> auf <strong><code class=\"language-text\">INTEGRATIONMULTINODE</code></strong>.</li>\n<li>Starte den Build. Die <code class=\"language-text\">MN-*</code>-Stage-Gruppe provisioniert das Multinode-Ecosystem, richtet Keycloak\n(OIDC-Provider für die OIDC/OAuth-Specs) über die <code class=\"language-text\">integrationTests/k8s</code>-Manifeste ein, deployt das\nCAS-Dogu und führt dieselben Cypress-Specs aus.</li>\n</ol>\n<hr>\n<h3 id=\"6-smoke-test-manuell--die-dinge-die-ci-nicht-abdecken-kann\" style=\"position:relative;\"><a href=\"#6-smoke-test-manuell--die-dinge-die-ci-nicht-abdecken-kann\" aria-label=\"6 smoke test manuell  die dinge die ci nicht abdecken kann permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>6. Smoke-Test (manuell — die Dinge, die CI nicht abdecken kann)</h3>\n<p>Nachdem die automatisierten Suites durchlaufen, mache einen kurzen manuellen Durchgang gegen eine laufende\nInstanz. Minimum:</p>\n<ul>\n<li><strong>Einfaches Login / Logout.</strong></li>\n<li><strong>CAS, OAuth und OIDC</strong>: Installiere mindestens ein cas-Typ-, ein oauth-Typ- und ein oidc-Typ-Dogu und\nteste Single-Login / Single-Logout mit ihnen (z. B. Redmine, Bluespice/Teamscale, ??? (OAuth aktuell nicht\nvorhanden)).</li>\n<li><strong>Passwortänderung</strong> während eines erzwungenen „muss ändern\"-Logins (lege einen neuen Benutzer mit\n„Passwort beim nächsten Login ändern\" an).</li>\n<li>\n<p><strong>gauth MFA</strong> (erfordert in der CAS-Config aktiviertes MFA + einen CAS-Neustart — <strong>sehr wichtig</strong>, da\nnicht von Cypress abgedeckt):</p>\n<ul>\n<li>ein Gerät registrieren (falscher Token → Inline-Fehler, bleibt auf der Seite; korrekter Token →\nregistriert);</li>\n<li><strong>ein Gerät löschen</strong>: ein <em>falscher</em> Code muss die Bestätigungsansicht erneut mit einem roten Fehler\nzeigen und das Gerät behalten — <strong>kein</strong> HTTP 500; ein gültiger OTP-/Scratch-Code entfernt es. <em>(Ein 500\nhier ist das Signal, dass das Override der gauth-Bean nicht mehr funktioniert.)</em></li>\n</ul>\n</li>\n<li>\n<p><strong>Föderiertes Login</strong> (erfordert einen in der CAS-Config konfigurierten föderierten Provider + einen\nCAS-Neustart):</p>\n<ul>\n<li><strong>Login</strong> mit einem föderierten Provider;</li>\n<li><strong>Logout</strong> mit einem föderierten Provider.</li>\n</ul>\n</li>\n</ul>\n<hr>\n<h3 id=\"7-anpassungs-inventar--dateien-auf-die-zu-achten-ist\" style=\"position:relative;\"><a href=\"#7-anpassungs-inventar--dateien-auf-die-zu-achten-ist\" aria-label=\"7 anpassungs inventar  dateien auf die zu achten ist permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>7. Anpassungs-Inventar — Dateien, auf die zu achten ist</h3>\n<ul>\n<li>Eigener Java-Code (<code class=\"language-text\">app/src/main/java/de/triology/cas/</code>)</li>\n<li>Eigene Templates &#x26; Properties (<code class=\"language-text\">app/src/main/resources/</code>)</li>\n<li>\n<p>Config-Templates (<code class=\"language-text\">resources/etc/cas/config/*.tpl</code>)</p>\n<ul>\n<li><code class=\"language-text\">cas.properties.tpl</code> enthält bewusste Overrides von CAS-Defaults. Wenn CAS einen Default ändert,\nbewerte neu, ob das Override noch nötig ist oder nun in Konflikt steht.</li>\n</ul>\n</li>\n</ul>\n<hr>\n<h3 id=\"8-tipps--wie-man-tatsächlich-findet-was-sich-geändert-hat\" style=\"position:relative;\"><a href=\"#8-tipps--wie-man-tats%C3%A4chlich-findet-was-sich-ge%C3%A4ndert-hat\" aria-label=\"8 tipps  wie man tatsächlich findet was sich geändert hat permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>8. Tipps — wie man tatsächlich findet, was sich geändert hat</h3>\n<p>Der schwierige Teil eines CAS-Upgrades ist nicht das Anheben der Version; es ist das Finden der <strong>stillen</strong>\nBreakages, bei denen CAS eine Bean umbenannt, einen Webflow-State verschoben, einen Property-Default geändert\noder ein Standard-Template/eine Standard-Action bearbeitet hat, das/die wir kopiert und angepasst haben.\nKeine davon lässt den Compile fehlschlagen. Die obigen Tests sollten diese Probleme aufdecken. Zum Analysieren können\nfolgende Tipps und Techniken helfen:</p>\n<h4 id=\"81-zuerst-das-upstream-cas-overlay-template-zwischen-den-beiden-linien-diffen\" style=\"position:relative;\"><a href=\"#81-zuerst-das-upstream-cas-overlay-template-zwischen-den-beiden-linien-diffen\" aria-label=\"81 zuerst das upstream cas overlay template zwischen den beiden linien diffen permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>8.1 Zuerst das upstream <code class=\"language-text\">cas-overlay-template</code> zwischen den beiden Linien diffen</h4>\n<p>Das ist der günstigste Schritt mit dem höchsten Signal. Das Overlay-Template ist klein und zeigt genau, was\ndas <em>Projekt-Gerüst</em> geändert hat (Gradle, Plugins, Dockerfile, Base-Config).</p>\n<p>⚠️ <strong>GitHubs <code class=\"language-text\">/compare/&lt;old&gt;...&lt;new&gt;</code> funktioniert hier NICHT.</strong> Die per-Linie-Branches des Overlay-Templates\nsind jeweils <em>automatisch generiert</em> aus dem CAS-Initializr — sie teilen sich <strong>keine gemeinsame\nCommit-Historie</strong>, daher meldet GitHub „there isn't anything to compare / entirely different commit\nhistories\" und zeigt einen leeren Diff. Verlasse dich nicht darauf.</p>\n<p>Diffe stattdessen die <strong>Datei-Bäume</strong> direkt. Klone einmal und vergleiche die Working-Trees der beiden\nBranches (die Historie ist irrelevant, daher umgeht <code class=\"language-text\">--no-index</code> das Problem der unverwandten Historien):</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">git</span> clone https://github.com/apereo/cas-overlay-template.git\n<span class=\"token builtin class-name\">cd</span> cas-overlay-template\n<span class=\"token function\">git</span> worktree <span class=\"token function\">add</span> <span class=\"token punctuation\">..</span>/ovl-old origin/<span class=\"token operator\">&lt;</span>old-minor<span class=\"token operator\">></span>     <span class=\"token comment\"># z. B. 7.2</span>\n<span class=\"token function\">git</span> worktree <span class=\"token function\">add</span> <span class=\"token punctuation\">..</span>/ovl-new origin/<span class=\"token operator\">&lt;</span>new-minor<span class=\"token operator\">></span>     <span class=\"token comment\"># z. B. 7.3</span>\n<span class=\"token function\">git</span> --no-pager <span class=\"token function\">diff</span> --no-index <span class=\"token punctuation\">..</span>/ovl-old <span class=\"token punctuation\">..</span>/ovl-new\n<span class=\"token comment\"># oder einfach die wenigen Dateien anschauen, die zählen:</span>\n<span class=\"token comment\">#   gradle.properties  build.gradle  settings.gradle  Dockerfile  gradle/  src/main/resources/</span></code></pre></div>\n<p>(Für einen schnellen Blick ohne Klonen: öffne die Schlüsseldateien auf jedem Branch und vergleiche per Auge —\ndie relevante Menge ist klein.) Alles, was sich verschoben hat (ein neuer Exclude, ein geändertes Plugin,\neine neue Property, ein Tomcat-Bump), musst du fast sicher nachziehen.</p>\n<h4 id=\"82-die-cas-release-notes--whats-new-seiten-lesen-minor-für-minor\" style=\"position:relative;\"><a href=\"#82-die-cas-release-notes--whats-new-seiten-lesen-minor-f%C3%BCr-minor\" aria-label=\"82 die cas release notes  whats new seiten lesen minor für minor permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>8.2 Die CAS-„Release Notes\" / „What's New\"-Seiten lesen, Minor für Minor</h4>\n<p>CAS dokumentiert Breaking Changes pro <strong>Minor</strong>-Release. Wenn du mehr als ein Minor überspringst, lies\n<strong>jede</strong> dazwischenliegende Seite, nicht nur das Ziel — Breaking Changes akkumulieren sich.</p>\n<ul>\n<li>Release-Notes-Index: <code class=\"language-text\">https://apereo.github.io/cas/&lt;minor&gt;.x/release_notes/</code> (z. B. <code class=\"language-text\">7.3.x</code>).</li>\n<li>Diese benennen entfernte/umbenannte Properties, weggefallene Module und Verhaltensänderungen (so wurden\nder Flip des pac4j-Session-Replication-Defaults und die Current-Password-Anforderung der\n<code class=\"language-text\">PasswordChangeAction</code> gefunden).</li>\n</ul>\n<h4 id=\"83-anpassung-gegen-die-cas-quellen-an-die-sie-gekoppelt-ist-erneut-prüfen\" style=\"position:relative;\"><a href=\"#83-anpassung-gegen-die-cas-quellen-an-die-sie-gekoppelt-ist-erneut-pr%C3%BCfen\" aria-label=\"83 anpassung gegen die cas quellen an die sie gekoppelt ist erneut prüfen permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>8.3 Anpassung gegen die CAS-Quellen, an die sie gekoppelt ist, erneut prüfen</h4>\n<p>Um den CAS-Standard-Quellcode zu lesen, auf den ein Kommentar zeigt, ziehe ihn aus den\nDependency-Jars, die du bereits heruntergeladen hast (bevorzuge das <code class=\"language-text\">-sources</code>-Jar — es enthält das echte\nJava/die echten Templates, kein Dekompilieren nötig):</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token comment\"># das Sources-Jar für ein Modul finden, dann eine Datei ausgeben</span>\n<span class=\"token function\">find</span> ~/.gradle/caches/modules-2 -name <span class=\"token string\">'cas-server-support-gauth-core-*-sources.jar'</span>\n<span class=\"token function\">unzip</span> -p <span class=\"token operator\">&lt;</span>that-sources.jar<span class=\"token operator\">></span> org/apereo/cas/gauth/web/flow/GoogleAuthenticatorDeleteAccountAction.java\n<span class=\"token function\">unzip</span> -Z1 <span class=\"token operator\">&lt;</span>that-sources.jar<span class=\"token operator\">></span> <span class=\"token operator\">|</span> <span class=\"token function\">grep</span> -i deleteaccount   <span class=\"token comment\"># zuerst den Pfad finden, falls unsicher</span></code></pre></div>\n<p>Du kannst denselben Quellcode auch auf GitHub am Tag durchstöbern: <code class=\"language-text\">https://github.com/apereo/cas/tree/v&lt;version&gt;</code>\n(Actions unter <code class=\"language-text\">support/cas-server-support-&lt;module&gt;/src/main/java</code>, Templates unter <code class=\"language-text\">.../resources/templates</code>).</p>\n<h5 id=\"threeway-diff-für-angepasste-cas-dateien\" style=\"position:relative;\"><a href=\"#threeway-diff-f%C3%BCr-angepasste-cas-dateien\" aria-label=\"threeway diff für angepasste cas dateien permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Threeway-Diff für angepasste CAS-Dateien</h5>\n<ol>\n<li>Extrahiere das Standard-Original an <strong>beiden</strong> Versionen, der alten und der neuen, aus den jeweiligen\n<code class=\"language-text\">-sources</code>-Jars (Befehl oben).</li>\n<li>Diffe <strong>alt-Standard vs. neu-Standard</strong> → was CAS geändert hat (und unsere Kopie brechen könnte).</li>\n<li>Diffe <strong>alt-Standard vs. unsere</strong> → unsere Anpassung.</li>\n<li>Wende unser Delta erneut auf die neue Standard-Datei an.</li>\n</ol>\n<h4 id=\"84-die-laufende-app-über-tote-properties-berichten-lassen\" style=\"position:relative;\"><a href=\"#84-die-laufende-app-%C3%BCber-tote-properties-berichten-lassen\" aria-label=\"84 die laufende app über tote properties berichten lassen permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>8.4 Die laufende App über tote Properties berichten lassen</h4>\n<p>Dieses Overlay hängt bereits von <code class=\"language-text\">spring-boot-properties-migrator</code> ab (<code class=\"language-text\">app/build.gradle</code>). Beim <strong>Start</strong>\nloggt es jede Property in deiner Config, die das neue Spring Boot/CAS <strong>umbenannt oder entfernt</strong> hat, mit dem\nErsatz-Key. Also:</p>\n<ul>\n<li>Boote das aktualisierte CAS einmal und <strong>lies das Startup-Log</strong> vor allem anderen. Grep nach <code class=\"language-text\">migrat</code>,\n<code class=\"language-text\">deprecat</code> und <code class=\"language-text\">WARN</code>.</li>\n<li>CAS selbst loggt ebenfalls unbekannte/lose Config-Keys. Behandle jede solche Warnung als To-do gegen\n<code class=\"language-text\">resources/etc/cas/config/*.tpl</code>.</li>\n<li>Entferne den Migrator erst wieder, wenn du willst — er ist harmlos, aber laut; wir behalten ihn während\nUpgrades.</li>\n</ul>\n<hr>","frontmatter":{"title":"","canonical":null},"fields":{"folders":["dogus","cas","development"],"delocalizedSlug":"/docs/dogus/cas/development/Upgrading_CAS/","title":"CAS aktualisieren","pageType":"docs"},"tableOfContents":"<ul>\n<li>\n<p><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#cas-aktualisieren\">CAS aktualisieren</a></p>\n<ul>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#0-was-beim-cas-upgrade-zu-beachten-ist\">0. Was beim CAS-Upgrade zu beachten ist</a></li>\n<li>\n<p><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#1-die-versionen-anheben-als-ein-gekoppeltes-set\">1. Die Versionen anheben (als ein gekoppeltes Set)</a></p>\n<ul>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#wo-man-die-korrekten-spring-boot--und-tomcat-versionen-f%C3%BCr-ein-cas-release-nachliest\">Wo man die <em>korrekten</em> Spring-Boot- und Tomcat-Versionen für ein CAS-Release nachliest</a></li>\n</ul>\n</li>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#2-build--unit-tests-schnelle-innere-schleife--kein-laufendes-cas-n%C3%B6tig\">2. Build + Unit-Tests (schnelle innere Schleife — kein laufendes CAS nötig)</a></li>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#3-das-theme-css-neu-bauen-falls-du-irgendein-template-angefasst-hast\">3. Das Theme-CSS neu bauen, <em>falls du irgendein Template angefasst hast</em></a></li>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#4-integrationstests--single-node\">4. Integrationstests — Single Node</a></li>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#5-integrationstests--multinode-jenkins-parameter\">5. Integrationstests — Multinode (Jenkins-Parameter)</a></li>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#6-smoke-test-manuell--die-dinge-die-ci-nicht-abdecken-kann\">6. Smoke-Test (manuell — die Dinge, die CI nicht abdecken kann)</a></li>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#7-anpassungs-inventar--dateien-auf-die-zu-achten-ist\">7. Anpassungs-Inventar — Dateien, auf die zu achten ist</a></li>\n<li>\n<p><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#8-tipps--wie-man-tats%C3%A4chlich-findet-was-sich-ge%C3%A4ndert-hat\">8. Tipps — wie man tatsächlich findet, was sich geändert hat</a></p>\n<ul>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#81-zuerst-das-upstream-cas-overlay-template-zwischen-den-beiden-linien-diffen\">8.1 Zuerst das upstream <code class=\"language-text\">cas-overlay-template</code> zwischen den beiden Linien diffen</a></li>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#82-die-cas-release-notes--whats-new-seiten-lesen-minor-f%C3%BCr-minor\">8.2 Die CAS-„Release Notes\" / „What's New\"-Seiten lesen, Minor für Minor</a></li>\n<li>\n<p><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#83-anpassung-gegen-die-cas-quellen-an-die-sie-gekoppelt-ist-erneut-pr%C3%BCfen\">8.3 Anpassung gegen die CAS-Quellen, an die sie gekoppelt ist, erneut prüfen</a></p>\n<ul>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#threeway-diff-f%C3%BCr-angepasste-cas-dateien\">Threeway-Diff für angepasste CAS-Dateien</a></li>\n</ul>\n</li>\n<li><a href=\"/de/docs/dogus/cas/development/Upgrading_CAS/#84-die-laufende-app-%C3%BCber-tote-properties-berichten-lassen\">8.4 Die laufende App über tote Properties berichten lassen</a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>"},"allMarkdownRemark":{"edges":[{"node":{"fields":{"slug":"/docs/introduction.de/","delocalizedSlug":"/docs/introduction/","title":"Einleitung","folders":[],"pageType":"docs","delocalizedElement":"introduction"}}},{"node":{"fields":{"slug":"/docs/development/bash-guideline.de/","delocalizedSlug":"/docs/development/bash-guideline/","title":"Bash-Skript-Richtlinie","folders":["development"],"pageType":"docs","delocalizedElement":"bash-guideline"}}},{"node":{"fields":{"slug":"/docs/development/dogu-creation.de/","delocalizedSlug":"/docs/development/dogu-creation/","title":"Wie man ein Dogu erstellt","folders":["development"],"pageType":"docs","delocalizedElement":"dogu-creation"}}},{"node":{"fields":{"slug":"/docs/development/goss.de/","delocalizedSlug":"/docs/development/goss/","title":"Goss Spec","folders":["development"],"pageType":"docs","delocalizedElement":"goss"}}},{"node":{"fields":{"slug":"/docs/development/image-build.de/","delocalizedSlug":"/docs/development/image-build/","title":"Wie man ein CES-Image erstellt","folders":["development"],"pageType":"docs","delocalizedElement":"image-build"}}},{"node":{"fields":{"slug":"/docs/system-components/ubuntu_upgrade.de/","delocalizedSlug":"/docs/system-components/ubuntu_upgrade/","title":"Upgrade von Ubuntu 20.04 auf 24.04","folders":["system-components"],"pageType":"docs","delocalizedElement":"ubuntu_upgrade"}}},{"node":{"fields":{"slug":"/docs/dogus/dogu-configuration.de/","delocalizedSlug":"/docs/dogus/dogu-configuration/","title":"Dogu-Konfiguration","folders":["dogus"],"pageType":"docs","delocalizedElement":"dogu-configuration"}}},{"node":{"fields":{"slug":"/docs/dogus/backup/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/backup/CHANGELOG/","title":"Backup & Restore Changelog","folders":["dogus","backup"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/backup/README.de/","delocalizedSlug":"/docs/dogus/backup/README/","title":"Readme","folders":["dogus","backup"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/admin/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/admin/CHANGELOG/","title":"Changelog","folders":["dogus","admin"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/admin/README.de/","delocalizedSlug":"/docs/dogus/admin/README/","title":"Readme","folders":["dogus","admin"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/backup-watcher/development.de/","delocalizedSlug":"/docs/dogus/backup-watcher/development/","title":"Development","folders":["dogus","backup-watcher"],"pageType":"docs","delocalizedElement":"development"}}},{"node":{"fields":{"slug":"/docs/dogus/baseline/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/baseline/CHANGELOG/","title":"Baseline Changelog","folders":["dogus","baseline"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/baseline/README.de/","delocalizedSlug":"/docs/dogus/baseline/README/","title":"Readme","folders":["dogus","baseline"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/baseline/getting_started.de/","delocalizedSlug":"/docs/dogus/baseline/getting_started/","title":"Entwicklung","folders":["dogus","baseline"],"pageType":"docs","delocalizedElement":"getting_started"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/cas/CHANGELOG/","title":"CAS Changelog","folders":["dogus","cas"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/README.de/","delocalizedSlug":"/docs/dogus/cas/README/","title":"Readme","folders":["dogus","cas"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/cas_developer_guide.de/","delocalizedSlug":"/docs/dogus/cas/cas_developer_guide/","title":"Entwicklungen am CAS","folders":["dogus","cas"],"pageType":"docs","delocalizedElement":"cas_developer_guide"}}},{"node":{"fields":{"slug":"/docs/dogus/easyredmine/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/easyredmine/CHANGELOG/","title":"Easy Redmine Changelog","folders":["dogus","easyredmine"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/easyredmine/README.de/","delocalizedSlug":"/docs/dogus/easyredmine/README/","title":"Readme","folders":["dogus","easyredmine"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/cockpit/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/cockpit/CHANGELOG/","title":"Cockpit Changelog","folders":["dogus","cockpit"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/cockpit/README.de/","delocalizedSlug":"/docs/dogus/cockpit/README/","title":"Readme","folders":["dogus","cockpit"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/cockpit/getting_started.de/","delocalizedSlug":"/docs/dogus/cockpit/getting_started/","title":"Getting Started","folders":["dogus","cockpit"],"pageType":"docs","delocalizedElement":"getting_started"}}},{"node":{"fields":{"slug":"/docs/dogus/grafana/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/grafana/CHANGELOG/","title":"Grafana Changelog","folders":["dogus","grafana"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/grafana/README.de/","delocalizedSlug":"/docs/dogus/grafana/README/","title":"Readme","folders":["dogus","grafana"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/jenkins/CHANGELOG/","title":"Jenkins Changelog","folders":["dogus","jenkins"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/README.de/","delocalizedSlug":"/docs/dogus/jenkins/README/","title":"Readme","folders":["dogus","jenkins"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/getting_started.de/","delocalizedSlug":"/docs/dogus/jenkins/getting_started/","title":"Getting Started","folders":["dogus","jenkins"],"pageType":"docs","delocalizedElement":"getting_started"}}},{"node":{"fields":{"slug":"/docs/dogus/ldap/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/ldap/CHANGELOG/","title":"LDAP Changelog","folders":["dogus","ldap"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/ldap/README.de/","delocalizedSlug":"/docs/dogus/ldap/README/","title":"Readme","folders":["dogus","ldap"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/nexus/README.de/","delocalizedSlug":"/docs/dogus/nexus/README/","title":"Readme","folders":["dogus","nexus"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/nexus/getting_started.de/","delocalizedSlug":"/docs/dogus/nexus/getting_started/","title":"Getting Started","folders":["dogus","nexus"],"pageType":"docs","delocalizedElement":"getting_started"}}},{"node":{"fields":{"slug":"/docs/dogus/nexus/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/nexus/CHANGELOG/","title":"Nexus Repository OSS Changelog","folders":["dogus","nexus"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/nginx/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/nginx/CHANGELOG/","title":"Nginx Changelog","folders":["dogus","nginx"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/nginx/README.de/","delocalizedSlug":"/docs/dogus/nginx/README/","title":"Readme","folders":["dogus","nginx"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/plantuml/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/plantuml/CHANGELOG/","title":"Plantuml Changelog","folders":["dogus","plantuml"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/plantuml/README.de/","delocalizedSlug":"/docs/dogus/plantuml/README/","title":"Readme","folders":["dogus","plantuml"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/portainer/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/portainer/CHANGELOG/","title":"Portainer Changelog","folders":["dogus","portainer"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/portainer/README.de/","delocalizedSlug":"/docs/dogus/portainer/README/","title":"Readme","folders":["dogus","portainer"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/postfix/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/postfix/CHANGELOG/","title":"Postfix Changelog","folders":["dogus","postfix"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/portainer/getting_started.de/","delocalizedSlug":"/docs/dogus/portainer/getting_started/","title":"Portainer Dokumentation","folders":["dogus","portainer"],"pageType":"docs","delocalizedElement":"getting_started"}}},{"node":{"fields":{"slug":"/docs/dogus/postfix/README.de/","delocalizedSlug":"/docs/dogus/postfix/README/","title":"Readme","folders":["dogus","postfix"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/postfix/getting_started.de/","delocalizedSlug":"/docs/dogus/postfix/getting_started/","title":"Getting Started","folders":["dogus","postfix"],"pageType":"docs","delocalizedElement":"getting_started"}}},{"node":{"fields":{"slug":"/docs/dogus/postgresql/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/postgresql/CHANGELOG/","title":"PostgreSQL Changelog","folders":["dogus","postgresql"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/postgresql/README.de/","delocalizedSlug":"/docs/dogus/postgresql/README/","title":"Readme","folders":["dogus","postgresql"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/redmine/README.de/","delocalizedSlug":"/docs/dogus/redmine/README/","title":"Readme","folders":["dogus","redmine"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/redmine/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/redmine/CHANGELOG/","title":"Redmine Changelog","folders":["dogus","redmine"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/scm/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/scm/CHANGELOG/","title":"SCM-Manager Changelog","folders":["dogus","scm"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/scm/README.de/","delocalizedSlug":"/docs/dogus/scm/README/","title":"Readme","folders":["dogus","scm"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/smeagol/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/smeagol/CHANGELOG/","title":"Changelog","folders":["dogus","smeagol"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/smeagol/README.de/","delocalizedSlug":"/docs/dogus/smeagol/README/","title":"Readme","folders":["dogus","smeagol"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/smeagol/architecture.de/","delocalizedSlug":"/docs/dogus/smeagol/architecture/","title":"Architektur","folders":["dogus","smeagol"],"pageType":"docs","delocalizedElement":"architecture"}}},{"node":{"fields":{"slug":"/docs/dogus/smeagol/demo_content.de/","delocalizedSlug":"/docs/dogus/smeagol/demo_content/","title":"Demo-Inhalte","folders":["dogus","smeagol"],"pageType":"docs","delocalizedElement":"demo_content"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/README.de/","delocalizedSlug":"/docs/dogus/sonar/README/","title":"Readme","folders":["dogus","sonar"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/swaggerui/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/swaggerui/CHANGELOG/","title":"Swagger UI Changelog","folders":["dogus","swaggerui"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/swaggerui/README.de/","delocalizedSlug":"/docs/dogus/swaggerui/README/","title":"Readme","folders":["dogus","swaggerui"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/teamscale/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/teamscale/CHANGELOG/","title":"Teamscale Changelog","folders":["dogus","teamscale"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/teamscale/README.de/","delocalizedSlug":"/docs/dogus/teamscale/README/","title":"Readme","folders":["dogus","teamscale"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/sonar/CHANGELOG/","title":"SonarQube Changelog","folders":["dogus","sonar"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/teamscale/getting_started.de/","delocalizedSlug":"/docs/dogus/teamscale/getting_started/","title":"Getting Started","folders":["dogus","teamscale"],"pageType":"docs","delocalizedElement":"getting_started"}}},{"node":{"fields":{"slug":"/docs/dogus/usermgt/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/usermgt/CHANGELOG/","title":"User Management Changelog","folders":["dogus","usermgt"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/usermgt/README.de/","delocalizedSlug":"/docs/dogus/usermgt/README/","title":"Readme","folders":["dogus","usermgt"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/usermgt/getting_started.de/","delocalizedSlug":"/docs/dogus/usermgt/getting_started/","title":"Getting Started","folders":["dogus","usermgt"],"pageType":"docs","delocalizedElement":"getting_started"}}},{"node":{"fields":{"slug":"/docs/dogus/whitelabeling/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/whitelabeling/CHANGELOG/","title":"Whitelabeling Changelog","folders":["dogus","whitelabeling"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/system-components/backup-watcher/CHANGELOG.de/","delocalizedSlug":"/docs/system-components/backup-watcher/CHANGELOG/","title":"Changelog","folders":["system-components","backup-watcher"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/system-components/backup-watcher/README.de/","delocalizedSlug":"/docs/system-components/backup-watcher/README/","title":"Readme","folders":["system-components","backup-watcher"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/system-components/ces-setup/CHANGELOG.de/","delocalizedSlug":"/docs/system-components/ces-setup/CHANGELOG/","title":"Changelog","folders":["system-components","ces-setup"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/system-components/ces-setup/README.de/","delocalizedSlug":"/docs/system-components/ces-setup/README/","title":"Readme","folders":["system-components","ces-setup"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/CHANGELOG.de/","delocalizedSlug":"/docs/system-components/cesapp/CHANGELOG/","title":"Changelog","folders":["system-components","cesapp"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/README.de/","delocalizedSlug":"/docs/system-components/cesapp/README/","title":"Readme","folders":["system-components","cesapp"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/getting_started.de/","delocalizedSlug":"/docs/system-components/cesapp/getting_started/","title":"Getting-Started","folders":["system-components","cesapp"],"pageType":"docs","delocalizedElement":"getting_started"}}},{"node":{"fields":{"slug":"/docs/system-components/cesappd/CHANGELOG.de/","delocalizedSlug":"/docs/system-components/cesappd/CHANGELOG/","title":"Changelog","folders":["system-components","cesappd"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/system-components/cesappd/README.de/","delocalizedSlug":"/docs/system-components/cesappd/README/","title":"Readme","folders":["system-components","cesappd"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/system-components/warp-menu/CHANGELOG.de/","delocalizedSlug":"/docs/system-components/warp-menu/CHANGELOG/","title":"Changelog","folders":["system-components","warp-menu"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/system-components/warp-menu/README.de/","delocalizedSlug":"/docs/system-components/warp-menu/README/","title":"Readme","folders":["system-components","warp-menu"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/system-components/ces-setup/getting_started.de/","delocalizedSlug":"/docs/system-components/ces-setup/getting_started/","title":"CES-Setup Dokumentation","folders":["system-components","ces-setup"],"pageType":"docs","delocalizedElement":"getting_started"}}},{"node":{"fields":{"slug":"/docs/system-components/ces-setup/ces-on-proxmox-hypervisor.de/","delocalizedSlug":"/docs/system-components/ces-setup/ces-on-proxmox-hypervisor/","title":"CES auf einem Proxmox Hypervisor betreiben","folders":["system-components","ces-setup"],"pageType":"docs","delocalizedElement":"ces-on-proxmox-hypervisor"}}},{"node":{"fields":{"slug":"/docs/dogus/backup/development/html_elements.de/","delocalizedSlug":"/docs/dogus/backup/development/html_elements/","title":"Html Elements","folders":["dogus","backup","development"],"pageType":"docs","delocalizedElement":"html_elements"}}},{"node":{"fields":{"slug":"/docs/dogus/backup/development/setup_integrationtests.de/","delocalizedSlug":"/docs/dogus/backup/development/setup_integrationtests/","title":"Setup für die Integrationstests","folders":["dogus","backup","development"],"pageType":"docs","delocalizedElement":"setup_integrationtests"}}},{"node":{"fields":{"slug":"/docs/dogus/admin/development/integration-tests.de/","delocalizedSlug":"/docs/dogus/admin/development/integration-tests/","title":"Integrationstests","folders":["dogus","admin","development"],"pageType":"docs","delocalizedElement":"integration-tests"}}},{"node":{"fields":{"slug":"/docs/dogus/admin/integrationTests/README.de/","delocalizedSlug":"/docs/dogus/admin/integrationTests/README/","title":"Readme","folders":["dogus","admin","integrationTests"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/baseline/development/error_guidelines.de/","delocalizedSlug":"/docs/dogus/baseline/development/error_guidelines/","title":"Richtlinien für die Behandlung von Fehlern im Baseline Tool","folders":["dogus","baseline","development"],"pageType":"docs","delocalizedElement":"error_guidelines"}}},{"node":{"fields":{"slug":"/docs/dogus/baseline/development/integration_test.de/","delocalizedSlug":"/docs/dogus/baseline/development/integration_test/","title":"Integration-Tests","folders":["dogus","baseline","development"],"pageType":"docs","delocalizedElement":"integration_test"}}},{"node":{"fields":{"slug":"/docs/dogus/baseline/development/start_with_example_data_in_ces.de/","delocalizedSlug":"/docs/dogus/baseline/development/start_with_example_data_in_ces/","title":"Baseline mit Beispieldaten im CES starten","folders":["dogus","baseline","development"],"pageType":"docs","delocalizedElement":"start_with_example_data_in_ces"}}},{"node":{"fields":{"slug":"/docs/dogus/baseline/operations/configure_dogu.de/","delocalizedSlug":"/docs/dogus/baseline/operations/configure_dogu/","title":"Konfiguration des Baseline-Dogus","folders":["dogus","baseline","operations"],"pageType":"docs","delocalizedElement":"configure_dogu"}}},{"node":{"fields":{"slug":"/docs/dogus/baseline/operations/configure_credentials.de/","delocalizedSlug":"/docs/dogus/baseline/operations/configure_credentials/","title":"Konfiguration der Credentials","folders":["dogus","baseline","operations"],"pageType":"docs","delocalizedElement":"configure_credentials"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/Adjusting_CAS_code.de/","delocalizedSlug":"/docs/dogus/cas/development/Adjusting_CAS_code/","title":"Anpassung des CAS-Codes","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"Adjusting_CAS_code"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/app/README.de/","delocalizedSlug":"/docs/dogus/cas/app/README/","title":"Readme","folders":["dogus","cas","app"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/Configuration_in_Standalone_App.de/","delocalizedSlug":"/docs/dogus/cas/development/Configuration_in_Standalone_App/","title":"Verwendung von Werten aus dem etcd in Standalone-App","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"Configuration_in_Standalone_App"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/Create_Wiremock_Services_For_Tests.de/","delocalizedSlug":"/docs/dogus/cas/development/Create_Wiremock_Services_For_Tests/","title":"Wiremock für die von JUnit-Tests verwendete etcd-Registry erstellen","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"Create_Wiremock_Services_For_Tests"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/Service_Registry.de/","delocalizedSlug":"/docs/dogus/cas/development/Service_Registry/","title":"Service Registry","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"Service_Registry"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/Remote_Debugging.de/","delocalizedSlug":"/docs/dogus/cas/development/Remote_Debugging/","title":"Remote Debugging im lokalen CES","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"Remote_Debugging"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/Setup_Integrationtests.de/","delocalizedSlug":"/docs/dogus/cas/development/Setup_Integrationtests/","title":"Setup für die Integrationstests","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"Setup_Integrationtests"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/Upgrading_CAS.de/","delocalizedSlug":"/docs/dogus/cas/development/Upgrading_CAS/","title":"CAS aktualisieren","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"Upgrading_CAS"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/develop_stage.de/","delocalizedSlug":"/docs/dogus/cas/development/develop_stage/","title":"Entwicklungsmodus","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"develop_stage"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/example_oidc_configuration.de/","delocalizedSlug":"/docs/dogus/cas/development/example_oidc_configuration/","title":"Beispiel-Konfiguration für delegierte Authentifizierung mit OIDC","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"example_oidc_configuration"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/external_ldap_for_test_purpose.de/","delocalizedSlug":"/docs/dogus/cas/development/external_ldap_for_test_purpose/","title":"Einen externen LDAP anbinden am Beispiel des docker-sample-ldap","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"external_ldap_for_test_purpose"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/development/update_theme.de/","delocalizedSlug":"/docs/dogus/cas/development/update_theme/","title":"Update des \"CES-Theme-Tailwind\" in den thymeleaf-templates","folders":["dogus","cas","development"],"pageType":"docs","delocalizedElement":"update_theme"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/operations/cas-login-limit.de/","delocalizedSlug":"/docs/dogus/cas/operations/cas-login-limit/","title":"Funktionen","folders":["dogus","cas","operations"],"pageType":"docs","delocalizedElement":"cas-login-limit"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/operations/Configure_OIDC_Provider.de/","delocalizedSlug":"/docs/dogus/cas/operations/Configure_OIDC_Provider/","title":"Konfiguration zur Verwendung eines OIDC Providers als Authentifizierungsquelle","folders":["dogus","cas","operations"],"pageType":"docs","delocalizedElement":"Configure_OIDC_Provider"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/operations/customization_of_configurable_texts.de/","delocalizedSlug":"/docs/dogus/cas/operations/customization_of_configurable_texts/","title":"Anpassung von konfigurierbaren Texten","folders":["dogus","cas","operations"],"pageType":"docs","delocalizedElement":"customization_of_configurable_texts"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/operations/endpoint_accessToken.de/","delocalizedSlug":"/docs/dogus/cas/operations/endpoint_accessToken/","title":"Access Token","folders":["dogus","cas","operations"],"pageType":"docs","delocalizedElement":"endpoint_accessToken"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/operations/endpoint_authorize.de/","delocalizedSlug":"/docs/dogus/cas/operations/endpoint_authorize/","title":"Authorize","folders":["dogus","cas","operations"],"pageType":"docs","delocalizedElement":"endpoint_authorize"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/operations/endpoint_profile.de/","delocalizedSlug":"/docs/dogus/cas/operations/endpoint_profile/","title":"Profil","folders":["dogus","cas","operations"],"pageType":"docs","delocalizedElement":"endpoint_profile"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/operations/oauth_guide.de/","delocalizedSlug":"/docs/dogus/cas/operations/oauth_guide/","title":"CAS als OAuth/OIDC Provider benutzen","folders":["dogus","cas","operations"],"pageType":"docs","delocalizedElement":"oauth_guide"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/operations/password-management.de/","delocalizedSlug":"/docs/dogus/cas/operations/password-management/","title":"Passwort Management im CAS","folders":["dogus","cas","operations"],"pageType":"docs","delocalizedElement":"password-management"}}},{"node":{"fields":{"slug":"/docs/dogus/cas/operations/two_factor_authentication.de/","delocalizedSlug":"/docs/dogus/cas/operations/two_factor_authentication/","title":"Zwei-Faktor-Authentifizierung","folders":["dogus","cas","operations"],"pageType":"docs","delocalizedElement":"two_factor_authentication"}}},{"node":{"fields":{"slug":"/docs/dogus/easyredmine/development/environment.de/","delocalizedSlug":"/docs/dogus/easyredmine/development/environment/","title":"Lokale Entwicklungsumgebung","folders":["dogus","easyredmine","development"],"pageType":"docs","delocalizedElement":"environment"}}},{"node":{"fields":{"slug":"/docs/dogus/easyredmine/development/gui_testing.de/","delocalizedSlug":"/docs/dogus/easyredmine/development/gui_testing/","title":"Gui-testing Easy Redmine","folders":["dogus","easyredmine","development"],"pageType":"docs","delocalizedElement":"gui_testing"}}},{"node":{"fields":{"slug":"/docs/dogus/easyredmine/development/shell_testing.de/","delocalizedSlug":"/docs/dogus/easyredmine/development/shell_testing/","title":"Shell-Tests","folders":["dogus","easyredmine","development"],"pageType":"docs","delocalizedElement":"shell_testing"}}},{"node":{"fields":{"slug":"/docs/dogus/easyredmine/operations/default_configuration.de/","delocalizedSlug":"/docs/dogus/easyredmine/operations/default_configuration/","title":"Konfiguration bei Dogu-Start ausbringen","folders":["dogus","easyredmine","operations"],"pageType":"docs","delocalizedElement":"default_configuration"}}},{"node":{"fields":{"slug":"/docs/dogus/easyredmine/operations/import_project_templates.de/","delocalizedSlug":"/docs/dogus/easyredmine/operations/import_project_templates/","title":"Projektvorlagen-Import","folders":["dogus","easyredmine","operations"],"pageType":"docs","delocalizedElement":"import_project_templates"}}},{"node":{"fields":{"slug":"/docs/dogus/easyredmine/operations/logging.de/","delocalizedSlug":"/docs/dogus/easyredmine/operations/logging/","title":"Logging","folders":["dogus","easyredmine","operations"],"pageType":"docs","delocalizedElement":"logging"}}},{"node":{"fields":{"slug":"/docs/dogus/cockpit/development/Developers_Guide.de/","delocalizedSlug":"/docs/dogus/cockpit/development/Developers_Guide/","title":"Entwickler-Guide","folders":["dogus","cockpit","development"],"pageType":"docs","delocalizedElement":"Developers_Guide"}}},{"node":{"fields":{"slug":"/docs/dogus/cockpit/development/Pinned_Dashboard.de/","delocalizedSlug":"/docs/dogus/cockpit/development/Pinned_Dashboard/","title":"Pinned Dashboard","folders":["dogus","cockpit","development"],"pageType":"docs","delocalizedElement":"Pinned_Dashboard"}}},{"node":{"fields":{"slug":"/docs/dogus/cockpit/development/Setup_Integrationtest.de/","delocalizedSlug":"/docs/dogus/cockpit/development/Setup_Integrationtest/","title":"Setup für die Integrationstests","folders":["dogus","cockpit","development"],"pageType":"docs","delocalizedElement":"Setup_Integrationtest"}}},{"node":{"fields":{"slug":"/docs/dogus/cockpit/operations/Configure_Dogu.de/","delocalizedSlug":"/docs/dogus/cockpit/operations/Configure_Dogu/","title":"Konfiguration des Cockpit-Dogu","folders":["dogus","cockpit","operations"],"pageType":"docs","delocalizedElement":"Configure_Dogu"}}},{"node":{"fields":{"slug":"/docs/dogus/cockpit/operations/Install_Dogu.de/","delocalizedSlug":"/docs/dogus/cockpit/operations/Install_Dogu/","title":"Installation des Cockpit-Dogu","folders":["dogus","cockpit","operations"],"pageType":"docs","delocalizedElement":"Install_Dogu"}}},{"node":{"fields":{"slug":"/docs/dogus/grafana/development/grafana_carp.de/","delocalizedSlug":"/docs/dogus/grafana/development/grafana_carp/","title":"Der Grafana-CARP","folders":["dogus","grafana","development"],"pageType":"docs","delocalizedElement":"grafana_carp"}}},{"node":{"fields":{"slug":"/docs/dogus/grafana/development/local_development.de/","delocalizedSlug":"/docs/dogus/grafana/development/local_development/","title":"Lokale Entwicklung am Grafana-Dogu im k8s-ecosystem","folders":["dogus","grafana","development"],"pageType":"docs","delocalizedElement":"local_development"}}},{"node":{"fields":{"slug":"/docs/dogus/grafana/operations/configuration.de/","delocalizedSlug":"/docs/dogus/grafana/operations/configuration/","title":"Konfiguration des Grafana-Dogus","folders":["dogus","grafana","operations"],"pageType":"docs","delocalizedElement":"configuration"}}},{"node":{"fields":{"slug":"/docs/dogus/grafana/operations/dashboard_provision.de/","delocalizedSlug":"/docs/dogus/grafana/operations/dashboard_provision/","title":"Dashboard automatisch provisionieren","folders":["dogus","grafana","operations"],"pageType":"docs","delocalizedElement":"dashboard_provision"}}},{"node":{"fields":{"slug":"/docs/dogus/grafana/operations/important_remarks.de/","delocalizedSlug":"/docs/dogus/grafana/operations/important_remarks/","title":"Wichtige Bemerkungen","folders":["dogus","grafana","operations"],"pageType":"docs","delocalizedElement":"important_remarks"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/development/plugin_blocklist.de/","delocalizedSlug":"/docs/dogus/jenkins/development/plugin_blocklist/","title":"Plugin-Blockliste","folders":["dogus","jenkins","development"],"pageType":"docs","delocalizedElement":"plugin_blocklist"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/development/plugin_compatibility.de/","delocalizedSlug":"/docs/dogus/jenkins/development/plugin_compatibility/","title":"Plugin-Kompatibilitätsliste","folders":["dogus","jenkins","development"],"pageType":"docs","delocalizedElement":"plugin_compatibility"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/development/plugin_test.de/","delocalizedSlug":"/docs/dogus/jenkins/development/plugin_test/","title":"Plugin-Kompatibilität testen","folders":["dogus","jenkins","development"],"pageType":"docs","delocalizedElement":"plugin_test"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/development/upgrade_guide.de/","delocalizedSlug":"/docs/dogus/jenkins/development/upgrade_guide/","title":"Basis-Image aktualisieren","folders":["dogus","jenkins","development"],"pageType":"docs","delocalizedElement":"upgrade_guide"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/operations/Additional_SSL_certificates.de/","delocalizedSlug":"/docs/dogus/jenkins/operations/Additional_SSL_certificates/","title":"Zusätzliche SSL-Zertifikate","folders":["dogus","jenkins","operations"],"pageType":"docs","delocalizedElement":"Additional_SSL_certificates"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/operations/Building_with_custom_Java.de/","delocalizedSlug":"/docs/dogus/jenkins/operations/Building_with_custom_Java/","title":"Bauen mit speziellen OpenJDK-Versionen","folders":["dogus","jenkins","operations"],"pageType":"docs","delocalizedElement":"Building_with_custom_Java"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/operations/Install_Jenkins.de/","delocalizedSlug":"/docs/dogus/jenkins/operations/Install_Jenkins/","title":"Installation des Jenkins-Dogu","folders":["dogus","jenkins","operations"],"pageType":"docs","delocalizedElement":"Install_Jenkins"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/operations/Post_initialization_scripts.de/","delocalizedSlug":"/docs/dogus/jenkins/operations/Post_initialization_scripts/","title":"Post-Initialisierungs-Skripte","folders":["dogus","jenkins","operations"],"pageType":"docs","delocalizedElement":"Post_initialization_scripts"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/operations/TCP_agent_listener_port.de/","delocalizedSlug":"/docs/dogus/jenkins/operations/TCP_agent_listener_port/","title":"TCP Agent Listener Port","folders":["dogus","jenkins","operations"],"pageType":"docs","delocalizedElement":"TCP_agent_listener_port"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/operations/azure_agents.de/","delocalizedSlug":"/docs/dogus/jenkins/operations/azure_agents/","title":"Einrichten von Jenkins-Agents in der Azure-Cloud","folders":["dogus","jenkins","operations"],"pageType":"docs","delocalizedElement":"azure_agents"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/operations/configure_log_level.de/","delocalizedSlug":"/docs/dogus/jenkins/operations/configure_log_level/","title":"Log-Level konfigurieren","folders":["dogus","jenkins","operations"],"pageType":"docs","delocalizedElement":"configure_log_level"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/operations/kubernetes_native_builds.de/","delocalizedSlug":"/docs/dogus/jenkins/operations/kubernetes_native_builds/","title":"Kubernetes-native Builds","folders":["dogus","jenkins","operations"],"pageType":"docs","delocalizedElement":"kubernetes_native_builds"}}},{"node":{"fields":{"slug":"/docs/dogus/ldap/development/development_process.de/","delocalizedSlug":"/docs/dogus/ldap/development/development_process/","title":"Entwicklungsprozess (Dogu + Komponente)","folders":["dogus","ldap","development"],"pageType":"docs","delocalizedElement":"development_process"}}},{"node":{"fields":{"slug":"/docs/dogus/ldap/development/password_policy.de/","delocalizedSlug":"/docs/dogus/ldap/development/password_policy/","title":"Wichtige Hinweise zur Installation der Password-Policy","folders":["dogus","ldap","development"],"pageType":"docs","delocalizedElement":"password_policy"}}},{"node":{"fields":{"slug":"/docs/dogus/ldap/development/review.de/","delocalizedSlug":"/docs/dogus/ldap/development/review/","title":"Wichtig zu beachten beim Review des LDAP-Dogus","folders":["dogus","ldap","development"],"pageType":"docs","delocalizedElement":"review"}}},{"node":{"fields":{"slug":"/docs/dogus/ldap/development/test_ldap_as_initial_install.de/","delocalizedSlug":"/docs/dogus/ldap/development/test_ldap_as_initial_install/","title":"Lokale LDAP-Version als Initial-Installation testen","folders":["dogus","ldap","development"],"pageType":"docs","delocalizedElement":"test_ldap_as_initial_install"}}},{"node":{"fields":{"slug":"/docs/dogus/ldap/operations/ldap_component_installation.de/","delocalizedSlug":"/docs/dogus/ldap/operations/ldap_component_installation/","title":"LDAP-Komponente installieren und konfigurieren","folders":["dogus","ldap","operations"],"pageType":"docs","delocalizedElement":"ldap_component_installation"}}},{"node":{"fields":{"slug":"/docs/dogus/ldap/operations/ldap_migration_dogu_to_component.de/","delocalizedSlug":"/docs/dogus/ldap/operations/ldap_migration_dogu_to_component/","title":"LDAP-Migration vom Dogu zur Komponente","folders":["dogus","ldap","operations"],"pageType":"docs","delocalizedElement":"ldap_migration_dogu_to_component"}}},{"node":{"fields":{"slug":"/docs/dogus/ldap/operations/mail_after_changed_password.de/","delocalizedSlug":"/docs/dogus/ldap/operations/mail_after_changed_password/","title":"E-Mail-Versand nach Änderung eines Nutzer-Passworts","folders":["dogus","ldap","operations"],"pageType":"docs","delocalizedElement":"mail_after_changed_password"}}},{"node":{"fields":{"slug":"/docs/dogus/ldap/operations/password-policy.de/","delocalizedSlug":"/docs/dogus/ldap/operations/password-policy/","title":"Password-Richtlinien","folders":["dogus","ldap","operations"],"pageType":"docs","delocalizedElement":"password-policy"}}},{"node":{"fields":{"slug":"/docs/dogus/jenkins/operations/additional_configuration.de/","delocalizedSlug":"/docs/dogus/jenkins/operations/additional_configuration/","title":"Weitere Konfigurationen","folders":["dogus","jenkins","operations"],"pageType":"docs","delocalizedElement":"additional_configuration"}}},{"node":{"fields":{"slug":"/docs/dogus/nexus/development/dev.de/","delocalizedSlug":"/docs/dogus/nexus/development/dev/","title":"Dev","folders":["dogus","nexus","development"],"pageType":"docs","delocalizedElement":"dev"}}},{"node":{"fields":{"slug":"/docs/dogus/nexus/operations/Configure_Service_Accounts.de/","delocalizedSlug":"/docs/dogus/nexus/operations/Configure_Service_Accounts/","title":"Konfiguration von Service Accounts","folders":["dogus","nexus","operations"],"pageType":"docs","delocalizedElement":"Configure_Service_Accounts"}}},{"node":{"fields":{"slug":"/docs/dogus/nexus/operations/preconfigure_repositories.de/","delocalizedSlug":"/docs/dogus/nexus/operations/preconfigure_repositories/","title":"Preconfigure Repositories","folders":["dogus","nexus","operations"],"pageType":"docs","delocalizedElement":"preconfigure_repositories"}}},{"node":{"fields":{"slug":"/docs/dogus/nexus/operations/preconfigure_repository_data.de/","delocalizedSlug":"/docs/dogus/nexus/operations/preconfigure_repository_data/","title":"Preconfigure Repository Data","folders":["dogus","nexus","operations"],"pageType":"docs","delocalizedElement":"preconfigure_repository_data"}}},{"node":{"fields":{"slug":"/docs/dogus/nexus/operations/predefined_nexus_entities.de/","delocalizedSlug":"/docs/dogus/nexus/operations/predefined_nexus_entities/","title":"Vorkonfigurierte Nexus Settings","folders":["dogus","nexus","operations"],"pageType":"docs","delocalizedElement":"predefined_nexus_entities"}}},{"node":{"fields":{"slug":"/docs/dogus/nginx/dev/ces-theme.de/","delocalizedSlug":"/docs/dogus/nginx/dev/ces-theme/","title":"CES-Theme-Integration","folders":["dogus","nginx","dev"],"pageType":"docs","delocalizedElement":"ces-theme"}}},{"node":{"fields":{"slug":"/docs/dogus/nginx/dev/client-certificates.de/","delocalizedSlug":"/docs/dogus/nginx/dev/client-certificates/","title":"Mutual TLS mit Client Zertifikaten","folders":["dogus","nginx","dev"],"pageType":"docs","delocalizedElement":"client-certificates"}}},{"node":{"fields":{"slug":"/docs/dogus/nginx/dev/integration_tests.de/","delocalizedSlug":"/docs/dogus/nginx/dev/integration_tests/","title":"Aufsetzen der Integration Tests","folders":["dogus","nginx","dev"],"pageType":"docs","delocalizedElement":"integration_tests"}}},{"node":{"fields":{"slug":"/docs/dogus/nginx/dev/support_entries_in_warp_menu.de/","delocalizedSlug":"/docs/dogus/nginx/dev/support_entries_in_warp_menu/","title":"Support-Einträge für das Warp-Menü konfigurieren","folders":["dogus","nginx","dev"],"pageType":"docs","delocalizedElement":"support_entries_in_warp_menu"}}},{"node":{"fields":{"slug":"/docs/dogus/nginx/operations/proxy_buffering.de/","delocalizedSlug":"/docs/dogus/nginx/operations/proxy_buffering/","title":"Request Buffering","folders":["dogus","nginx","operations"],"pageType":"docs","delocalizedElement":"proxy_buffering"}}},{"node":{"fields":{"slug":"/docs/dogus/portainer/operations/Add_Portainer_Endpoint.de/","delocalizedSlug":"/docs/dogus/portainer/operations/Add_Portainer_Endpoint/","title":"Konfigurieren eines Portainer-Endpoints via Dogu-Config","folders":["dogus","portainer","operations"],"pageType":"docs","delocalizedElement":"Add_Portainer_Endpoint"}}},{"node":{"fields":{"slug":"/docs/dogus/portainer/operations/Configure_Portainer.de/","delocalizedSlug":"/docs/dogus/portainer/operations/Configure_Portainer/","title":"Konfiguration von Portainer","folders":["dogus","portainer","operations"],"pageType":"docs","delocalizedElement":"Configure_Portainer"}}},{"node":{"fields":{"slug":"/docs/dogus/portainer/operations/Install_Portainer.de/","delocalizedSlug":"/docs/dogus/portainer/operations/Install_Portainer/","title":"Installation des Portainer-Dogu","folders":["dogus","portainer","operations"],"pageType":"docs","delocalizedElement":"Install_Portainer"}}},{"node":{"fields":{"slug":"/docs/dogus/portainer/operations/User_Roles.de/","delocalizedSlug":"/docs/dogus/portainer/operations/User_Roles/","title":"Berechtigungen & Rollen","folders":["dogus","portainer","operations"],"pageType":"docs","delocalizedElement":"User_Roles"}}},{"node":{"fields":{"slug":"/docs/dogus/postfix/development/Send_Mails_locally.de/","delocalizedSlug":"/docs/dogus/postfix/development/Send_Mails_locally/","title":"Lokaler Mailversand","folders":["dogus","postfix","development"],"pageType":"docs","delocalizedElement":"Send_Mails_locally"}}},{"node":{"fields":{"slug":"/docs/dogus/postfix/operations/Configure_Dogu.de/","delocalizedSlug":"/docs/dogus/postfix/operations/Configure_Dogu/","title":"Konfiguration des Postfix-Dogu","folders":["dogus","postfix","operations"],"pageType":"docs","delocalizedElement":"Configure_Dogu"}}},{"node":{"fields":{"slug":"/docs/dogus/postfix/operations/Install_Postfix.de/","delocalizedSlug":"/docs/dogus/postfix/operations/Install_Postfix/","title":"Installation des Postfix-Dogu","folders":["dogus","postfix","operations"],"pageType":"docs","delocalizedElement":"Install_Postfix"}}},{"node":{"fields":{"slug":"/docs/dogus/postfix/development/Developers_Guide.de/","delocalizedSlug":"/docs/dogus/postfix/development/Developers_Guide/","title":"Entwickler-Guide","folders":["dogus","postfix","development"],"pageType":"docs","delocalizedElement":"Developers_Guide"}}},{"node":{"fields":{"slug":"/docs/dogus/postgresql/development/upgrade_dogu.de/","delocalizedSlug":"/docs/dogus/postgresql/development/upgrade_dogu/","title":"Upgrade des PostgreSQL-Dogus","folders":["dogus","postgresql","development"],"pageType":"docs","delocalizedElement":"upgrade_dogu"}}},{"node":{"fields":{"slug":"/docs/dogus/redmine/development/Setup_Integrationtests.de/","delocalizedSlug":"/docs/dogus/redmine/development/Setup_Integrationtests/","title":"Setup für die Integrationstests","folders":["dogus","redmine","development"],"pageType":"docs","delocalizedElement":"Setup_Integrationtests"}}},{"node":{"fields":{"slug":"/docs/dogus/redmine/development/cas_plugin_and_session_store.de/","delocalizedSlug":"/docs/dogus/redmine/development/cas_plugin_and_session_store/","title":"Entwicklerhinweise zum CAS-Plugin und dem Session-Store","folders":["dogus","redmine","development"],"pageType":"docs","delocalizedElement":"cas_plugin_and_session_store"}}},{"node":{"fields":{"slug":"/docs/dogus/redmine/development/shell_testing.de/","delocalizedSlug":"/docs/dogus/redmine/development/shell_testing/","title":"Shell-Tests","folders":["dogus","redmine","development"],"pageType":"docs","delocalizedElement":"shell_testing"}}},{"node":{"fields":{"slug":"/docs/dogus/redmine/development/upgrade_dogu.de/","delocalizedSlug":"/docs/dogus/redmine/development/upgrade_dogu/","title":"Upgrade des Redmine-Dogus","folders":["dogus","redmine","development"],"pageType":"docs","delocalizedElement":"upgrade_dogu"}}},{"node":{"fields":{"slug":"/docs/dogus/redmine/operations/change_gravatar_settings.de/","delocalizedSlug":"/docs/dogus/redmine/operations/change_gravatar_settings/","title":"Änderung der Gravatar-Einstellungen","folders":["dogus","redmine","operations"],"pageType":"docs","delocalizedElement":"change_gravatar_settings"}}},{"node":{"fields":{"slug":"/docs/dogus/redmine/operations/default_configuration.de/","delocalizedSlug":"/docs/dogus/redmine/operations/default_configuration/","title":"Konfiguration bei Dogu-Start ausbringen","folders":["dogus","redmine","operations"],"pageType":"docs","delocalizedElement":"default_configuration"}}},{"node":{"fields":{"slug":"/docs/dogus/redmine/operations/redmine_plugins.de/","delocalizedSlug":"/docs/dogus/redmine/operations/redmine_plugins/","title":"Dateiverwaltung von Redmine-Plugins","folders":["dogus","redmine","operations"],"pageType":"docs","delocalizedElement":"redmine_plugins"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/development/carp_develop_stage.de/","delocalizedSlug":"/docs/dogus/sonar/development/carp_develop_stage/","title":"CARP Entwicklungsmodus","folders":["dogus","sonar","development"],"pageType":"docs","delocalizedElement":"carp_develop_stage"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/development/carp_remote_debugging.de/","delocalizedSlug":"/docs/dogus/sonar/development/carp_remote_debugging/","title":"CARP-Remote-Debugging","folders":["dogus","sonar","development"],"pageType":"docs","delocalizedElement":"carp_remote_debugging"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/development/community-branch-plugin.de/","delocalizedSlug":"/docs/dogus/sonar/development/community-branch-plugin/","title":"SonarQube Community Branch Plugin","folders":["dogus","sonar","development"],"pageType":"docs","delocalizedElement":"community-branch-plugin"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/development/developing.de/","delocalizedSlug":"/docs/dogus/sonar/development/developing/","title":"Das SonarQube-Dogu entwickeln","folders":["dogus","sonar","development"],"pageType":"docs","delocalizedElement":"developing"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/development/scanning_code_the_easy_way.de/","delocalizedSlug":"/docs/dogus/sonar/development/scanning_code_the_easy_way/","title":"Einfacher mit Sonar-scanner-cli scannen","folders":["dogus","sonar","development"],"pageType":"docs","delocalizedElement":"scanning_code_the_easy_way"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/development/understanding_sonarcarp.de/","delocalizedSlug":"/docs/dogus/sonar/development/understanding_sonarcarp/","title":"Die Wirkweise von Sonarcarp verstehen","folders":["dogus","sonar","development"],"pageType":"docs","delocalizedElement":"understanding_sonarcarp"}}},{"node":{"fields":{"slug":"/docs/dogus/smeagol/development/Setup_Integrationtest.de/","delocalizedSlug":"/docs/dogus/smeagol/development/Setup_Integrationtest/","title":"Setup für die Integrationstests","folders":["dogus","smeagol","development"],"pageType":"docs","delocalizedElement":"Setup_Integrationtest"}}},{"node":{"fields":{"slug":"/docs/dogus/smeagol/development/start_and_debug_locally.de/","delocalizedSlug":"/docs/dogus/smeagol/development/start_and_debug_locally/","title":"Smeagol lokal starten","folders":["dogus","smeagol","development"],"pageType":"docs","delocalizedElement":"start_and_debug_locally"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/operations/global_permission.de/","delocalizedSlug":"/docs/dogus/sonar/operations/global_permission/","title":"Globale Berechtigungen","folders":["dogus","sonar","operations"],"pageType":"docs","delocalizedElement":"global_permission"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/operations/import_quality_profile.de/","delocalizedSlug":"/docs/dogus/sonar/operations/import_quality_profile/","title":"Funktionen","folders":["dogus","sonar","operations"],"pageType":"docs","delocalizedElement":"import_quality_profile"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/operations/permission_template.de/","delocalizedSlug":"/docs/dogus/sonar/operations/permission_template/","title":"Permission template","folders":["dogus","sonar","operations"],"pageType":"docs","delocalizedElement":"permission_template"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/sonar-cas-plugin/CHANGELOG.de/","delocalizedSlug":"/docs/dogus/sonar/sonar-cas-plugin/CHANGELOG/","title":"Changelog","folders":["dogus","sonar","sonar-cas-plugin"],"pageType":"docs","delocalizedElement":"CHANGELOG"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/sonar-cas-plugin/README.de/","delocalizedSlug":"/docs/dogus/sonar/sonar-cas-plugin/README/","title":"Readme","folders":["dogus","sonar","sonar-cas-plugin"],"pageType":"docs","delocalizedElement":"README"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/sonar-cas-plugin/architecture.de/","delocalizedSlug":"/docs/dogus/sonar/sonar-cas-plugin/architecture/","title":"Architektur","folders":["dogus","sonar","sonar-cas-plugin"],"pageType":"docs","delocalizedElement":"architecture"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/sonar-cas-plugin/development.de/","delocalizedSlug":"/docs/dogus/sonar/sonar-cas-plugin/development/","title":"Entwicklung des SonarQube-CAS-Plugins","folders":["dogus","sonar","sonar-cas-plugin"],"pageType":"docs","delocalizedElement":"development"}}},{"node":{"fields":{"slug":"/docs/dogus/sonar/sonar-cas-plugin/pluginConfiguration.de/","delocalizedSlug":"/docs/dogus/sonar/sonar-cas-plugin/pluginConfiguration/","title":"Plugin-Konfiguration","folders":["dogus","sonar","sonar-cas-plugin"],"pageType":"docs","delocalizedElement":"pluginConfiguration"}}},{"node":{"fields":{"slug":"/docs/dogus/swaggerui/development/local_setup.de/","delocalizedSlug":"/docs/dogus/swaggerui/development/local_setup/","title":"Aufsetzen des Swagger-UI Dogu","folders":["dogus","swaggerui","development"],"pageType":"docs","delocalizedElement":"local_setup"}}},{"node":{"fields":{"slug":"/docs/dogus/teamscale/operations/Install_Teamscale.de/","delocalizedSlug":"/docs/dogus/teamscale/operations/Install_Teamscale/","title":"Installation des Teamscale-Dogu","folders":["dogus","teamscale","operations"],"pageType":"docs","delocalizedElement":"Install_Teamscale"}}},{"node":{"fields":{"slug":"/docs/dogus/teamscale/operations/dogu_features.de/","delocalizedSlug":"/docs/dogus/teamscale/operations/dogu_features/","title":"Features des Teamscale-Dogus","folders":["dogus","teamscale","operations"],"pageType":"docs","delocalizedElement":"dogu_features"}}},{"node":{"fields":{"slug":"/docs/dogus/teamscale/operations/upgrade_teamscale.de/","delocalizedSlug":"/docs/dogus/teamscale/operations/upgrade_teamscale/","title":"Upgrade von Teamscale","folders":["dogus","teamscale","operations"],"pageType":"docs","delocalizedElement":"upgrade_teamscale"}}},{"node":{"fields":{"slug":"/docs/dogus/usermgt/development/Developers_Guide.de/","delocalizedSlug":"/docs/dogus/usermgt/development/Developers_Guide/","title":"Usermgt entwickeln","folders":["dogus","usermgt","development"],"pageType":"docs","delocalizedElement":"Developers_Guide"}}},{"node":{"fields":{"slug":"/docs/dogus/usermgt/development/api.de/","delocalizedSlug":"/docs/dogus/usermgt/development/api/","title":"Api-Beschreibung","folders":["dogus","usermgt","development"],"pageType":"docs","delocalizedElement":"api"}}},{"node":{"fields":{"slug":"/docs/dogus/usermgt/development/configure_integration_tests.de/","delocalizedSlug":"/docs/dogus/usermgt/development/configure_integration_tests/","title":"Konfiguration für Integrations-Tests","folders":["dogus","usermgt","development"],"pageType":"docs","delocalizedElement":"configure_integration_tests"}}},{"node":{"fields":{"slug":"/docs/dogus/usermgt/operations/create_users_synced.de/","delocalizedSlug":"/docs/dogus/usermgt/operations/create_users_synced/","title":"Create Users Synced","folders":["dogus","usermgt","operations"],"pageType":"docs","delocalizedElement":"create_users_synced"}}},{"node":{"fields":{"slug":"/docs/dogus/usermgt/operations/csv-import.de/","delocalizedSlug":"/docs/dogus/usermgt/operations/csv-import/","title":"CSV IMPORT","folders":["dogus","usermgt","operations"],"pageType":"docs","delocalizedElement":"csv-import"}}},{"node":{"fields":{"slug":"/docs/dogus/usermgt/operations/password-policy.de/","delocalizedSlug":"/docs/dogus/usermgt/operations/password-policy/","title":"Passwort Policy","folders":["dogus","usermgt","operations"],"pageType":"docs","delocalizedElement":"password-policy"}}},{"node":{"fields":{"slug":"/docs/system-components/ces-setup/operations/Configure_Unattended_Upgrades.de/","delocalizedSlug":"/docs/system-components/ces-setup/operations/Configure_Unattended_Upgrades/","title":"Konfiguration von unbeaufsichtigten Upgrades","folders":["system-components","ces-setup","operations"],"pageType":"docs","delocalizedElement":"Configure_Unattended_Upgrades"}}},{"node":{"fields":{"slug":"/docs/system-components/ces-setup/operations/Import_Projects.de/","delocalizedSlug":"/docs/system-components/ces-setup/operations/Import_Projects/","title":"Projekte beim CES-Setup importieren","folders":["system-components","ces-setup","operations"],"pageType":"docs","delocalizedElement":"Import_Projects"}}},{"node":{"fields":{"slug":"/docs/system-components/ces-setup/operations/setup-json.de/","delocalizedSlug":"/docs/system-components/ces-setup/operations/setup-json/","title":"Verwendung der setup.json","folders":["system-components","ces-setup","operations"],"pageType":"docs","delocalizedElement":"setup-json"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/development/access_structure.de/","delocalizedSlug":"/docs/system-components/cesapp/development/access_structure/","title":"Zugriffsstruktur","folders":["system-components","cesapp","development"],"pageType":"docs","delocalizedElement":"access_structure"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/development/cesapp_cmd_helptext_styleguide.de/","delocalizedSlug":"/docs/system-components/cesapp/development/cesapp_cmd_helptext_styleguide/","title":"Styleguide für die Ausgabe von Hilfetexten","folders":["system-components","cesapp","development"],"pageType":"docs","delocalizedElement":"cesapp_cmd_helptext_styleguide"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/development/dogu_json_upgrade_v2.de/","delocalizedSlug":"/docs/system-components/cesapp/development/dogu_json_upgrade_v2/","title":"Upgrade einer dogu.json von v1 zu v2","folders":["system-components","cesapp","development"],"pageType":"docs","delocalizedElement":"dogu_json_upgrade_v2"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/development/generating_mocks.de/","delocalizedSlug":"/docs/system-components/cesapp/development/generating_mocks/","title":"Erstellen von Mocks","folders":["system-components","cesapp","development"],"pageType":"docs","delocalizedElement":"generating_mocks"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/development/running_tests.de/","delocalizedSlug":"/docs/system-components/cesapp/development/running_tests/","title":"Ausführen von Tests","folders":["system-components","cesapp","development"],"pageType":"docs","delocalizedElement":"running_tests"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/development/major_release.de/","delocalizedSlug":"/docs/system-components/cesapp/development/major_release/","title":"cesapp in einer neuen Major-Version veröffentlichen","folders":["system-components","cesapp","development"],"pageType":"docs","delocalizedElement":"major_release"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/alert_mail.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/alert_mail/","title":"E-Mail-Benachrichtigung bei fehlgeschlagenen Prozessen","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"alert_mail"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/backup.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/backup/","title":"Befehl: cesapp backup","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"backup"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/blueprint_upgrade.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/blueprint_upgrade/","title":"Upgrade des CES mit Blueprints","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"blueprint_upgrade"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/build.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/build/","title":"Befehl: cesapp build","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"build"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/command.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/command/","title":"Befehl: cesapp command","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"command"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/debug_mode.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/debug_mode/","title":"Befehl: `cesapp debug-mode`","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"debug_mode"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/detail.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/detail/","title":"Befehl cesapp detail","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"detail"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/detailremote.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/detailremote/","title":"Befehl: cesapp detailremote","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"detailremote"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/dogu-upgrade.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/dogu-upgrade/","title":"Dogu-Upgrades","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"dogu-upgrade"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/edit_config.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/edit_config/","title":"Befehl: cesapp edit-config","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"edit_config"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/healthy.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/healthy/","title":"Befehl: cesapp healthy","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"healthy"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/install.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/install/","title":"Befehl: cesapp install","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"install"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/instance.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/instance/","title":"Befehl: cesapp instance","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"instance"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/list-remote.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/list-remote/","title":"Befehl: cesapp list-remote","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"list-remote"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/list.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/list/","title":"Befehl: cesapp list","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"list"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/list_upgrades.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/list_upgrades/","title":"Befehl: cesapp list-upgrades","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"list_upgrades"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/login.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/login/","title":"Befehl: cesapp login","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"login"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/migrating.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/migrating/","title":"Migration von Cesapp-Versionen","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"migrating"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/pull.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/pull/","title":"Befehl: cesapp pull","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"pull"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/purge.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/purge/","title":"Befehl: cesapp purge","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"purge"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/push.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/push/","title":"Befehl: cesapp push","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"push"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/reconfigure.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/reconfigure/","title":"Befehl: cesapp reconfigure","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"reconfigure"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/recreate.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/recreate/","title":"Befehl: cesapp recreate","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"recreate"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/remove-backups.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/remove-backups/","title":"Befehl cesapp remove-backups","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"remove-backups"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/remove-backups_list-policies.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/remove-backups_list-policies/","title":"Befehl: `cesapp remove-backups list-policies`","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"remove-backups_list-policies"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/restart.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/restart/","title":"Befehl: cesapp restart","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"restart"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/restore.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/restore/","title":"Befehl: cesapp restore","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"restore"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/start.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/start/","title":"Befehl: cesapp start","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"start"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/stop.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/stop/","title":"Befehl: cesapp stop","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"stop"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/switch-namespace.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/switch-namespace/","title":"Befehl: cesapp switch-namespace","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"switch-namespace"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/unregister.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/unregister/","title":"Befehl: cesapp unregister","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"unregister"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/upgrade.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/upgrade/","title":"Befehl: cesapp upgrade","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"upgrade"}}},{"node":{"fields":{"slug":"/docs/system-components/cesapp/operations/verify.de/","delocalizedSlug":"/docs/system-components/cesapp/operations/verify/","title":"Befehl: cesapp verify","folders":["system-components","cesapp","operations"],"pageType":"docs","delocalizedElement":"verify"}}},{"node":{"fields":{"slug":"/docs/system-components/cesappd/development/development.de/","delocalizedSlug":"/docs/system-components/cesappd/development/development/","title":"Entwicklung von cesappd","folders":["system-components","cesappd","development"],"pageType":"docs","delocalizedElement":"development"}}},{"node":{"fields":{"slug":"/docs/system-components/cesappd/operations/architecture.de/","delocalizedSlug":"/docs/system-components/cesappd/operations/architecture/","title":"Architektur des cesappd","folders":["system-components","cesappd","operations"],"pageType":"docs","delocalizedElement":"architecture"}}},{"node":{"fields":{"slug":"/docs/system-components/cesappd/operations/dogu_authentication.de/","delocalizedSlug":"/docs/system-components/cesappd/operations/dogu_authentication/","title":"Dogu Authentifizierung","folders":["system-components","cesappd","operations"],"pageType":"docs","delocalizedElement":"dogu_authentication"}}},{"node":{"fields":{"slug":"/docs/system-components/cesappd/operations/firewall.de/","delocalizedSlug":"/docs/system-components/cesappd/operations/firewall/","title":"Firewall-Einrichtung für Cesappd","folders":["system-components","cesappd","operations"],"pageType":"docs","delocalizedElement":"firewall"}}},{"node":{"fields":{"slug":"/docs/system-components/etcd/development/etcd_registry_structure.de/","delocalizedSlug":"/docs/system-components/etcd/development/etcd_registry_structure/","title":"Etcd-Registy-Struktur","folders":["system-components","etcd","development"],"pageType":"docs","delocalizedElement":"etcd_registry_structure"}}},{"node":{"fields":{"slug":"/docs/system-components/etcd/development/maintenance_mode.de/","delocalizedSlug":"/docs/system-components/etcd/development/maintenance_mode/","title":"Wartungsmodus","folders":["system-components","etcd","development"],"pageType":"docs","delocalizedElement":"maintenance_mode"}}}]},"site":{"siteMetadata":{"feedbackForumUrl":"https://community.cloudogu.com/c/cloudogu-ecosystem/ecosystem-docs/43"}}},"pageContext":{"slug":"/docs/dogus/cas/development/Upgrading_CAS/","pageType":"docs","locale":"de","hrefLang":"de-DE","originalPath":"/docs/dogus/cas/development/Upgrading_CAS/","dateFormat":"DD.MM.YYYY"}},"staticQueryHashes":["1239077767","1958541892","1958541892","3280999885","3280999885","3963778127","914906612"]}