[{"data":1,"prerenderedAt":1286},["ShallowReactive",2],{"navigation":3,"docs-navigation-de":4,"\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak":111,"\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak-surround":1281},[],[5,24,36,67,104],{"title":6,"path":7,"stem":8,"children":9,"icon":23},"Getting Started","\u002Fde\u002Fdocs\u002Fgetting-started","de\u002F1.docs\u002F1.getting-started\u002F1.index",[10,13,18],{"title":11,"path":7,"stem":8,"icon":12},"Einführung","i-lucide-house",{"title":14,"path":15,"stem":16,"icon":17},"Erste Schritte","\u002Fde\u002Fdocs\u002Fgetting-started\u002Fget-started","de\u002F1.docs\u002F1.getting-started\u002F2.get-started","i-lucide-rocket",{"title":19,"path":20,"stem":21,"icon":22},"Funktionsweise","\u002Fde\u002Fdocs\u002Fgetting-started\u002Fhow-it-works","de\u002F1.docs\u002F1.getting-started\u002F3.how-it-works","i-lucide-lightbulb",false,{"title":25,"path":26,"stem":27,"children":28,"icon":23},"Guides","\u002Fde\u002Fdocs\u002Fguides","de\u002F1.docs\u002F2.guides\u002F1.index",[29,31],{"title":25,"path":26,"stem":27,"icon":30},"i-lucide-book-open",{"title":32,"path":33,"stem":34,"icon":35},"Container Registry verbinden","\u002Fde\u002Fdocs\u002Fguides\u002Fcontainer-registries","de\u002F1.docs\u002F2.guides\u002F2.container-registries","i-lucide-container",{"title":37,"path":38,"stem":39,"children":40,"icon":23},"App Services","\u002Fde\u002Fdocs\u002Fapp-services","de\u002F1.docs\u002F3.app-services\u002F1.index",[41,42,47,52,57,62],{"title":37,"path":38,"stem":39,"icon":17},{"title":43,"path":44,"stem":45,"icon":46},"Build Settings","\u002Fde\u002Fdocs\u002Fapp-services\u002Fbuild-settings","de\u002F1.docs\u002F3.app-services\u002F2.build-settings","i-lucide-settings",{"title":48,"path":49,"stem":50,"icon":51},"Env Variables","\u002Fde\u002Fdocs\u002Fapp-services\u002Fenvironment-variables","de\u002F1.docs\u002F3.app-services\u002F3.environment-variables","i-lucide-key",{"title":53,"path":54,"stem":55,"icon":56},"Custom Domains","\u002Fde\u002Fdocs\u002Fapp-services\u002Fcustom-domains","de\u002F1.docs\u002F3.app-services\u002F4.custom-domains","i-lucide-globe",{"title":58,"path":59,"stem":60,"icon":61},"Health Checks","\u002Fde\u002Fdocs\u002Fapp-services\u002Fhealth-checks","de\u002F1.docs\u002F3.app-services\u002F5.health-checks","i-lucide-heart-pulse",{"title":63,"path":64,"stem":65,"icon":66},"Autoscaling","\u002Fde\u002Fdocs\u002Fapp-services\u002Fautoscaling","de\u002F1.docs\u002F3.app-services\u002F6.autoscaling","i-lucide-scaling",{"title":68,"path":69,"stem":70,"children":71,"icon":23},"Helm Releases","\u002Fde\u002Fdocs\u002Fhelm-releases","de\u002F1.docs\u002F4.helm-releases\u002F1.index",[72,74,79,84,89,94,99],{"title":68,"path":69,"stem":70,"icon":73},"i-lucide-package",{"title":75,"path":76,"stem":77,"icon":78},"PostgreSQL deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-postgresql","de\u002F1.docs\u002F4.helm-releases\u002F2.deploy-postgresql","i-lucide-database",{"title":80,"path":81,"stem":82,"icon":83},"Redis deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-redis","de\u002F1.docs\u002F4.helm-releases\u002F3.deploy-redis","i-lucide-zap",{"title":85,"path":86,"stem":87,"icon":88},"n8n deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-n8n","de\u002F1.docs\u002F4.helm-releases\u002F4.deploy-n8n","i-lucide-workflow",{"title":90,"path":91,"stem":92,"icon":93},"RustFS deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-rustfs","de\u002F1.docs\u002F4.helm-releases\u002F5.deploy-rustfs","i-lucide-hard-drive",{"title":95,"path":96,"stem":97,"icon":98},"OpenSearch deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-opensearch","de\u002F1.docs\u002F4.helm-releases\u002F6.deploy-opensearch","i-lucide-search",{"title":100,"path":101,"stem":102,"icon":103},"Keycloak deployen","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak","de\u002F1.docs\u002F4.helm-releases\u002F7.deploy-keycloak","i-lucide-shield-check",{"title":105,"path":106,"stem":107,"children":108,"icon":23},"Glossar","\u002Fde\u002Fdocs\u002Fglossary","de\u002F1.docs\u002F5.glossary\u002F1.index",[109],{"title":105,"path":106,"stem":107,"icon":110},"i-lucide-book-a",{"id":112,"title":100,"body":113,"description":1274,"extension":1275,"lastUpdated":1276,"meta":1277,"navigation":1278,"path":101,"seo":1279,"stem":102,"__hash__":1280},"docs_de\u002Fde\u002F1.docs\u002F4.helm-releases\u002F7.deploy-keycloak.md",{"type":114,"value":115,"toc":1259},"minimark",[116,120,131,143,148,158,162,165,279,291,295,298,481,485,490,501,505,512,516,522,685,689,700,704,707,1072,1076,1079,1110,1117,1121,1124,1217,1228,1232,1255],[117,118,119],"p",{},"Keycloak ist eine quelloffene Identity- und Access-Management-Lösung. Mit dem lowcloud Helm Release deployst du Keycloak in deinem Kubernetes-Cluster – inklusive eingebetteter PostgreSQL-Datenbank, Ingress-Unterstützung und optionalem Realm-Import.",[117,121,122,126,127],{},[123,124,125],"strong",{},"Chart-Registry:"," ",[128,129,130],"code",{},"oci:\u002F\u002Fregistry-1.docker.io\u002Fcloudpirates\u002Fkeycloak",[117,132,133,134,142],{},"Das Helm Release wird von den ",[135,136,141],"a",{"href":137,"rel":138,"target":140},"https:\u002F\u002Fartifacthub.io\u002Fpackages\u002Fhelm\u002Fcloudpirates-keycloak\u002Fkeycloak",[139],"nofollow","\\_blank","Cloud Pirates"," bereitgestellt und gepflegt.",[144,145,147],"h2",{"id":146},"voraussetzungen","Voraussetzungen",[149,150,151,155],"ul",{},[152,153,154],"li",{},"Ein lowcloud-Account mit aktivem Cluster",[152,156,157],{},"Zugriff auf das lowcloud Dashboard",[144,159,161],{"id":160},"quick-start","Quick Start",[117,163,164],{},"Minimale Konfiguration, um Keycloak schnell zum Laufen zu bringen:",[166,167,172],"pre",{"className":168,"code":169,"language":170,"meta":171,"style":171},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","keycloak:\n  adminUser: admin\n  adminPassword: your-secure-password\n  hostname: https:\u002F\u002Fauth.example.com\n  proxyHeaders: xforwarded\n\npostgres:\n  enabled: true\n  auth:\n    password: your-db-password\n","yaml","",[128,173,174,187,200,211,222,233,240,248,260,268],{"__ignoreMap":171},[175,176,179,183],"span",{"class":177,"line":178},"line",1,[175,180,182],{"class":181},"swJcz","keycloak",[175,184,186],{"class":185},"sMK4o",":\n",[175,188,190,193,196],{"class":177,"line":189},2,[175,191,192],{"class":181},"  adminUser",[175,194,195],{"class":185},":",[175,197,199],{"class":198},"sfazB"," admin\n",[175,201,203,206,208],{"class":177,"line":202},3,[175,204,205],{"class":181},"  adminPassword",[175,207,195],{"class":185},[175,209,210],{"class":198}," your-secure-password\n",[175,212,214,217,219],{"class":177,"line":213},4,[175,215,216],{"class":181},"  hostname",[175,218,195],{"class":185},[175,220,221],{"class":198}," https:\u002F\u002Fauth.example.com\n",[175,223,225,228,230],{"class":177,"line":224},5,[175,226,227],{"class":181},"  proxyHeaders",[175,229,195],{"class":185},[175,231,232],{"class":198}," xforwarded\n",[175,234,236],{"class":177,"line":235},6,[175,237,239],{"emptyLinePlaceholder":238},true,"\n",[175,241,243,246],{"class":177,"line":242},7,[175,244,245],{"class":181},"postgres",[175,247,186],{"class":185},[175,249,251,254,256],{"class":177,"line":250},8,[175,252,253],{"class":181},"  enabled",[175,255,195],{"class":185},[175,257,259],{"class":258},"sfNiH"," true\n",[175,261,263,266],{"class":177,"line":262},9,[175,264,265],{"class":181},"  auth",[175,267,186],{"class":185},[175,269,271,274,276],{"class":177,"line":270},10,[175,272,273],{"class":181},"    password",[175,275,195],{"class":185},[175,277,278],{"class":198}," your-db-password\n",[280,281,284],"callout",{"color":282,"icon":283},"warning","i-lucide-triangle-alert",[117,285,286,287,290],{},"Setze ",[128,288,289],{},"keycloak.proxyHeaders: xforwarded",", wenn Keycloak hinter einem nginx-Ingress oder einem anderen Reverse Proxy betrieben wird. Ohne diesen Parameter funktionieren Redirects und Token-Validierungen nicht korrekt.",[144,292,294],{"id":293},"konfiguration","Konfiguration",[117,296,297],{},"Die wichtigsten Konfigurationsoptionen im Überblick:",[299,300,301,317],"table",{},[302,303,304],"thead",{},[305,306,307,311,314],"tr",{},[308,309,310],"th",{},"Parameter",[308,312,313],{},"Beschreibung",[308,315,316],{},"Default",[318,319,320,336,353,365,385,404,418,430,445,460],"tbody",{},[305,321,322,328,331],{},[323,324,325],"td",{},[128,326,327],{},"keycloak.adminUser",[323,329,330],{},"Benutzername des Keycloak-Admins",[323,332,333],{},[128,334,335],{},"admin",[305,337,338,343,350],{},[323,339,340],{},[128,341,342],{},"keycloak.adminPassword",[323,344,345,346,349],{},"Passwort des Admins (oder ",[128,347,348],{},"existingSecret"," nutzen)",[323,351,352],{},"—",[305,354,355,360,363],{},[323,356,357],{},[128,358,359],{},"keycloak.hostname",[323,361,362],{},"Öffentliche URL der Keycloak-Instanz",[323,364,352],{},[305,366,367,372,383],{},[323,368,369],{},[128,370,371],{},"keycloak.proxyHeaders",[323,373,374,375,378,379,382],{},"Proxy-Header-Modus (",[128,376,377],{},"xforwarded"," oder ",[128,380,381],{},"forwarded",")",[323,384,352],{},[305,386,387,392,399],{},[323,388,389],{},[128,390,391],{},"keycloak.production",[323,393,394,395,398],{},"Produktionsmodus (",[128,396,397],{},"start",") oder Dev-Modus",[323,400,401],{},[128,402,403],{},"true",[305,405,406,411,414],{},[323,407,408],{},[128,409,410],{},"postgres.enabled",[323,412,413],{},"Eingebettete PostgreSQL aktivieren",[323,415,416],{},[128,417,403],{},[305,419,420,425,428],{},[323,421,422],{},[128,423,424],{},"postgres.auth.password",[323,426,427],{},"Passwort für die eingebettete Datenbank",[323,429,352],{},[305,431,432,437,440],{},[323,433,434],{},[128,435,436],{},"ingress.enabled",[323,438,439],{},"Ingress aktivieren",[323,441,442],{},[128,443,444],{},"false",[305,446,447,452,458],{},[323,448,449],{},[128,450,451],{},"ingress.className",[323,453,454,455,382],{},"Ingress-Klasse (z.B. ",[128,456,457],{},"nginx",[323,459,352],{},[305,461,462,467,477],{},[323,463,464],{},[128,465,466],{},"cache.stack",[323,468,469,470,378,473,476],{},"Cache-Modus (",[128,471,472],{},"local",[128,474,475],{},"ispn"," für Multi-Replica)",[323,478,479],{},[128,480,472],{},[144,482,484],{"id":483},"schritt-für-schritt-anleitung","Schritt-für-Schritt Anleitung",[486,487,489],"h3",{"id":488},"_1-service-hinzufügen","1. Service hinzufügen",[117,491,492,493,496,497,500],{},"Navigiere im lowcloud Dashboard zu ",[123,494,495],{},"Add Service"," und wähle ",[123,498,499],{},"Helm Release"," aus. Suche im Popup nach der Keycloak-Registry:",[117,502,503],{},[128,504,130],{},[117,506,507,508,511],{},"Wähle anschließend die gewünschte Version aus. Die Option ",[123,509,510],{},"\"latest\""," ist in den meisten Fällen eine gute Wahl.",[486,513,515],{"id":514},"_2-values-konfigurieren","2. Values konfigurieren",[117,517,518,519,521],{},"Gib dem Service einen aussagekräftigen Namen (z.B. ",[128,520,182],{},"). Passe dann die Values an:",[166,523,525],{"className":168,"code":524,"language":170,"meta":171,"style":171},"keycloak:\n  adminUser: admin\n  adminPassword: your-secure-password\n  hostname: https:\u002F\u002Fauth.example.com\n  proxyHeaders: xforwarded\n\npostgres:\n  enabled: true\n  auth:\n    password: your-db-password\n\ningress:\n  enabled: true\n  className: nginx\n  hosts:\n    - host: auth.example.com\n      paths:\n        - path: \u002F\n          pathType: Prefix\n",[128,526,527,533,541,549,557,565,569,575,583,589,597,602,610,619,630,638,652,660,674],{"__ignoreMap":171},[175,528,529,531],{"class":177,"line":178},[175,530,182],{"class":181},[175,532,186],{"class":185},[175,534,535,537,539],{"class":177,"line":189},[175,536,192],{"class":181},[175,538,195],{"class":185},[175,540,199],{"class":198},[175,542,543,545,547],{"class":177,"line":202},[175,544,205],{"class":181},[175,546,195],{"class":185},[175,548,210],{"class":198},[175,550,551,553,555],{"class":177,"line":213},[175,552,216],{"class":181},[175,554,195],{"class":185},[175,556,221],{"class":198},[175,558,559,561,563],{"class":177,"line":224},[175,560,227],{"class":181},[175,562,195],{"class":185},[175,564,232],{"class":198},[175,566,567],{"class":177,"line":235},[175,568,239],{"emptyLinePlaceholder":238},[175,570,571,573],{"class":177,"line":242},[175,572,245],{"class":181},[175,574,186],{"class":185},[175,576,577,579,581],{"class":177,"line":250},[175,578,253],{"class":181},[175,580,195],{"class":185},[175,582,259],{"class":258},[175,584,585,587],{"class":177,"line":262},[175,586,265],{"class":181},[175,588,186],{"class":185},[175,590,591,593,595],{"class":177,"line":270},[175,592,273],{"class":181},[175,594,195],{"class":185},[175,596,278],{"class":198},[175,598,600],{"class":177,"line":599},11,[175,601,239],{"emptyLinePlaceholder":238},[175,603,605,608],{"class":177,"line":604},12,[175,606,607],{"class":181},"ingress",[175,609,186],{"class":185},[175,611,613,615,617],{"class":177,"line":612},13,[175,614,253],{"class":181},[175,616,195],{"class":185},[175,618,259],{"class":258},[175,620,622,625,627],{"class":177,"line":621},14,[175,623,624],{"class":181},"  className",[175,626,195],{"class":185},[175,628,629],{"class":198}," nginx\n",[175,631,633,636],{"class":177,"line":632},15,[175,634,635],{"class":181},"  hosts",[175,637,186],{"class":185},[175,639,641,644,647,649],{"class":177,"line":640},16,[175,642,643],{"class":185},"    -",[175,645,646],{"class":181}," host",[175,648,195],{"class":185},[175,650,651],{"class":198}," auth.example.com\n",[175,653,655,658],{"class":177,"line":654},17,[175,656,657],{"class":181},"      paths",[175,659,186],{"class":185},[175,661,663,666,669,671],{"class":177,"line":662},18,[175,664,665],{"class":185},"        -",[175,667,668],{"class":181}," path",[175,670,195],{"class":185},[175,672,673],{"class":198}," \u002F\n",[175,675,677,680,682],{"class":177,"line":676},19,[175,678,679],{"class":181},"          pathType",[175,681,195],{"class":185},[175,683,684],{"class":198}," Prefix\n",[486,686,688],{"id":687},"_3-deployment-starten","3. Deployment starten",[117,690,691,692,695,696,699],{},"Öffne den erstellten Service und klicke auf ",[123,693,694],{},"Deploy",". Warte, bis das Label im Dashboard auf ",[123,697,698],{},"\"Deployed\""," wechselt. Keycloak ist anschließend über die konfigurierte Hostname-URL erreichbar.",[144,701,703],{"id":702},"erweiterte-values","Erweiterte Values",[117,705,706],{},"Für den produktiven Einsatz empfiehlt sich eine vollständige Konfiguration mit Persistence, Resource Limits und TLS:",[166,708,710],{"className":168,"code":709,"language":170,"meta":171,"style":171},"keycloak:\n  adminUser: admin\n  adminPassword: your-secure-password\n  hostname: https:\u002F\u002Fauth.example.com\n  proxyHeaders: xforwarded\n  production: true\n\npostgres:\n  enabled: true\n  auth:\n    password: your-db-password\n  primary:\n    persistence:\n      enabled: true\n      size: 10Gi\n    resources:\n      requests:\n        cpu: 250m\n        memory: 256Mi\n      limits:\n        cpu: 500m\n        memory: 512Mi\n\ningress:\n  enabled: true\n  className: nginx\n  hosts:\n    - host: auth.example.com\n      paths:\n        - path: \u002F\n          pathType: Prefix\n  tls:\n    - secretName: auth-tls\n      hosts:\n        - auth.example.com\n\nresources:\n  requests:\n    cpu: 500m\n    memory: 512Mi\n  limits:\n    cpu: '2'\n    memory: 1Gi\n",[128,711,712,718,726,734,742,750,759,763,769,777,783,791,798,805,814,824,831,838,848,858,866,876,886,891,898,907,916,923,934,941,952,961,969,982,990,997,1002,1010,1018,1028,1038,1046,1062],{"__ignoreMap":171},[175,713,714,716],{"class":177,"line":178},[175,715,182],{"class":181},[175,717,186],{"class":185},[175,719,720,722,724],{"class":177,"line":189},[175,721,192],{"class":181},[175,723,195],{"class":185},[175,725,199],{"class":198},[175,727,728,730,732],{"class":177,"line":202},[175,729,205],{"class":181},[175,731,195],{"class":185},[175,733,210],{"class":198},[175,735,736,738,740],{"class":177,"line":213},[175,737,216],{"class":181},[175,739,195],{"class":185},[175,741,221],{"class":198},[175,743,744,746,748],{"class":177,"line":224},[175,745,227],{"class":181},[175,747,195],{"class":185},[175,749,232],{"class":198},[175,751,752,755,757],{"class":177,"line":235},[175,753,754],{"class":181},"  production",[175,756,195],{"class":185},[175,758,259],{"class":258},[175,760,761],{"class":177,"line":242},[175,762,239],{"emptyLinePlaceholder":238},[175,764,765,767],{"class":177,"line":250},[175,766,245],{"class":181},[175,768,186],{"class":185},[175,770,771,773,775],{"class":177,"line":262},[175,772,253],{"class":181},[175,774,195],{"class":185},[175,776,259],{"class":258},[175,778,779,781],{"class":177,"line":270},[175,780,265],{"class":181},[175,782,186],{"class":185},[175,784,785,787,789],{"class":177,"line":599},[175,786,273],{"class":181},[175,788,195],{"class":185},[175,790,278],{"class":198},[175,792,793,796],{"class":177,"line":604},[175,794,795],{"class":181},"  primary",[175,797,186],{"class":185},[175,799,800,803],{"class":177,"line":612},[175,801,802],{"class":181},"    persistence",[175,804,186],{"class":185},[175,806,807,810,812],{"class":177,"line":621},[175,808,809],{"class":181},"      enabled",[175,811,195],{"class":185},[175,813,259],{"class":258},[175,815,816,819,821],{"class":177,"line":632},[175,817,818],{"class":181},"      size",[175,820,195],{"class":185},[175,822,823],{"class":198}," 10Gi\n",[175,825,826,829],{"class":177,"line":640},[175,827,828],{"class":181},"    resources",[175,830,186],{"class":185},[175,832,833,836],{"class":177,"line":654},[175,834,835],{"class":181},"      requests",[175,837,186],{"class":185},[175,839,840,843,845],{"class":177,"line":662},[175,841,842],{"class":181},"        cpu",[175,844,195],{"class":185},[175,846,847],{"class":198}," 250m\n",[175,849,850,853,855],{"class":177,"line":676},[175,851,852],{"class":181},"        memory",[175,854,195],{"class":185},[175,856,857],{"class":198}," 256Mi\n",[175,859,861,864],{"class":177,"line":860},20,[175,862,863],{"class":181},"      limits",[175,865,186],{"class":185},[175,867,869,871,873],{"class":177,"line":868},21,[175,870,842],{"class":181},[175,872,195],{"class":185},[175,874,875],{"class":198}," 500m\n",[175,877,879,881,883],{"class":177,"line":878},22,[175,880,852],{"class":181},[175,882,195],{"class":185},[175,884,885],{"class":198}," 512Mi\n",[175,887,889],{"class":177,"line":888},23,[175,890,239],{"emptyLinePlaceholder":238},[175,892,894,896],{"class":177,"line":893},24,[175,895,607],{"class":181},[175,897,186],{"class":185},[175,899,901,903,905],{"class":177,"line":900},25,[175,902,253],{"class":181},[175,904,195],{"class":185},[175,906,259],{"class":258},[175,908,910,912,914],{"class":177,"line":909},26,[175,911,624],{"class":181},[175,913,195],{"class":185},[175,915,629],{"class":198},[175,917,919,921],{"class":177,"line":918},27,[175,920,635],{"class":181},[175,922,186],{"class":185},[175,924,926,928,930,932],{"class":177,"line":925},28,[175,927,643],{"class":185},[175,929,646],{"class":181},[175,931,195],{"class":185},[175,933,651],{"class":198},[175,935,937,939],{"class":177,"line":936},29,[175,938,657],{"class":181},[175,940,186],{"class":185},[175,942,944,946,948,950],{"class":177,"line":943},30,[175,945,665],{"class":185},[175,947,668],{"class":181},[175,949,195],{"class":185},[175,951,673],{"class":198},[175,953,955,957,959],{"class":177,"line":954},31,[175,956,679],{"class":181},[175,958,195],{"class":185},[175,960,684],{"class":198},[175,962,964,967],{"class":177,"line":963},32,[175,965,966],{"class":181},"  tls",[175,968,186],{"class":185},[175,970,972,974,977,979],{"class":177,"line":971},33,[175,973,643],{"class":185},[175,975,976],{"class":181}," secretName",[175,978,195],{"class":185},[175,980,981],{"class":198}," auth-tls\n",[175,983,985,988],{"class":177,"line":984},34,[175,986,987],{"class":181},"      hosts",[175,989,186],{"class":185},[175,991,993,995],{"class":177,"line":992},35,[175,994,665],{"class":185},[175,996,651],{"class":198},[175,998,1000],{"class":177,"line":999},36,[175,1001,239],{"emptyLinePlaceholder":238},[175,1003,1005,1008],{"class":177,"line":1004},37,[175,1006,1007],{"class":181},"resources",[175,1009,186],{"class":185},[175,1011,1013,1016],{"class":177,"line":1012},38,[175,1014,1015],{"class":181},"  requests",[175,1017,186],{"class":185},[175,1019,1021,1024,1026],{"class":177,"line":1020},39,[175,1022,1023],{"class":181},"    cpu",[175,1025,195],{"class":185},[175,1027,875],{"class":198},[175,1029,1031,1034,1036],{"class":177,"line":1030},40,[175,1032,1033],{"class":181},"    memory",[175,1035,195],{"class":185},[175,1037,885],{"class":198},[175,1039,1041,1044],{"class":177,"line":1040},41,[175,1042,1043],{"class":181},"  limits",[175,1045,186],{"class":185},[175,1047,1049,1051,1053,1056,1059],{"class":177,"line":1048},42,[175,1050,1023],{"class":181},[175,1052,195],{"class":185},[175,1054,1055],{"class":185}," '",[175,1057,1058],{"class":198},"2",[175,1060,1061],{"class":185},"'\n",[175,1063,1065,1067,1069],{"class":177,"line":1064},43,[175,1066,1033],{"class":181},[175,1068,195],{"class":185},[175,1070,1071],{"class":198}," 1Gi\n",[486,1073,1075],{"id":1074},"realm-import","Realm-Import",[117,1077,1078],{},"Du kannst beim Start automatisch einen Realm importieren. Hinterlege deine Realm-Konfiguration als Kubernetes Secret und referenziere sie:",[166,1080,1082],{"className":168,"code":1081,"language":170,"meta":171,"style":171},"realm:\n  import: true\n  existingSecret: my-realm-secret\n",[128,1083,1084,1091,1100],{"__ignoreMap":171},[175,1085,1086,1089],{"class":177,"line":178},[175,1087,1088],{"class":181},"realm",[175,1090,186],{"class":185},[175,1092,1093,1096,1098],{"class":177,"line":189},[175,1094,1095],{"class":181},"  import",[175,1097,195],{"class":185},[175,1099,259],{"class":258},[175,1101,1102,1105,1107],{"class":177,"line":202},[175,1103,1104],{"class":181},"  existingSecret",[175,1106,195],{"class":185},[175,1108,1109],{"class":198}," my-realm-secret\n",[117,1111,1112,1113,1116],{},"Das Secret muss einen Key ",[128,1114,1115],{},"realm.json"," mit dem Realm-JSON-Inhalt enthalten.",[486,1118,1120],{"id":1119},"externe-datenbank","Externe Datenbank",[117,1122,1123],{},"Falls du eine bereits vorhandene PostgreSQL-Instanz nutzen möchtest, deaktiviere die eingebettete Datenbank und konfiguriere die externe Verbindung:",[166,1125,1127],{"className":168,"code":1126,"language":170,"meta":171,"style":171},"postgres:\n  enabled: false\n\ndatabase:\n  type: postgres\n  host: my-postgres-service\n  port: '5432'\n  name: keycloak\n  username: keycloak\n  password: your-db-password\n",[128,1128,1129,1135,1144,1148,1155,1165,1175,1189,1199,1208],{"__ignoreMap":171},[175,1130,1131,1133],{"class":177,"line":178},[175,1132,245],{"class":181},[175,1134,186],{"class":185},[175,1136,1137,1139,1141],{"class":177,"line":189},[175,1138,253],{"class":181},[175,1140,195],{"class":185},[175,1142,1143],{"class":258}," false\n",[175,1145,1146],{"class":177,"line":202},[175,1147,239],{"emptyLinePlaceholder":238},[175,1149,1150,1153],{"class":177,"line":213},[175,1151,1152],{"class":181},"database",[175,1154,186],{"class":185},[175,1156,1157,1160,1162],{"class":177,"line":224},[175,1158,1159],{"class":181},"  type",[175,1161,195],{"class":185},[175,1163,1164],{"class":198}," postgres\n",[175,1166,1167,1170,1172],{"class":177,"line":235},[175,1168,1169],{"class":181},"  host",[175,1171,195],{"class":185},[175,1173,1174],{"class":198}," my-postgres-service\n",[175,1176,1177,1180,1182,1184,1187],{"class":177,"line":242},[175,1178,1179],{"class":181},"  port",[175,1181,195],{"class":185},[175,1183,1055],{"class":185},[175,1185,1186],{"class":198},"5432",[175,1188,1061],{"class":185},[175,1190,1191,1194,1196],{"class":177,"line":250},[175,1192,1193],{"class":181},"  name",[175,1195,195],{"class":185},[175,1197,1198],{"class":198}," keycloak\n",[175,1200,1201,1204,1206],{"class":177,"line":262},[175,1202,1203],{"class":181},"  username",[175,1205,195],{"class":185},[175,1207,1198],{"class":198},[175,1209,1210,1213,1215],{"class":177,"line":270},[175,1211,1212],{"class":181},"  password",[175,1214,195],{"class":185},[175,1216,278],{"class":198},[280,1218,1221],{"color":1219,"icon":1220},"info","i-lucide-link",[117,1222,1223,1224,1227],{},"Wenn du eine externe PostgreSQL-Instanz aus einem anderen Helm Release verwendest, verbinde die beiden Services über ",[123,1225,1226],{},"Helm Release Dependencies"," im lowcloud Dashboard.",[144,1229,1231],{"id":1230},"weiterführende-links","Weiterführende Links",[149,1233,1234,1241,1248],{},[152,1235,1236],{},[135,1237,1240],{"href":1238,"rel":1239,"target":140},"https:\u002F\u002Fartifacthub.io\u002Fpackages\u002Fhelm\u002Fcloudpirates\u002Fkeycloak",[139],"Keycloak Chart auf ArtifactHub",[152,1242,1243],{},[135,1244,1247],{"href":1245,"rel":1246,"target":140},"https:\u002F\u002Fgithub.com\u002FCloudPirates-io\u002Fhelm-charts\u002Ftree\u002Fmain\u002Fcharts\u002Fkeycloak",[139],"Keycloak Helm Chart auf GitHub",[152,1249,1250],{},[135,1251,1254],{"href":1252,"rel":1253,"target":140},"https:\u002F\u002Fwww.keycloak.org\u002Fdocumentation",[139],"Keycloak Dokumentation",[1256,1257,1258],"style",{},"html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":171,"searchDepth":189,"depth":189,"links":1260},[1261,1262,1263,1264,1269,1273],{"id":146,"depth":189,"text":147},{"id":160,"depth":189,"text":161},{"id":293,"depth":189,"text":294},{"id":483,"depth":189,"text":484,"children":1265},[1266,1267,1268],{"id":488,"depth":202,"text":489},{"id":514,"depth":202,"text":515},{"id":687,"depth":202,"text":688},{"id":702,"depth":189,"text":703,"children":1270},[1271,1272],{"id":1074,"depth":202,"text":1075},{"id":1119,"depth":202,"text":1120},{"id":1230,"depth":189,"text":1231},"Lerne, wie du Keycloak als Helm Release über lowcloud deployst – inklusive Datenbankanbindung, Ingress-Konfiguration und Realm-Import.","md","2026-03-27",{},{"icon":103},{"title":100,"description":1274},"fH59foRfq-2JT_gJW17-L6elQCLAgjMkdPLAPsX4Qyg",[1282,1284],{"title":95,"path":96,"stem":97,"description":1283,"icon":98,"children":-1},"Lerne, wie du OpenSearch als Such- und Analytics-Engine über lowcloud in deinem Kubernetes-Cluster deployst.",{"title":105,"path":106,"stem":107,"description":1285,"icon":110,"children":-1},"Die wichtigsten Begriffe aus den Bereichen Cloud, Kubernetes und DevOps verständlich erklärt.",1775388359793]