Mehr als eine Person, ohne dass alle alles sehen
Betreiber, Benutzer und Gäste. Bretter sind privat, bis sie geteilt werden, und geteilt wird an eine Person oder an eine ganze Rolle, zum Ansehen, zum Ändern oder zum Handeln.
Drei Rollen, drei Stufen beim Teilen
Die Rolle sagt, was jemand in der Installation darf. Was jemand mit einem einzelnen Brett darf, sagt das Teilen.
| Rolle | Eigene Bretter | Anbindungen | Konten und Instanz |
|---|---|---|---|
| Betreiber | bauen und teilen | anlegen und ändern | ja |
| Benutzer | bauen und teilen | ansehen, nicht ändern | nein |
| Gast | nur was geteilt wurde | nein | nein |
Beim Teilen
- Ansehen. Das Brett und seine lebenden Daten, sonst nichts.
- Ändern. Karten verschieben, hinzufügen, einstellen.
- Handeln. Die Knöpfe auf den Karten wirken auch wirklich.
Warum die Anbindungen für jedes angemeldete Konto lesbar sind: Wenn eine Karte rot wird, ist die erste Frage, an welcher Adresse sie hängt. Sie zu ändern bleibt beim Betreiber, und eine einzelne Anbindung lässt sich mit einem Haken ganz für Benutzer sperren.
Getrennte Einstellungen
Was einer Person gehört, liegt unter „Meine Einstellungen": Profil, eigene Bretter, eigene Benachrichtigungswege, eigene Token. Was der Installation gehört, liegt unter „System": Anbindungen, Konten, Mailserver, Aussehen.
Der Betreiber sieht in seiner Brettliste seine eigenen und die ihm geteilten. Dass er jedes Brett im Haus öffnen darf, heißt nicht, dass alle darin herumliegen; ein Schalter über der Liste zeigt sie, wenn er sie wirklich will.
Lokal, über den eigenen Anbieter, oder mit einem Token
Lokale Konten
Name und Kennwort, ein Bild dazu, eine Adresse für vergessene Kennwörter. Der Betreiber kann ein Kennwort neu setzen, ohne das alte zu kennen; alle Sitzungen dieses Kontos enden damit.
OpenID Connect
Daneben, nicht statt. Erprobt mit authentik, Keycloak, Authelia und Pocket ID. Wer im Haus schon einen Anbieter betreibt, hängt nexdeck daran.
Persönliche Token
Für Skripte und andere Werkzeuge. Sie gehören einem Konto, sie laufen ab, sie lassen sich einzeln zurückziehen, und beim Kennwortwechsel sterben sie.
Kennwortraten wird nicht nur nach Herkunftsadresse gezählt, sondern auch je Konto. Hinter einem Reverse Proxy ist die Adresse das, was ein Kopfzeilenfeld behauptet, und die lässt sich mit jedem Versuch neu erfinden.
Was geklickt wurde, lässt sich versionieren
Jedes Brett geht als YAML heraus und wieder herein, auf derselben oder einer anderen Installation. Die Geheimnisse bleiben, wo sie sind: Ein Zugang wird als Verweis auf eine Umgebungsvariable geschrieben, nicht als Wert.
Eine Datei unter data/boards/ legt beim Start ein Brett an. Damit lässt sich eine Installation aus dem Git heraus aufsetzen, und ein Umzug ist eine Datei statt eines Nachmittags.
Karten verweisen auf Anbindungen über ihren Namen. Beim Einlesen wird eine vorhandene Anbindung mit diesem Namen wiederverwendet, sonst eine neue angelegt.
Ein Import über die Oberfläche legt keine Anbindungen an und löst keine Variablen auf. Das darf nur der Weg über die Dateien, den der Betreiber selbst in der Hand hat. Sonst könnte jedes Mitglied ein Brett hochladen, dessen Anbindung nach dem Hauptschlüssel der Installation fragt, und ihn danach in der Liste ablesen.
# Auszug aus einem ausgeführten Brett board: name: Medien slug: medien pages: - name: Überblick widgets: - kind: radarr.queue title: Radarr integration: Filme integrations: - name: Filme kind: radarr config: url: http://radarr:7878 api_key: ${NEXDECK_RADARR_1_API_KEY}