Dokumentation / Teams und Agenturen
Arbeiten mit Kunden
Wie Agenturen und Odoo-Partner viele Kunden aus einem calmo.cloud-Team heraus betreiben: ein Server pro Kunde, geteilte Dienste mit Rollen, Vorlagen und die API.
Agenturen betreiben Odoo für viele Kunden gleichzeitig. In calmo.cloud ist das ein Team für die Agentur, das die Server und Dienste aller Kunden hostet, dazu geteilte Dienste für Kunden, die Zugriff auf ihr eigenes Odoo brauchen, und Provisionierungs-Vorlagen für ein wiederholbares Onboarding.
Ein Team, alle Kunden #
Das Team deiner Agentur ist der Arbeitsbereich für alle deine Kunden: ihre Server, Dienste, Repositories, Backup-Ziele und deine Mitarbeiter liegen dort. Kunden bekommen keine Teams von dir; das Team eines Kunden ist das Team seiner eigenen Organisation, das calmo.cloud beim Onboarding anlegt, und es sieht immer nur das, was du damit teilst.
Ein paar Gewohnheiten halten ein großes Portfolio übersichtlich:
- Ein Server pro Kunde. Das Odoo eines Kunden, seine Datenbank und seine Dateien liegen dann auf einer Maschine, die nur diesen Kunden trägt. Das trennt Daten sauber und macht es einfach, dass der Kunde den Server selbst besitzt und bezahlt. Mehrere Dienste desselben Kunden (Produktion, eine Testkopie) teilen sich diesen Server.
- Nach Kunde benennen. Server und Dienste tragen den Namen des Kunden, damit die Listen auch bei Dutzenden Kunden lesbar bleiben.
- Backups in den Speicher des Kunden. Wo der Kunde es möchte, ergänzt du ein zweites Backup-Ziel in S3-Speicher, der dem Kunden gehört.
Innerhalb deines Teams entscheiden Rollen, wer das Team selbst verwalten darf. Sie begrenzen nicht, was ein Mitglied mit Servern und Diensten tun kann: Jedes Mitglied deines Teams kann Server hinzufügen, Dienste erstellen, Addons deployen und Backups anlegen.
- Owner — die Person, die calmo.cloud beim Anlegen des Teams eingeladen hat. Ändert Rollen und ist das einzige Mitglied, das nicht entfernt werden kann. Es gibt genau eines.
- Admin — lädt zusätzlich Mitglieder ein und entfernt sie, verwaltet API-Tokens und teilt Dienste mit anderen Teams. Die richtige Rolle für deine Consultants.
- Member — arbeitet mit Servern und Diensten wie alle anderen, ohne Mitglieder, Tokens oder Freigaben anzufassen.
Weil jedes Mitglied die Server aller Kunden erreicht, ist das Team nur für deine eigenen Mitarbeiter. Kunden bekommen Zugriff über Freigaben, nie über eine Mitgliedschaft.
Einem Kunden Zugriff geben #
Teile den Dienst mit dem eigenen Team des Kunden. Das Team des Kunden sieht den Dienst in seiner eigenen Liste und arbeitet damit, so weit es die von dir gewählte Rolle erlaubt:
- Viewer sieht den Dienst, seinen Status und seine Logs
- Operator startet, stoppt, startet neu und redeployt zusätzlich und erstellt und lädt Backups herunter
- Developer bearbeitet zusätzlich Einstellungen, erstellt Kopien, verwaltet Addons und Module, öffnet das Terminal und führt Skripte aus
- Manager stellt zusätzlich Backups wieder her und verwaltet Hostnamen
Dein Team bleibt das Hosting-Team: Der Kunde erhält nie Zugriff auf deinen Server, deine anderen Kunden oder deine Team-Einstellungen, und du kannst die Rolle jederzeit ändern oder entziehen. Operator ist die übliche Wahl für einen Kunden, der sein Odoo neu starten und Backups herunterladen möchte, ohne etwas ändern zu können.
Sharing wird Team für Team ausgerollt. Siehst du noch keinen Sharing-Tab an deinen Diensten, melde dich bei uns, und wir schalten es frei. Ein Kunde ohne eigenes calmo.cloud-Team bekommt eines beim Onboarding; melde dich bei uns, und wir richten es ein.
Wiederholbares Onboarding #
Definiere deinen Standard-Stack einmal als Provisionierungs-Vorlage: die Servergröße bei deinem Cloud-Anbieter, Postgres und Traefik, die Odoo-Version, die Addon-Repositories und die Backup-Ziele. Die Vorlage auszuführen richtet dann einen neuen Kunden in einem Zug ein.
Hat ein Kunde bereits ein bestehendes Odoo, folge der Migrationsanleitung, die zu seinem aktuellen Hoster passt: Odoo.sh, Odoo Online oder ein anderer Hoster.
Die Flotte gesund halten #
- Backups — gib jedem Dienst einen Zeitplan und, wo der Kunde es möchte, ein zweites Ziel in Speicher, den der Kunde selbst besitzt.
- Monitoring — Uptime-Checks und Server-Metriken pro Dienst und Server, mit Benachrichtigungen an die Kanäle, die dein Team beobachtet.
- Sicherheit — die Sicherheitschecks melden Standardpasswörter, offengelegte Datenbank-Manager und HTTPS-Probleme bei jedem Dienst, damit du davon erfährst, bevor der Kunde es tut.
- Vorschauen — mit Vorschau-Deployments bekommt jeder Pull Request auf einem Kundenprojekt eine neutralisierte Odoo-Kopie, die der Kunde prüfen kann, bevor du mergst.
Die Routine automatisieren #
Alles oben Genannte steht über die REST-API zur Verfügung. Agenturen skripten typischerweise die wiederkehrenden Teile: einen Dienst aus einer Vorlage erstellen, ein Repository anhängen, ein Backup importieren, einen Hostnamen hinzufügen, oder den Status der Dienste aller Kunden für ein eigenes Dashboard sammeln.