gooddeploy
Handbuch · Kapitel 7

Rechte

Jeder Zugangscode hat Rechte je Projekt. So kann eine Kollegin bei einem Kunden alles dürfen und bei einem anderen nur lesen, und dein Kunde kann seine Previews ansehen, ohne live schalten zu können.

Die Rechte

Rechterlaubt
readstatus, ls, projects ls, inspect, launch, open, logs, env ls, db info und den Passwortschutz anzeigen (protect ohne --env)
deploydeploy, ein neues Projekt anlegen (link, erstes deploy), rm von Previews, laufenden, fehlgeschlagenen oder abgebrochenen Deployments, Umgebungsvariablen setzen und löschen (env add, env rm), Checks melden (checks report) und Freigabelinks für Previews erzeugen (share)
read:sensitiveGeheimnisse lesen: Werte der Umgebungsvariablen (env pull, inspect --values) und den Dump der Live-Datenbank (db dump)
promotepromote und rollback
settingsEinstellungen des Projekts: den Passwortschutz setzen und aufheben (protect --env …, protect off --env …) und alle Freigabelinks widerrufen (share revoke)
removerm von Previews und auch von früheren Live-Versionen
adminalles auf dem Projekt, auch projects rm

Dazu gilt:

  • admin umfasst alle anderen Rechte, aber nur auf den Projekten, für die es vergeben ist.
  • Die aktuelle Live-Version lässt sich mit keinem Recht per rm entfernen (siehe Aufräumen).
  • login, logout, whoami und tokens gehen mit jedem gültigen Zugangscode (tokens nur mit einer Anmeldung per E-Mail und nur für deine eigenen Zugänge); link braucht für ein bestehendes Projekt nur read.

Die Rechte bauen nicht aufeinander auf: Wer promote hat, darf deshalb nicht automatisch deploy. Typisch sind Kombinationen wie:

WerRechte
Kunde, der Previews abnimmtread
Entwickler im Projektread, deploy, promote
Projektleitungzusätzlich settings und remove
Verantwortliche der Agenturadmin

Welche Rechte habe ich?

gooddeploy whoami

zeigt deinen Namen und je Projekt deine Rechte, nach einer Anmeldung per E-Mail (kommt später) auch Adresse, Ablauf der Anmeldung, dein Team und deine weiteren Teams mit deiner Rolle darin, z. B.:

 Anna
  Server      https://api.gooddeploy.de
  E-Mail      anna@agentur.de
  Gültig bis  14.01.2027
  Team        Agentur Nord (owner)
  Projekte    kunde-website lesen, deployen, promoten/zurückrollen

Mit --json kommen dieselben Angaben maschinenlesbar (scopes, projects, grants, nach einer Anmeldung per E-Mail auch userEmail, expiresAt, team und teams). Deine Rechte gelten immer im Team deiner Anmeldung; für ein anderes Team gibst du --team <name> an bzw. meldest dich einmal mit gooddeploy login --team <name> an (siehe Mehrere Teams).

Nach einer Anmeldung per E-Mail stehen dort zum Beispiel Team Agentur Nord (owner) und Weitere Teams Kunde Süd (member). Die Rolle sagt, wer im Team welche Verantwortung hat:

  • owner: Wer als Erstes ins Team kam; hat alle Rechte des Teams. Jedes Team hat mindestens einen owner.
  • admin: Hat dieselben Rechte im Team wie ein owner.
  • member: Arbeitet mit den Rechten je Projekt, die whoami darüber zeigt.

Rollen vergibt heute goodDEV; ändern kannst du sie selbst noch nicht (kommt später).

Rechte aus der Anmeldung per E-Mail

Meldest du dich mit gooddeploy login an, bekommt dein Zugang die Rechte deiner Rolle auf allen Projekten des Teams:

RolleRechte nach der Anmeldung
owner, adminadmin: alles, auch projects rm
memberread, deploy, promote, read:sensitive und settings (Passwortschutz setzen und aufheben, Freigabelinks widerrufen); nicht remove und admin

Ein Zugang behält die Rechte, die er bei der Anmeldung bekommen hat. Ändern sich die Rechte deiner Rolle (z. B. weil goodDEV dich zum admin macht oder weil eine neue Version von gooddeploy einer Rolle mehr Rechte gibt), melde dich neu an, damit dein Zugang sie bekommt:

gooddeploy login --team <name>

gooddeploy whoami zeigt danach die neuen Rechte. Ein Zugangscode, den goodDEV für dich eingerichtet hat (z. B. für die CI über GOODDEPLOY_TOKEN), ändert sich durch eine Anmeldung nicht.

Wenn ein Recht fehlt

Fehlt dir ein Recht, bricht der Befehl mit SCOPE_MISSING ab (Exit-Code 3). Die Meldung nennt genau das fehlende Recht und das Projekt, z. B.:

╭─  FEHLER  ──────────────────────────────────────────╮
│ ✗ Recht "settings" für Projekt kunde-website fehlt. │
╰─────────────────────────────────────────────────────╯
  → Ein Admin kann dir das Recht "settings" auf kunde-website geben; gooddeploy whoami zeigt deine Rechte.
  Code SCOPE_MISSING · Exit 3

Gibt deine Rolle im Team das fehlende Recht beim Anmelden, ist dein Zugang älter als die Rechte deiner Rolle. Dann sagt gooddeploy das statt des Hinweises auf einen Admin, z. B.:

  → Deine Rolle (owner) erlaubt das – melde dich neu an: gooddeploy login --team 'Agentur Nord'

Lässt sich deine Rolle nicht ermitteln, ergänzt gooddeploy den Hinweis allgemein: „Bist du owner oder admin im Team, melde dich neu an: …“. Mit GOODDEPLOY_TOKEN gibt es diesen Hinweis nicht, weil eine Anmeldung diesen Zugang nicht ändert.

Projekte, für die dein Zugangscode gar nicht freigegeben ist, meldet gooddeploy als NOT_FOUND, genau wie Projekte, die es nicht gibt. So verrät die Antwort nicht, welche Projekte andere Kunden haben.

Wer vergibt die Rechte?

  • Heute: goodDEV. Schreib uns, wer welche Rechte auf welchem Projekt braucht; wir richten den Zugangscode ein oder erweitern ihn. Erweitert goodDEV einen eigens eingerichteten Zugangscode, gelten die neuen Rechte sofort. Ändert sich deine Rolle im Team, melde dich neu an (siehe Rechte aus der Anmeldung per E-Mail).
  • Später: Du vergibst Rechte selbst im Dashboard und lädst Kolleginnen, Kollegen und Kunden per Einladung ein. Dashboard und Einladungen kommen später.