Assistent · openDesk
openDesk Readiness Check
Bevor du openDesk ausrollst: Geh die Voraussetzungen Punkt für Punkt durch. Zu fast jedem Punkt gibt es einen lesenden Befehl, mit dem du selbst nachsiehst — so wird aus einer Vermutung ein geprüftes Ergebnis. Am Ende steht ein Urteil, das offen sagt, worauf es beruht.
Eingeschränkt
Pflicht: 0/13 erfüllt · davon 0 geprüft · 0 nein · 13 offen
Das Urteil gibt nur deine Antworten wieder. „Geprüft“ heißt: Du hast den lesenden Befehl ausgeführt und das Ergebnis passt zur Deutung. Das Tool verbindet sich mit keinem Cluster. Stand der Anforderungen: openDesk 1.19.1.
Cluster
Kubernetes ab Version 1.24, CNCF-zertifizierte Distribution
PflichtopenDesk setzt einen bestehenden Cluster voraus und ist laut Doku gegen kubespray-basierte Cluster getestet, nicht gegen OpenShift.
Selbst prüfen (lesend)
kubectl version„Server Version“ v1.24 oder neuer → passt.
Alle Nodes laufen auf x86/x64 (amd64)
PflichtARM wird von openDesk nicht unterstützt — Images gibt es nur für x86/x64.
Selbst prüfen (lesend)
kubectl get nodes -L kubernetes.io/archSpalte ARCH zeigt überall amd64 → passt. arm64 → diese Nodes eignen sich nicht.
Eigener Namespace und ausreichende Rechte zum Ausrollen
EmpfohlenopenDesk rollt über 35 Helm-Charts in einen Namespace aus — inklusive Jobs, Secrets und Ingress-Objekten.
Selbst prüfen (lesend)
kubectl auth can-i create deployments -n opendesk„yes“ → du darfst ausrollen. Dasselbe für secrets, ingresses und jobs prüfen.
Werkzeuge: Helm, Helmfile, yq
Helm ab 3.17.3 und unter 4 — aber nicht 3.18.0 oder 3.20.1
PflichtopenDesk 1.19 unterstützt Helm 4 noch nicht; zwei Helm-3-Versionen sind wegen Fehlern ausgeschlossen.
Selbst prüfen (lesend)
helm version --shortv3.17.3 bis v3.x (außer v3.18.0 und v3.20.1) → passt. v4.x → nicht unterstützt.
Helmfile ab 1.0.0
PflichtHelmfile orchestriert die Charts von openDesk in fester Reihenfolge.
Selbst prüfen (lesend)
helmfile --versionVersion 1.0.0 oder neuer → passt.
Helm-Plugin helm-diff ab 3.11.0
PflichtHelmfile braucht helm-diff, um Änderungen vor dem Ausrollen zu vergleichen.
Selbst prüfen (lesend)
helm plugin listZeile „diff“ mit Version 3.11.0 oder neuer → passt.
yq ab 4.52.4
PflichtSteht in den Systemanforderungen von openDesk als benötigtes Werkzeug.
Selbst prüfen (lesend)
yq --versionVersion 4.52.4 oder neuer (mikefarah/yq) → passt.
DNS, Ingress und Ports
DNS: Wildcard-Eintrag *.domain und die Basisdomain zeigen auf den Ingress
PflichtJede openDesk-Anwendung bekommt eine eigene Subdomain (portal, files, chat, meet …).
Selbst prüfen (lesend)
dig +short test.<domain>Eine beliebige Subdomain liefert die Adresse des Ingress-Controllers → Wildcard funktioniert.
Basisdomain kürzer als 94 Zeichen
EmpfohlenDie openDesk-Doku empfiehlt das wegen eines Fehlers in einer Komponente (SSSD).
Ingress-Controller haproxy-ingress — oder ingress-nginx mit den Pflichtoptionen
Pflichthaproxy-ingress ist seit openDesk 1.13 der Standard. ingress-nginx ist abgekündigt und braucht erlaubte Snippet-Annotationen und annotations-risk-level: Critical.
Selbst prüfen (lesend)
kubectl get ingressclassKlasse haproxy → passt zum Standard. nginx → in der Konfiguration umstellen. traefik → nicht unterstützt.
LoadBalancer-Services bekommen eine externe IP
EmpfohlenopenDesk nutzt standardmäßig Services vom Typ LoadBalancer (cluster.service.type). Ohne Implementierung bleiben sie pending — dann NodePort konfigurieren.
Selbst prüfen (lesend)
kubectl get svc -A --field-selector spec.type=LoadBalancerEXTERNAL-IP mit Adresse → passt. <pending> → keine LoadBalancer-Implementierung im Cluster.
Ports außerhalb des Ingress erreichbar: UDP 10000, TCP 30000, UDP 30001
EmpfohlenJitsi (UDP 10000) und Element Call über die MatrixRTC-SFU (TCP 30000, UDP 30001) laufen nicht über den Ingress. Die SFU braucht beide Protokolle auf einer IP.
TLS-Zertifikate
Zertifikat geklärt: cert-manager mit ClusterIssuer oder eigenes Secret opendesk-certificates-tls
PflichtopenDesk spricht nur HTTPS. cert-manager ist optional, dann muss das TLS-Secret selbst bereitliegen.
Selbst prüfen (lesend)
kubectl get clusterissuerIssuer mit READY True, Name passt zu certificate.issuerRef.name (Default letsencrypt-prod). Ohne cert-manager: Secret im Namespace vorhanden.
Storage
StorageClass für ReadWriteOnce vorhanden
PflichtDatenbanken, OpenLDAP, Dovecot und andere brauchen persistente Volumes. Ohne Default-Klasse muss sie in persistence.storageClassNames.RWO stehen.
Selbst prüfen (lesend)
kubectl get storageclassEine Klasse mit „(default)“ oder eine bewusst gewählte Klasse für die Konfiguration → passt.
Volume-Provisioner mit Sticky-Bit-Support — nicht local-path, kein NFS für RWO
PflichtOhne Sticky Bit scheitert laut openDesk-Doku der Seeder-Job von OpenProject. local-path-provisioner hat diese Unterstützung nicht, NFS ist für RWO nicht unterstützt.
Selbst prüfen (lesend)
kubectl get storageclass -o custom-columns=NAME:.metadata.name,PROVISIONER:.provisionerPROVISIONER rancher.io/local-path oder ein NFS-Provisioner als RWO-Klasse → nicht geeignet.
Optional: StorageClass für ReadWriteMany
OptionalNur nötig für verteilte Setups und horizontale Skalierung einzelner Komponenten.
Secrets
MASTER_PASSWORD erzeugt und sicher verwahrt — nicht im Git-Repository
PflichtopenDesk leitet daraus die meisten Secrets ab; es gibt keinen Default. Wer es verliert, kann die abgeleiteten Zugangsdaten nicht mehr reproduzieren. Einige Schlüssel — etwa der Synapse-Signierschlüssel, die MAS-Schlüssel und das TURN-Secret — kommen nicht daraus und müssen eigens gesichert werden.
Ressourcen und Registry
Mindestens 12 Kerne und 32 GB RAM frei — für Produktion deutlich mehr
PflichtDas ist die offizielle Untergrenze für eine Evaluierung. Für echte Nutzung siehe die Richtwerte im Infrastruktur-Planer.
Selbst prüfen (lesend)
kubectl describe nodesUnter „Allocatable“ minus „Allocated resources“ bleibt genug frei → passt.
Nodes erreichen registry.opencode.de und Docker Hub — oder eine private Registry
EmpfohlenCharts und Images kommen aus OCI-Registries. Bei häufigen Deployments droht das Docker-Hub-Rate-Limit; openDesk unterstützt dafür eine private Registry.
Backups und Betrieb
Backup-Konzept für Datenbanken, Objektspeicher, PVCs und Konfiguration
OptionalopenDesk liefert ein Inventar der Datenspeicher, aber kein Backup-Werkzeug. Rollback nach einem Update heißt: Restore aus dem Backup.
Monitoring mit Prometheus-Operator und eine Log-Aggregation
OptionalopenDesk bringt ServiceMonitors, Alerts und Dashboards mit (standardmäßig aus), aber keine Log-Aggregation.
Selbst prüfen (lesend)
kubectl get crd servicemonitors.monitoring.coreos.comCRD vorhanden → Prometheus-Operator installiert, openDesk-Monitoring lässt sich einschalten.
Häufige Fragen
Prüft das Tool meinen Cluster?
Nein, und es verbindet sich mit nichts. Du führst die lesenden Befehle selbst aus und markierst das Ergebnis als „Ja (geprüft)“. Wer ohne Befehl antwortet, wählt „Ja (Selbstauskunft)“ — das Urteil weist dann darauf hin.
Wie entsteht das Urteil?
Ein Pflichtpunkt mit „Nein“ ergibt „Nicht bereit“. Offene oder unklare Pflichtpunkte und nicht erfüllte Empfehlungen ergeben „Eingeschränkt“. „Bereit“ heißt: alle Pflichtpunkte erfüllt, keine Empfehlung verneint. Optionale Punkte zählen nicht.
Warum hat Produktion mehr Pflichtpunkte?
Für eine Evaluierung bringt openDesk Datenbanken, Objektspeicher und Mailserver selbst mit. Im Produktivbetrieb sind sie laut openDesk durch eigene, gesicherte Dienste zu ersetzen — dazu kommen Backups, Rechte und offene Ports für Videokonferenzen.
Werden meine Antworten gespeichert?
Nur in deinem Browser (localStorage), damit die Liste beim nächsten Besuch noch da ist. Nichts davon wird übertragen; über „Zurücksetzen“ löschst du den Stand.
Passende Tools
openDesk-Infrastruktur-Planer →
Nutzer, Nodes, CPU, RAM und Speicher eingeben: Abgleich mit den offiziellen openDesk-Mindestanforderungen, Richtwerte je Anwendung, Plausibilitätsprüfung und Checkliste — Annahmen klar markiert.
openDesk-Deployment-Konfigurator →
openDesk-Konfiguration erzeugen: Umgebung, Domain, Ingress, TLS, Storage, Apps und externe Datenbanken — nur dokumentierte Schlüssel, keine Passwörter, dazu Schritte und DNS-Einträge.
openDesk-Fehlerdiagnose →
Pods hängen, Ingress liefert 502, Login oder SSO scheitert, Video bleibt schwarz? Symptom wählen und lesende kubectl- und helm-Befehle mit Deutung abarbeiten — Ursachen als Hypothesen.