Zum Inhalt springen

Datenexport und Portabilität

Ihr Code und Ihre Daten gehören Ihnen. Canvas ist so gebaut, dass Sie jederzeit alles herausnehmen können, in Standardformaten, die Sie anderswo betreiben können. Diese Seite erklärt die drei Wege, Ihren Code herauszubekommen, wie Sie Ihre Anwendungsdaten exportieren und wie ein vollständiger Eject funktioniert, wenn Sie ganz gehen möchten.

Jede App, die Sie auf Canvas bauen, hat ein Standard-Git-Repository mit Ihrer vollständigen Historie. Dieses Repository liegt auf der internen Git-Infrastruktur von Canvas, die wir aus Sicherheitsgründen intern halten und nicht direkt für Kunden zugänglich machen. Stattdessen gibt Ihnen Canvas drei vollwertige Wege, eine komplette Kopie Ihres Codes zu erhalten, die jeweils ein gewöhnliches Git-Repository erzeugen, das Sie überall lesen, betreiben oder hosten können:

  • Ein ZIP-Archiv des Repositorys einer einzelnen App auf Abruf herunterladen.
  • Ein Repository spiegeln auf Ihren eigenen Git-Host (GitHub, GitLab und Ähnliche), automatisch synchron gehalten.
  • Die gesamte Organisation ejecten, wenn Sie alle Repositories auf einmal als Teil des Verlassens möchten (siehe Canvas verlassen).

Der Code, den Sie erhalten, ist in jedem Fall sauber und eigenständig. Er enthält Ihre Anwendung und nichts weiter: keine Verweise auf die Canvas-Plattform, keine proprietäre Laufzeitumgebung, keine versteckten Abhängigkeiten zu unseren Werkzeugen.

Verwenden Sie dies für eine schnelle, vollständige Kopie des Codes einer App.

  1. Öffnen Sie die App und gehen Sie zu ihren Einstellungen.
  2. Suchen Sie Repository herunterladen und starten Sie den Export.
  3. Canvas erstellt ein ZIP-Archiv und stellt es Ihnen zum Download bereit.

Das Archiv enthält das .git-Verzeichnis des Repositorys, sodass Sie die vollständige Commit-Historie erhalten, nicht nur eine Momentaufnahme der neuesten Dateien. Entpacken Sie es, und es ist sofort ein funktionierendes Git-Repository: Führen Sie git log aus, erstellen Sie Branches oder pushen Sie es auf einen anderen Host.

Ein Repository auf Ihren eigenen Git-Host spiegeln

Abschnitt betitelt „Ein Repository auf Ihren eigenen Git-Host spiegeln“

Verwenden Sie dies, wenn Ihr Code fortlaufend in Ihrem eigenen GitHub, GitLab oder einem anderen Git-Host landen soll. Canvas pusht jede Änderung einmal täglich in Ihr Repository, sodass Ihr Spiegel ohne manuelle Schritte aktuell bleibt.

  1. Erstellen Sie auf Ihrem eigenen Git-Host ein leeres Repository, das den Spiegel aufnimmt.
  2. Öffnen Sie in den Einstellungen der App den Punkt Push-Mirror.
  3. Kopieren Sie den dort angezeigten Public Key. Dieser Schlüssel ist einzigartig für Ihre Plattform und weist Canvas gegenüber Ihrem Git-Host aus.
  4. Fügen Sie diesen Schlüssel Ihrem Ziel-Repository als Deploy Key mit Schreibrecht hinzu (bei GitHub unter Settings, dann Deploy keys; bei GitLab unter Settings, dann Repository, dann Deploy keys).
  5. Fügen Sie die URL Ihres Ziel-Repositorys in die Push-Mirror-Einstellung ein und speichern Sie.

Canvas spiegelt das Repository dann einmal täglich auf Ihren Host. Eine Sync-Status-Ansicht listet jeden ausgeführten Sync-Job mit Ergebnis und Zeitstempel auf und zeigt den Fehler an, wenn ein Job fehlschlägt, etwa wenn Schlüssel oder URL falsch konfiguriert sind. Sie können einen Sync dort auch jederzeit manuell erneut ausführen.

Jede Ihrer Apps läuft gegen Backing-Services, die allein Ihnen gehören: eine PostgreSQL-Datenbank, ein Objektspeicher und ein Cache, bereitgestellt pro Umgebung. Weil sie Ihrer Organisation fest zugeordnet sind, werden Ihre Daten nie mit denen eines anderen Kunden vermischt.

Sie können die Inhalte dieser Services in Standardformaten exportieren: einen SQL-Dump der Datenbank und die rohen Objekte aus dem Objektspeicher. Der Export umfasst jede Umgebung, sodass die Daten aus Entwicklung, Staging und Produktion zusammen herauskommen.

Wenn Sie ganz gehen möchten, ejecten Sie Ihre Organisation. Das ist der dritte Weg, Ihren Code herauszubekommen, und der Anfang eines sauberen Abschieds.

  1. Ein Org-Admin oder eine Führungskraft öffnet die Einstellungen der Organisation.
  2. Wählen Sie Organisation ejecten.
  3. Canvas verpackt jedes Repository über alle Ihre Apps hinweg (als Standard-Git-Repositories mit vollständiger Historie) in ein einziges organisationsweites Archiv, zusammen mit Ihren Anwendungsdaten.
  4. Sobald das Paket bereit ist, gibt Canvas Ihnen einen sicheren, zeitlich begrenzten Download-Link. Der Link läuft nach einem kurzen Zeitfenster ab, damit der Export privat bleibt.

Sobald Sie Ihre Kopie haben, baut Canvas Ihren Fußabdruck ab: Wir entfernen Ihre Repositories, Ihre isolierten Umgebungen und Ihre Backing-Services, sodass nichts von Ihnen auf unserer Infrastruktur zurückbleibt. Weil der Code eigenständig ist und die Daten in Standardformaten vorliegen, können Sie dieselben Anwendungen auf Ihrer eigenen Infrastruktur oder einem anderen Host wieder hochfahren.

All das läuft auf Servern in Deutschland und wird im Einklang mit der DSGVO verarbeitet. Ihr Code und Ihre Daten verlassen diesen Rahmen nie, ob sie in Canvas liegen oder in einem Export herauswandern.