Produkte
Vier Fähigkeiten, ein Konto, eine Rechnung. Alles unten ist über die Konsole und über die API erreichbar, denn die Konsole ist selbst ein Client der API.
Websites und Deployments
Eine Website ist ein Name für eine Reihe von Deployments. Ein Deployment ist eine unveränderliche Dateimenge mit einer eigenen Kennung.
Hochladen veröffentlicht nicht. Sie laden die Dateien hoch und aktivieren dann das Deployment, und die Aktivierung tauscht die gesamte Menge auf einmal aus. Eine Anfrage, die während des Tauschs eintrifft, sieht entweder das vollständige alte Deployment oder das vollständige neue. Sie sieht nie eine Mischung, und sie sieht nie einen noch nicht abgeschlossenen Upload.
Rollback ist derselbe Vorgang, rückwärts ausgeführt. Jedes noch aufbewahrte Deployment kann atomar wieder aktiv gesetzt werden, ohne erneuten Upload. Die Zahl der aufbewahrten Deployments ist begrenzt, und ein Deployment jenseits der Grenze bleibt gelistet, verliert aber seinen Inhalt, sodass die Liste nie über das lügt, was wiederhergestellt werden kann.
Dateien laufen nie über unsere API. Der Client fordert eine kurzlebige Upload-Berechtigung an, die auf dieses Deployment beschränkt ist, und schreibt dann direkt in den Speicher. Die Dateianzahl und die Gesamtgröße werden beim Ausstellen der Berechtigung geprüft, nicht erst nachdem die Bytes angekommen sind.
Verzeichnisanfragen lösen zum Indexdokument dieses Verzeichnisses auf. Eine Website kann sich für ein Single-Page-App-Fallback entscheiden, bei dem ein nicht gefundener Pfad zum Wurzeldokument statt zu einem Fehler auflöst. Inhalte werden ausschließlich über HTTPS ausgeliefert; einfaches HTTP wird umgeleitet, nie ausgeliefert.
Domains und DNS
Registrieren Sie hier eine Domain, übertragen Sie eine, oder binden Sie eine ein, die anderswo registriert bleibt. Einbinden behält Ihren aktuellen Registrar. Übertragen macht uns zum Registrar. Beides gibt Ihnen dieselbe DNS-Verwaltung.
Sie sind der Registrant. Wir übermitteln die von Ihnen eingegebenen Kontaktdaten an die Registry und sind selbst nicht Eigentümer Ihrer Domain. Was die Registry über Sie veröffentlicht, hängt von der Top-Level-Domain und davon ab, ob Sie eine Person oder eine Organisation sind, und die Konsole nennt Ihnen, welcher der beiden Fälle gilt, bevor Sie zustimmen - nicht nachträglich in einem allgemeinen Nutzungsbedingungen-Dokument.
Beim Umzug einer Domain gehen Einträge verloren, weil niemand außerhalb einer Zone sie auflisten kann. Bevor Sie die Nameserver wechseln, fragt die Konsole das öffentliche DNS nach Ihren aktuellen Einträgen ab und füllt die Eintragstabelle vorab aus. Nichts wird geschrieben, bevor Sie speichern, sodass Sie einen Diff vor sich haben, den Sie korrigieren können. Das hat Grenzen, und die Seite nennt sie: ungewöhnliche Subdomain-Namen werden nicht gefunden, TTLs sind nicht auslesbar, und ein über einen Proxy laufender Name löst zum Proxy auf.
Jeder Eintrag in einer verwalteten Zone hat einen Eigentümer: Sie, oder eine benannte Plattformfunktion. Plattformeigene Einträge sind sichtbar, aber nicht bearbeitbar, und sie erscheinen oder verschwinden nur, wenn Sie die Funktion aktivieren oder deaktivieren, der sie gehören. Eine Funktion zu aktivieren, deren Einträge mit Ihren kollidieren würden, schlägt fehl und benennt die Kollision. Es gibt kein stillschweigendes Überschreiben.
E-Mail-Weiterleitung
Standardmäßig aus. Solange sie aus ist, gehören Ihnen die MX-Einträge, und wir empfangen keine E-Mail für Ihre Domain.
Das Einschalten überträgt die zum Empfang von E-Mail nötigen Einträge an uns und gibt Ihnen einen Catch-all oder benannte Aliase, die an eine Zieladresse weiterleiten. Ein Ziel bleibt inaktiv, bis dessen Inhaber auf eine Bestätigungsnachricht reagiert, sodass niemand Ihre E-Mail an eine Adresse lenken kann, die er nicht kontrolliert.
Eine weitergeleitete Nachricht wird erneut authentifiziert, als käme sie von uns, wobei der ursprüngliche Absender als Antwortadresse erhalten bleibt. Das bedeutet, Sie veröffentlichen nie Absenderauthentifizierungs- Einträge für uns auf Ihrer Domain, und es bedeutet auch, dass wir keine E-Mail als Ihre Domain versenden können. Beide Hälften dieses Tauschs sind Absicht.
Der Sende-Ruf wird pro Konto verfolgt. Der Schaden eines Kontos verschlechtert die Zustellung für niemand sonst, und einem Konto, das die Richtlinie verletzt, wird die Weiterleitung pausiert, statt es den Plattform-Ruf mitreißen zu lassen. Nachrichten mit positivem Spam- oder Malware-Befund werden verworfen, und die Verwürfe werden gezählt und Ihnen angezeigt, sodass sich Stille von Verlust unterscheiden lässt.
Die API
Jede Fähigkeit oben ist ein API-Endpunkt, und die Konsole ruft dieselben Endpunkte auf. Es gibt eine bewusste Ausnahme: Den Auth-Code abzurufen, der eine Domain überträgt, erfordert eine interaktive Sitzung mit kürzlicher erneuter Authentifizierung, und kein API-Schlüssel kann ihn erreichen. Domain-Diebstahl lässt sich nicht rückgängig machen, deshalb ist das der eine Ort, an dem Bequemlichkeit verliert.
API-Schlüssel tragen Scopes. Geheimnisse werden als Einweg-Hashes gespeichert, ein verlorener Schlüssel wird also ersetzt, nie wiederhergestellt. Jede verändernde Domain-Operation trägt einen Idempotenzschlüssel, und eine Wiederholung liefert das ursprüngliche Ergebnis zurück, statt den Seiteneffekt zu wiederholen, denn eine doppelte Registrierung ist Geld, das Sie nicht zurückbekommen.
Operationen, die nicht innerhalb einer Anfrage abschließen können, liefern eine Kennung zurück und legen den Zustand auf der Ressource selbst ab. Clients fragen die Ressource ab, nicht die Operation, was es einem Infrastructure-as-Code-Provider erlaubt, zu konvergieren, ohne Operationsverweise über Läufe hinweg zu behalten.
Was mosswood nicht ist
- Es führt keinen Code aus. Es gibt keine Anwendungslaufzeit, keine Datenbank, keinen Container. Es liefert Dateien aus, und es ist so bepreist, dass es Dateien ausliefert.
- Es verhandelt nicht. Jedes Konto bekommt dieselbe Preistabelle.
- Es hält Ihre Domain nicht als Geisel. Der Auth-Code gehört Ihnen auf Abruf, und eine Übertragung ist ein normaler Vorgang statt eines Support-Tickets.